aws-iam-authenticator
api
aws-iam-authenticator | api | |
---|---|---|
9 | 8 | |
2,144 | 624 | |
0.8% | 1.8% | |
8.2 | 9.2 | |
7 days ago | 3 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
aws-iam-authenticator
-
A Step-by-Step Guide to Easily Deploying EKS Infrastructure and Applications Using Terraform
curl -Lo aws-iam-authenticator https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v0.5.9/aws-iam-authenticator_0.5.9_linux_amd64 chmod +x ./aws-iam-authenticator mkdir -p $HOME/bin && cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$PATH:$HOME/bin echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc
-
Ask r/kubernetes: What are you working on this week?
I will be setting up vcluster to work with aws-iam-authenticator. This should work just by following the readme, so I'll be spending extra time automating the setup.
-
Using client-go to `kubectl apply` against the Kubernetes API directly with multiple types in a single YAML file
Edit: Because I need to do this for more than one cluster and am creating clusters programmatically (AWS EKS API + CloudFormation/eksctl), I would like to minimize the overhead of creating ServiceAccounts across many cluster contexts, across many AWS accounts. Ideally, the only authentication step involved in creating my clientset is using aws-iam-authenticator to get a token using cluster data (name, region, CA cert, etc). There hasn't been a release of aws-iam-authenticator for a while, but the contents of master allow for the use of a third-party role cross-account role and external ID to be passed. IMO, this is cleaner than using a ServiceAccount (and IRSA) because there are other AWS services the application (the backend API which creates and applies add-ons to these clusters) needs to interact with.
-
Five Dex Alternatives for Kubernetes Authentication
Access to Kubernetes clusters in Amazon EKS is controlled by the AWS IAM Authenticator for Kubernetes. The authenticator runs on the EKS control plane and depends on the aws-auth ConfigMap for configuration settings. Every time you use kubectl to perform actions on the EKS cluster, the AWS IAM Authenticator generates an STS token (AWS Security Token Service). Kubernetes uses the IAM authenticator service to verify the identity of users specified in this security token.
-
Launch HN: Infra (YC W21) – Open-source access management for Kubernetes
As someone who is a big fan of Teleport, sorry, I just don't get it.
> Teleport doesn't provide identity provider integrations beyond GitHub (e.g. Okta) in their open source project
Right, and if you're a small team (5-10 people, like you're targeting) you don't really need SSO on the infra layer. It's a nice to have, it's best practice, but the truth is, by the time you really need it (enough engineers that account management is a pain), you typically have the budget for an Enterprise license.
> They have a different architecture that involves deploying a centralized proxy service (whereas Infra verifies credentials at the destination infrastructure vs at a central proxy).
So anyway you need to deploy something central to issue certificates. And anyway, if, to quote you, "We plan to make money by running a managed service version of Infra so teams don’t need to host and upgrade Infra manually.", isn't that the central proxy service? Yet the open-source version avoids it somehow?
> We plan to make money by running a managed service version of Infra so teams don’t need to host and upgrade Infra manually
So you want to sell to teams that a) are too small to afford the license for a product like Teleport Enterprise, b) have enough money that they can afford a premium product above and beyond the free offering provided by their Kubernetes vendor, like https://github.com/kubernetes-sigs/aws-iam-authenticator (for EKS), c) are willing to install and maintain another agent on their cluster (infra), but aren't willing to install and maintain the central proxy point?
> we've designed Infra around an extensible REST API from the start whereas Teleport uses GRPC.
This isn't really important from a product perspective. For what it's worth, Teleport started with a REST API; they moved to gRPC because, if I recall correctly, gRPC helped them scale to support larger infrastructure better.
If you're launching a competing product to Teleport, which is now by far the most mature product in the space, then currently, at least from where I'm sitting, you aren't offering sufficient added value compared to the incumbent offerings, which also include CloudFlare Access, Checkpoint Harmony Connect SASE, Hashicorp Boundary (their offerings aren't quite Kubernetes native, but it's the same idea)...
-
Kubernetes Multi-Cluster Part 3: Authentication and Access Control
If you’re looking for a cloud provider that caters to identity and access management, then tools like aws-iam-authenticator (AWS) and Anthos Identity Service (Google) are good places to start.
-
Kubernetes Cluster Authentication using AWS IAM
AWS IAM Authenticator.
- EKS, grupos IAM, "dono do cluster" e system:masters
-
EKS Auth Deep Dive
aws-auth configmap is based on aws-iam-authenticator and has several configuration options:
api
-
Exemple of Web API written in Go that you'd consider high quality
Good point, here it is https://github.com/kubernetes/api
-
alternative to kubectl explain?
Better is probably subjective, but you have options. You can run the doc website locally (https://github.com/kubernetes/website) or search the API definitions directly (https://github.com/kubernetes/api). Good ol `git grep` I suppose.
-
Using client-go to `kubectl apply` against the Kubernetes API directly with multiple types in a single YAML file
I understand that I need to do some (un)marshalling of the YAML bytes into the correct API types defined in package: https://github.com/kubernetes/api
-
Why isn't there a good/standard C++ API for kubernetes
Despite that though, someone was generous enough to ensure that there are protobuf files laying around for us to use.
-
Implementing a simple K8s admission controller in Go
Then we have to create the admissionHandler to receive all the requests from our webhooks. These requests are coming with a JSON-encoded AdmissionReview (with the Request field filled) in the request body. The response should be a JSON AdmissionReview with the Response field filled.
-
5 Time saving things about client-go, I didn't know!
k8s.io/client-go isn’t enough to talk to kubernetes API, you need k8s.io/api and k8s.io/apimachinery too You have to match their versions for it to all work! See the client-go versioning for simple instructions!
-
Validating Admission Requests in a Validating Admission Webhook
You can find the definitions of the AdmissionReview object in k8s.io/api repository.
-
Parsing Admission Requests in a Validating Admission Webhook
Note how I am just using the upstream AdmissionReview type from k8s.io/api/admission/v1 here. You can find other Kubernetes types in the k8s.io/api repo as well.
What are some alternatives?
aws-vault - A vault for securely storing and accessing AWS credentials in development environments
kubectl-explore - A better kubectl explain with the fuzzy finder
dex - OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors
kubernetes - Production-Grade Container Scheduling and Management
iam-policy-json-to-terraform - Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document
apimachinery
aws-ebs-csi-driver - CSI driver for Amazon EBS https://aws.amazon.com/ebs/
cert-manager - Automatically provision and manage TLS certificates in Kubernetes
aws-efs-csi-driver - CSI Driver for Amazon EFS https://aws.amazon.com/efs/
c - Official C client library for Kubernetes
audit2rbac - Autogenerate RBAC policies based on Kubernetes audit logs
skipper - An HTTP router and reverse proxy for service composition, including use cases like Kubernetes Ingress