Top
Enterprise Postgres 18 for Kubernetes User's Guide

4.6.3 Installing and Configuring AWS Provider for Secret Store CSI Driver

4.6.3.1 Install AWS Provider drivers using helm chart

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

4.6.3.2 Setup EKS cluster along with service account with necessary IAM roles and permission to access Secret Manager

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"
                }
            }
        }
    ]
}

4.6.3.3 Store Secret in AWS Secrets Manager

aws secretsmanager create-secret --name <Secret Name> --secret-string <Secret Value>

4.6.3.4 Store Cert in AWS Secrets Manager

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.