Passwordless Access for Amazon EKS

Configure AWS AssumeRole and JFrog Registry Operator for passwordless EKS cluster authentication without stored secrets.

📘

JFrog Credentials Provider

Introduced a new Kubernetes kubelet credential provider for Amazon EKS, Azure AKS, and Google GKE that enables seamless, passwordless authentication with JFrog Artifactory for container image pulls, eliminating the need for manual image pull secret management. ​

For more information, see ​JFrog Credentials Provider​​. ​

JFrog Platform can leverage AWS AssumeRole to provide passwordless access in Amazon EKS. AssumeRole authentication lets AWS users apply their assigned roles to create temporary authentication tokens for the JFrog Platform.

AWS AssumeRole returns a set of temporary credentials (an access key ID, a secret access key, and a session token) that grant access to AWS resources. These short-lived credentials are stored in the Docker repository.

Passwordless access with AWS AssumeRole lets you download and upload artifacts from a Docker repository without creating, rotating, or storing secrets. Non-refreshable short-lived tokens handle image pulls and pushes, and no admin master keys are exposed for rotation.

The system never sends your secret access key. It uses AWS SigV4A capabilities instead. No AWS secrets leave the EKS system.

You must provision permissions in the EKS cluster before you proceed with the configuration.

The JFrog Registry Operator supports two authentication mechanisms for obtaining AWS credentials:

  • IRSA (IAM Roles for Service Accounts): Uses an OIDC identity provider and an eks.amazonaws.com/role-arn annotation on the Kubernetes ServiceAccount. Set spec.authType: webIdentity in the SecretRotator CR.
  • EKS Pod Identity: Uses the EKS Pod Identity Agent and an EKS API association instead of an OIDC provider. No ServiceAccount annotation is required. Set spec.authType: podIdentity in the SecretRotator CR.
TopicIRSAEKS Pod Identity
Where mapping livesSA annotation eks.amazonaws.com/role-arn + IAM OIDC trustEKS API association (cluster, namespace, SA name) → role ARN
Trust principalOIDC provider + sts:AssumeRoleWithWebIdentitypods.eks.amazonaws.com + sts:AssumeRole / sts:TagSession
Injected pod env varsAWS_ROLE_ARN, AWS_WEB_IDENTITY_TOKEN_FILEAWS_CONTAINER_CREDENTIALS_FULL_URI, AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
SA annotation required?YesNo
spec.authType valuewebIdentitypodIdentity or auto

AWS EKS Requirements

The minimum EC2 node requirement in the cluster is t2.medium and higher.

To configure passwordless access, complete the following tasks.

Follow one of the following methods:

  • For a single-step installation, follow the ​Terraform approach​​ to set up a complete JFrog Registry Operator.

or

IRSA (webIdentity)

EKS Pod Identity (podIdentity)