11장. 튜토리얼: STS를 사용하여 ROSA에서 AWS Secrets Manager CSI 사용
AWS Secrets 및 Configuration Provider(ASCP)는 AWS 보안을 Kubernetes 스토리지 볼륨으로 노출하는 방법을 제공합니다. ASCP를 사용하면 시크릿 관리자에 시크릿을 저장하고 관리한 다음 AWS(ROSA)의 Red Hat OpenShift Service에서 실행되는 워크로드를 통해 검색할 수 있습니다.
11.1. 사전 요구 사항
이 프로세스를 시작하기 전에 다음 리소스 및 툴이 있는지 확인합니다.
- STS를 사용하여 배포된 ROSA 클러스터
- Helm 3
-
AWS
CLI -
oc
CLI -
jq
CLI
추가 환경 요구 사항
다음 명령을 실행하여 ROSA 클러스터에 로그인합니다.
$ oc login --token=<your-token> --server=<your-server-url>
Red Hat OpenShift Cluster Manager에서 풀 시크릿 으로 클러스터에 액세스하여 로그인 토큰을 찾을 수 있습니다.
다음 명령을 실행하여 클러스터에 STS가 있는지 확인합니다.
$ oc get authentication.config.openshift.io cluster -o json \ | jq .spec.serviceAccountIssuer
출력 예
"https://xxxxx.cloudfront.net/xxxxx"
출력이 다르면 계속 진행하지 마십시오. 이 프로세스를 계속하기 전에 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
다음 명령을 실행하여 이 프로세스의 뒷부분에 사용할 환경 변수를 생성합니다.
$ 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=""