第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
-
aws
CLI -
oc
CLI -
jq
CLI
その他の環境要件
次のコマンドを実行して、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.serviceAccountIssuer
Copy 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-aws
Copy 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