-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pod Identity Association support #300
Comments
This is must likely due to the provider using an older version of the AWS SDK (1.47.10) which doesn't support the container credential provider (supporting the EKS Pod Identity functionality). The minimum required SDK version is v1.47.11 (see https://docs.aws.amazon.com/eks/latest/userguide/pod-id-minimum-sdk.html). Thus, this is also a thing to consider. |
I am also facing the same issue. Is there any solution on it? |
As a workaround I'm using good old OIDC-mapped IAM role, but would definitely want to move on to the new way. |
What role does the service account need to "MountVolume.SetUp failed for volume 'secrets-store-inline'"? |
I'm also getting: however I'm not using Pod Identity add-on. I'm trying to spin up a private docker hub image.
|
Thank you for the report, we will look into this issue. |
To offer a potential use-case: I'd like to use a cross-account IAM role to centralize permission management to a SecretsManager secret, use EKS Pod Identities to allow a Pod running in one account (Account A) to assume the centralized role in another account (Account B), and mount the secret into the Pod using secrets-store-csi-driver-provider-aws. With EKS Pod Identities you can only associate roles that are in the same AWS account as the cluster. The documentation states that to achieve cross-account access you should use role chaining[1]. This is in contrast to IRSA which allows you to directly assume a role in another account [2]. If I were to use the provider to mount the secret into my Pod it would need to assume the role in Account B using the credentials of Account A before making the [1] https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html |
Well I spoke too soon, I tested it and it doesn't work with release 0.3.6:
|
@dprangnell Same for me. |
That specific check for annotation is here: https://github.com/aws/secrets-store-csi-driver-provider-aws/blob/main/auth/auth.go#L110-L126 |
Hitting this issue too, unfortunately OIDC is a pain with its limitations on roles |
Thank you for the request. The EKS POD Identities page calls out incompatibility with other CSI storage drivers and we are working to get documentation updated to include the Secrets Manager and Config Provider for Secret Store. We have this in our backlog and have marked it as a future enhancement. |
I have secrets manager manually installed, that page indicates that it should work, but I am hitting the same issue as the above |
System Info
Setup Steps
I'm able to access the pre-created secret with the same service account
Hope this info could help to resolve this issue sooner! |
@yambottle you need to put annotation on SA with the role created in previous step. |
I am currently having the exact same issue. This prevents us from migrating to use Pod Identity because all of our services are using Secret CSI to pull the secrets from Secrets Manager |
Hola a todos!!!. Me paso lo mismo, tengo EKS 1.30, y lo solucione agregandole permisos al rol ya que faltaban permisos para los recursos secrets, este era el error que me daba encontrado en los logs del pod:
luego de agregar estos permisos [list, watch, get] me dio este error:
y lo que agregue al ClusterRole quedo fue:
quedando asi el recurso:
|
facing the same issue, can't find away around and I don't want to use OIDC |
I am also very interested in this. We have adopted Pod Identities for general cross-account AWS access but are having to resort to IRSA for mounted secrets (via ESO) which is yuk. Worth noting that we are also using role chaining (via profile/ini config). Ideally the CSI driver would allow configuration of a role to assume/chain in such an 'external' account. |
@psivananda Can you please share an update on this. The PR is still open |
@yambottle , was the issue fixed. |
Sorry, I moved on to External Secret Operator since that error. It's pretty straight forward to setup, not sure if it's an alternative to you, but I do prefer Correct me if I'm wrong, I guess @giedriuskilcauskas is suggesting to add an annotation at this end of doc which I guess it is EKS specific(I have mentioned I'm not using EKS, I have a kOps+EC2 setup)
but it's just my guess, this annotation might not be EKS specific, I just haven't test it out yet. Feel free to try it out! |
We are facing the same issue, any update on this? secrets-store-csi-driver: 1.4.5 |
We're actively working on supporting Pod Identity Association in the AWS provider. |
Exactly the same issue. |
any news on this feature? :D |
This is still work in progress, thanks for the patience. |
Any news on this? We too are waiting for this feature. |
Describe the bug
Attempting to mount secrets using Pod Identity EKS add-on results in the following error:
Warning FailedMount 103s (x29 over 44m) kubelet MountVolume.SetUp failed for volume "secrets-store-inline" : rpc error: code = Unknown desc = failed to mount secrets store objects for pod default/secrets-store-inline, err: rpc error: code = Unknown desc = us-east-1: An IAM role must be associated with service account demo-app-pod-sa (namespace: default)
To Reproduce
Steps to reproduce the behavior:
Do you also notice this bug when using a different secrets store provider (Vault/Azure/GCP...)? Yes/No
AWS EKS specific
Expected behavior
Secrets Volume properly mounted
Environment:
Helm chart secrets-store-csi-driver-provider-aws v0.3.5
The text was updated successfully, but these errors were encountered: