第10章 チュートリアル: STS を使用する Red Hat OpenShift Service on AWS での AWS Secrets Manager CSI の使用
AWS Secrets and Configuration Provider (ASCP) は、AWS シークレットを Kubernetes ストレージボリュームとして公開する方法を提供します。ASCP を使用すると、Secrets Manager のシークレットを保存および管理し、Red Hat OpenShift Service on AWS で実行されているワークロードを通じてシークレットを取得できます。
10.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
このプロセスを開始する前に、次のリソースとツールがあることを確認してください。
- STS を使用してデプロイした Red Hat OpenShift Service on AWS クラスター
- Helm 3
-
awsCLI -
ocCLI -
jqCLI
その他の環境要件
次のコマンドを実行して、Red Hat OpenShift Service on AWS クラスターにログインします。
oc login --token=<your-token> --server=<your-server-url>
$ oc login --token=<your-token> --server=<your-server-url>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログイントークンを見つけるには、Red Hat OpenShift Cluster Manager からプルシークレット でクラスターにアクセスします。
次のコマンドを実行して、クラスターに STS があることを検証します。
oc get authentication.config.openshift.io cluster -o json \ | jq .spec.serviceAccountIssuer
$ oc get authentication.config.openshift.io cluster -o json \ | jq .spec.serviceAccountIssuerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
"https://xxxxx.cloudfront.net/xxxxx"
"https://xxxxx.cloudfront.net/xxxxx"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力が異なる場合は、続行しないでください。このプロセスを続行する前に、STS クラスターの作成に関する Red Hat ドキュメント を参照してください。
次のコマンドを実行して、CSI ドライバーの実行を許可するように
SecurityContextConstraints権限を設定します。oc new-project csi-secrets-store oc adm policy add-scc-to-user privileged \ system:serviceaccount:csi-secrets-store:secrets-store-csi-driver oc adm policy add-scc-to-user privileged \ system:serviceaccount:csi-secrets-store:csi-secrets-store-provider-aws$ oc new-project csi-secrets-store $ oc adm policy add-scc-to-user privileged \ system:serviceaccount:csi-secrets-store:secrets-store-csi-driver $ oc adm policy add-scc-to-user privileged \ system:serviceaccount:csi-secrets-store:csi-secrets-store-provider-awsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、このプロセスで後で使用する環境変数を作成します。
export REGION=$(oc get infrastructure cluster -o=jsonpath="{.status.platformStatus.aws.region}") export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster \ -o jsonpath='{.spec.serviceAccountIssuer}' | sed 's|^https://||') export AWS_ACCOUNT_ID=`aws sts get-caller-identity --query Account --output text` export AWS_PAGER=""$ export REGION=$(oc get infrastructure cluster -o=jsonpath="{.status.platformStatus.aws.region}") $ export OIDC_ENDPOINT=$(oc get authentication.config.openshift.io cluster \ -o jsonpath='{.spec.serviceAccountIssuer}' | sed 's|^https://||') $ export AWS_ACCOUNT_ID=`aws sts get-caller-identity --query Account --output text` $ export AWS_PAGER=""Copy to Clipboard Copied! Toggle word wrap Toggle overflow