aws-iam-authenticator VS enhancements

Compare aws-iam-authenticator vs enhancements and see what are their differences.

aws-iam-authenticator

A tool to use AWS IAM credentials to authenticate to a Kubernetes cluster (by kubernetes-sigs)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
aws-iam-authenticator enhancements
9 58
2,144 3,270
0.8% 1.1%
8.2 9.7
7 days ago 4 days ago
Go Go
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of aws-iam-authenticator. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-04.
  • A Step-by-Step Guide to Easily Deploying EKS Infrastructure and Applications Using Terraform
    2 projects | dev.to | 4 Feb 2024
    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?
    2 projects | /r/kubernetes | 31 Oct 2022
    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
    6 projects | /r/codehunter | 14 Aug 2022
    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
    6 projects | dev.to | 16 Jun 2022
    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
    4 projects | news.ycombinator.com | 17 May 2022
    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
    4 projects | dev.to | 9 May 2022
    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
    1 project | dev.to | 9 Feb 2022
    AWS IAM Authenticator.
  • EKS, grupos IAM, "dono do cluster" e system:masters
    2 projects | dev.to | 2 Feb 2022
  • EKS Auth Deep Dive
    1 project | dev.to | 17 Sep 2021
    aws-auth configmap is based on aws-iam-authenticator and has several configuration options:

enhancements

Posts with mentions or reviews of enhancements. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-19.
  • IBM to buy HashiCorp in $6.4B deal
    1 project | news.ycombinator.com | 25 Apr 2024
    > was always told early on that although they supported vault on kubernetes via a helm chart, they did not recommend using it on anything but EC2 instances (because of "security" which never really made sense their reasoning).

    The reasoning is basically that there are some security and isolation guarantees you don't get in Kubernetes that you do get on bare metal or (to a somewhat lesser extent) in VMs.

    In particular for Kubernetes, Vault wants to run as a non-root user and set the IPC_LOCK capability when it starts to prevent its memory from being swapped to disk. While in Docker you can directly enable this by adding capabilities when you launch the container, Kubernetes has an issue because of the way it handles non-root container users specified in a pod manifest, detailed in a (long-dormant) KEP: https://github.com/kubernetes/enhancements/blob/master/keps/... (tl;dr: Kubernetes runs the container process as root, with the specified capabilities added, but then switches it to the non-root UID, which causes the explicitly-added capabilities to be dropped).

    You can work around this by rebuilding the container and setting the capability directly on the binary, but the upstream build of the binary and the one in the container image don't come with that set (because the user should set it at runtime if running the container image directly, and the systemd unit sets it via systemd if running as a systemd service, so there's no need to do that except for working around Kubernetes' ambient-capability issue).

    > It always surprised me how these conversations went. "Well we don't really recommend kubernetes so we won't support (feature)."

  • Exploring cgroups v2 and MemoryQoS With EKS and Bottlerocket
    7 projects | dev.to | 19 Feb 2024
    0 is not the request we've defined. And that makes sense. Memory QoS has been in alpha since Kubernetes 1.22 (August 2021) and according to the KEP data was still in alpha as of 1.27.
  • Jenkins Agents On Kubernetes
    7 projects | dev.to | 4 Sep 2023
    Note: There's actually a Structured Authentication Config established via KEP-3331. It's in v1.28 as a feature flag gated option and removes the limitation of only having one OIDC provider. I may look into doing an article on it, but for now I'll deal with the issue in a manner that should work even with a bit older versions versions of Kubernetes.
  • Isint release cycle becoming a bit crazy with monthly releases and deprecations ?
    2 projects | /r/kubernetes | 11 Jul 2023
    Kubernetes supports a skew policy of n+2 between API server and kubelet. This means if your CP and DP are both on 1.20, you could upgrade your control plane twice (1.20 -> 1.21 -> 1.22) before you need to upgrade your data plane. And when it comes time to upgrade your data plane you can jump from 1.20 to 1.22 to minimize update churn. In the future, this skew will be opened to n+3 https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/3935-oldest-node-newest-control-plane
  • Kubernetes SidecarContainers feature is merged
    7 projects | news.ycombinator.com | 10 Jul 2023
    The KEP (Kubernetes Enhancement Proposal) is linked to in the PR [1]. From the summary:

    > Sidecar containers are a new type of containers that start among the Init containers, run through the lifecycle of the Pod and don’t block pod termination. Kubelet makes a best effort to keep them alive and running while other containers are running.

    [1] https://github.com/kubernetes/enhancements/tree/master/keps/...

  • What's there in K8s 1.27
    1 project | dev.to | 4 Jun 2023
    This is where the new feature of mutable scheduling directives for jobs comes into play. This feature enables the updating of a job's scheduling directives before it begins. Essentially, it allows custom queue controllers to influence pod placement without needing to directly handle the assignment of pods to nodes themselves. To learn more about this check out the Kubernetes Enhancement Proposal 2926.
  • Dependencies between Services
    1 project | /r/kubernetes | 6 Apr 2023
    What your asking is a (vanilla) Kubernetes non-goal, others have mentioned fluxcd and other add ons that provide primitives for dependency aware deployments. The problem space is so large, that it's unreasonable to to address these concerns in Kubernetes itself, instead, make it extensible... Look at this KEP for example: https://github.com/kubernetes/enhancements/issues/753 Sidecar containers have existed, and been named as such since WAY before that KEP's inception, defining what these things should and shouldn't do is largely arbitrary. Aka: your use-case is niche, if you don't like the behavior, use flux or argo, or write something yourself.
  • When you learn the Sidecar Container KEP got dropped from the Kubernets release. Again.
    2 projects | /r/kubernetes | 6 Apr 2023
  • Kubernetes 1.27 will be out next week! - Learn what's new and what's deprecated - Group volume snapshots - Pod resource updates - kubectl subcommands … And more!
    2 projects | /r/kubernetes | 4 Apr 2023
    If further interested, I may recommend checking out the KEP. I love how they document the decision making, and all these edge cases :).
  • How can I force assign an IP to my Load Balancer ingress in “status.loadBalancer”?
    1 project | /r/kubernetes | 4 Apr 2023
    See https://kubernetes.io/docs/reference/kubectl/conventions/#subresources and https://github.com/kubernetes/enhancements/issues/2590

What are some alternatives?

When comparing aws-iam-authenticator and enhancements you can also consider the following projects:

aws-vault - A vault for securely storing and accessing AWS credentials in development environments

kubeconform - A FAST Kubernetes manifests validator, with support for Custom Resources!

dex - OpenID Connect (OIDC) identity and OAuth 2.0 provider with pluggable connectors

spark-operator - Kubernetes operator for managing the lifecycle of Apache Spark applications on Kubernetes.

iam-policy-json-to-terraform - Small tool to convert an IAM Policy in JSON format into a Terraform aws_iam_policy_document

kubernetes-json-schema - Schemas for every version of every object in every version of Kubernetes

aws-ebs-csi-driver - CSI driver for Amazon EBS https://aws.amazon.com/ebs/

klipper-lb - Embedded service load balancer in Klipper

aws-efs-csi-driver - CSI Driver for Amazon EFS https://aws.amazon.com/efs/

Hey - HTTP load generator, ApacheBench (ab) replacement

audit2rbac - Autogenerate RBAC policies based on Kubernetes audit logs

connaisseur - An admission controller that integrates Container Image Signature Verification into a Kubernetes cluster