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
以下を参照し、CSIのIAM ロールとEKS をセットアップします。
https://github.com/aws/secrets-store-csi-driver-provider-aws
Secret ManagerにアクセスするためのIAMロールの信頼ポリシーを作成します。
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>
AWS Secrets Manageに証明書をアップロードする前に、証明書を以下の形式にします。1つの.pemファイル(1つのファイルにキー、crt、および CAを含む)にする必要があります。
(証明書の形式のサンプルについては、“mycert.pem”を参照)
aws secretsmanager create-secret --name <Secret Name> --secret-binary fileb://<File Name>
注意
Secret Managerに格納されるシークレットのキー値は1つだけです。