IAM Condition을 통해 특정 GCS 세그먼트에만 액세스 가능

일반적으로 GCP 프로젝트에 소유자 (Ownner) 와 편집 (Editor) 등의 권한을 주면 Google Cloud Storage (GCS) 구간에 접근할 수 있습니다.따라서 일부 사람들이 특정 GCS 구간에만 접근할 수 있도록 하고 싶습니다.
GCS 구간에 대한 접근 제한을 조사하고 GCS 구간에 권한을 추가하는 방법을 소개했다.이 방법은 매우 간단하지만 어느 GCS통에 어느 사용자, 서비스 계정이 접근이 허용되었는지 알기 어렵다.
그러면 이번에는 IAM Condition 기능을 사용하여 IAM 측에서 GCS 통에 대한 액세스 제어를 진행하겠습니다.

국제 회계 준칙


GCP의 IAM(Cloud IAM)에서는 자원 이름과 시간 등을 조건으로 액세스 제어 기능을 정의합니다.이것은 AWS IAM의 정책 정의이며 GCP도 대응한다.
Overview of IAM Conditions  |  IAM Documentation  |  Google Cloud

GCS 구간 만들기


액세스를 위한 GCS 구간을 만듭니다.객체에 대한 액세스를 제어할 때 균일(Uniform)을 선택합니다.
setting-gcs-access-policy

IAM Condition 설정


GCP의 IAM 콘솔 화면으로 가서 허가를 받을 사용자나 서비스 계정을 선택하십시오.
역할을 선택할 때 Storage 객체 관리자(storge.objectadmin)를 선택하고 옆에 있는 조건 추가를 선택합니다.
update-cloud-iam
다음 그림과 같이 설정합니다.
setting-cloud-iam-conditions
항목

타이틀
Allow access only specific buckets
조건 빌더
OR
조건 유형 ①
이름:
Operator①
=
① 값projects/_/buckets/<GCSバケット名>조건 유형 ②
이름:
Operator②
다음부터.
② 가치가 있다projects/_/buckets/<GCSバケット名>/objects/조건 편집기는 다음과 같습니다.
resource.name == "projects/_/buckets/<GCSバケット名>" ||
resource.name.startsWith("projects/_/buckets/<GCSバケット名>/objects/")

GCS 세그먼트 목록을 표시하는 사용자 지정 역할 만들기


위의 설정을 통해 특정 GCS 세그먼트 객체를 만들거나 삭제할 수 있습니다.그러나 GCS의 콘솔에서 접근할 때 물통을 한눈에 볼 수 없기 때문에 콘솔 화면에서 조작하려면 물통을 한눈에 볼 수 있어야 한다.GCP가 제공하는 사전 정의 캐릭터 중 물통만 훑어보는 역할이 없기 때문에 이번에는'스타지 버킷 뷰어'라는 맞춤형 캐릭터를 제작했다.
다음 그림과 같이 IAM의 콘솔 화면에서 역할로 이동합니다.
create-custom-role-bucket-viewer
항목

타이틀
Storage Bucket Viewer
설명
GCS 통 일람 표시용 롤러
ID
storage.bucketViewer
역할 게시 단계
일반 제공
권한 추가storage.buckets.getstorage.buckets.list를 선택합니다.사용자 지정 역할을 만들려면 [만들기]를 누릅니다.
IAM의 콘솔 화면으로 돌아가 권한을 추가할 사용자를 선택하고 방금 만든 사용자 정의 캐릭터를 지정하면 완성됩니다.
edit-iam-user-permission

좋은 웹페이지 즐겨찾기