Cloud Build에 대한 액세스 권한 부여 - 서비스 계정 가장
작동 방식:
roles/iam.serviceAccountTokenCreator
roles/serviceusage.serviceUsageConsumer
이렇게 하면 팀 구성원이 가장 플래그를 사용하여 빌드를 제출할 수 있습니다.
gcloud builds submit \
--config cloudbuild.yaml \
--impersonate-service-account=<SERVICE_ACCOUNT>
--gcs-log-dir=gs://<BUCKET_NAME>/<SUBDIRECTORY>
이 옵션의 결함
사용자가 이와 같은 서비스 계정을 가장할 수 있도록 허용하면 기술적으로 프로젝트 내에서 서비스 계정을 나열하고 가장할 수 있으므로 프로젝트 내에서 많은 가능성을 제공하므로 Cloud Build뿐만 아니라 다른 프로젝트 리소스도 마찬가지입니다.
따라서 이러한 방식으로 사용자에게 서비스 계정 토큰 생성자 역할을 부여해서는 안 됩니다.
서비스 계정 토큰 생성자 역할을 위한 솔루션
사용자에게 계정 가장을 위한 프로젝트 차원의 서비스 계정 토큰 생성자 역할을 부여하는 대신 해당 역할을 서비스 계정별로 지정해야 합니다.
Cloud Console 또는 CLI를 통해 이를 수행하는 방법은 다음과 같습니다.
클라우드 콘솔 솔루션
CLI 솔루션
gcloud
도구를 사용하여 서비스 계정에 대해 IAM policy binding을 추가합니다.gcloud iam service-accounts add-iam-policy-binding <SERVICE_ACCOUNT> \
--member="user:<USER_ACCOUNT>" \
--role="roles/iam.serviceAccountTokenCreator"
현재 IAM 정책 바인딩을 보려면 다음
gcloud
명령을 실행합니다.gcloud iam service-accounts get-iam-policy <SERVICE_ACCOUNT>
이 경우 팀 구성원(그룹)은 서비스 사용량 소비자 역할만 있으면 되고 서비스 계정 토큰 생성자 역할은 지정된 서비스 계정에만 바인딩됩니다.
Reference
이 문제에 관하여(Cloud Build에 대한 액세스 권한 부여 - 서비스 계정 가장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tsoden/granting-access-to-cloud-build-impersonating-a-service-account-5hm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)