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つだけです。