helm repo add aws-secrets-manager https://aws.github.io/secrets-store-csi-driver-provider-aws
helm install -n kube-system secrets-provider-aws aws-secrets-manager/secrets-store-csi-driver-provider-aws -namespace kube-system
Follow below link to setup IAM roles and EKS for CSI.
https://github.com/aws/secrets-store-csi-driver-provider-aws
Create IAM role trust policy to access Secret Manager
Create IAM role trust policy to access Secret Manager
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::123456789:oidc-provider/oidc.eks.ap-southeast-3.amazonaws.com/id/ABCD1234567"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
" oidc.eks.ap-southeast-3.amazonaws.com /id/ ABCD1234567:sub": "system:serviceaccount:myns:mysa",
" oidc.eks.ap-southeast-3.amazonaws.com /id/ ABCD1234567:aud": "sts.amazonaws.com"
}
}
}
]
}
aws secretsmanager create-secret --name <Secret Name> --secret-string <Secret Value>
Certificate should be in below format before uploading cert to AWS Secrets Manager i.e it should be one .pem file (key, crt and CA in one file)
(Refer "mycert.pem" for sample certificate format)
aws secretsmanager create-secret --name <Secret Name> --secret-binary fileb://<File Name>
Note
Only single key value for secret to be stored in Secret Manager.