Cloud Build에 대한 액세스 권한 부여 - 사전 정의된 역할
필요한 권한
먼저 팀원에게 필요한 권한을 검토해 보겠습니다.
Cloud Build API에 액세스하는 사용자는 다음 권한이 있어야 합니다.
storage.buckets.get
storage.buckets.list
storage.objects.create
serviceusage.services.use
Cloud Build가 로그를 Google Cloud Storage에 푸시하기 때문에 스토리지 권한이 필요하고, serviceusage.services.use는 프로젝트에 대한 할당량 및 청구를 사용할 수 있도록 하기 때문에 필요합니다.
위에서 언급한 권한 외에도 팀에는 다음과 같은 obvious ones이 필요합니다.
cloudbuild.builds.create
cloudbuild.builds.update
cloudbuild.builds.get
cloudbuild.builds.list
미리 정의된 역할
다음 역할은 위에서 언급한 권한을 팀에 부여할 수 있습니다.
(storage.buckets.get 및 storage.buckets.list)
roles/storage.admin
roles/viewer
(스토리지.객체.만들기)
roles/storage.objectCreator
(서비스 사용.서비스.사용)
roles/serviceusage.serviceUsageConsumer
물론
roles/cloudbuild.builds.editor
빌드를 만들고 취소합니다.액세스 거부 오류
Cloud Build 로그의 known issue으로 인해 팀 구성원이 기본 역할(뷰어/편집자/소유자) 중 하나가 아닌 한 여전히 액세스 거부 오류가 발생합니다.
이 오류는 GCS에 저장된 Cloud Build 로그에 대한 액세스 권한이 없기 때문에 발생합니다. 이러한 로그는 기본 역할에만 사용할 수 있는 Google 관리 버킷에 저장됩니다.
이는 빌드 자체에는 영향을 미치지 않지만 해당 로그에는 영향을 미칩니다. 팀은 뷰어/편집자/소유자 역할 없이도 Cloud Build를 계속 사용할 수 있습니다.
액세스 거부 오류: 솔루션
사용자에게 기본 역할을 부여하지 않고 액세스 거부 오류를 방지하는 방법을 살펴보겠습니다.
앞에서 언급했듯이 이 오류의 근본 원인은 Cloud Build가 기본적으로 Google 관리 버킷에 로그를 저장하기 때문입니다.
그러나 당사는 특정 용도를 사용할 의무가 없습니다.
버킷이며 다음 플래그를 사용하여 자체 버킷 중 하나를 지정할 수 있습니다.
--gcs-log-dir=gs://<BUCKET_NAME>/<SUBDIRECTORY>
선택한 버킷의 하위 디렉터리를 지정해야 합니다. 그렇지 않으면 다음 오류가 발생합니다.
ERROR: (gcloud.builds.submit) wrong collection: expected [storage.buckets], got [storage.objects]
Reference
이 문제에 관하여(Cloud Build에 대한 액세스 권한 부여 - 사전 정의된 역할), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tsoden/granting-access-to-cloud-build-predefined-roles-176e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)