이 페이지에서는 Identity and Access Management (IAM)를 사용하여 사용자에게 Secure Source Manager 인스턴스에 대한 액세스 권한을 부여하는 방법을 설명합니다. Secure Source Manager의 액세스 제어에 대한 자세한 내용은 IAM으로 액세스 제어를 참고하세요.
필요한 역할
사용자에게 인스턴스 액세스 권한을 부여하는 데 필요한 권한을 얻으려면 관리자에게 Secure Source Manager 인스턴스에 대한 Secure Source Manager 인스턴스 소유자 역할 (roles/securesourcemanager.instanceOwner
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Secure Source Manager 역할 부여에 대한 자세한 내용은 IAM으로 액세스 제어를 참고하세요.
직원 ID 제휴 사용자에게 액세스 권한 부여
직원 ID 제휴를 사용하여 Secure Source Manager에 액세스하는 경우 주 구성원이 다르게 표시됩니다. ID 그룹을 나타내는 주 구성원에 대한 액세스 권한 부여에 대해 자세히 알아보려면 IAM 정책에서 직원 풀 사용자 표현을 참고하세요.
예를 들어 다음 명령어는 us-central1
리전의 my-project
프로젝트에 있는 인스턴스 my-instance
의 워크포스 풀 my-pool
에 대해 사용자 user@example.com
에게 인스턴스 액세스 권한 역할 (roles/securesourcemanager.instanceAccessor
)을 부여합니다.
gcloud beta source-manager instances add-iam-policy-binding my-instance \
--project=my-project \
--region=us-central1 \
--member=principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/user@example.com \
--role=roles/securesourcemanager.instanceAccessor
ID 공급자 (IdP) 속성을 기반으로 직원 ID 풀 내의 사용자 또는 그룹에 권한을 부여하거나 Common Expression Language (CEL)을 사용하여 OIDC 속성을 커스텀 속성에 매핑하여 IAM 정책에서 승인 전략을 정의할 수 있습니다. 속성 매핑에 대한 자세한 내용은 속성 매핑을 참고하세요.
단일 사용자에게 액세스 권한 부여
단일 사용자에게 인스턴스 액세스 권한을 부여하려면 다음 Google Cloud CLI 명령어를 사용하세요.
gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
--project=PROJECT_ID \
--region=REGION \
--member=PRINCIPAL_IDENTIFIER \
--role=roles/securesourcemanager.instanceAccessor
다음을 바꿉니다.
INSTANCE_ID
을 인스턴스 ID로 바꿉니다.PROJECT_ID
를 인스턴스의 프로젝트 ID 또는 프로젝트 번호로 바꿉니다.REGION
을 인스턴스가 있는 리전으로 바꿉니다. 사용 가능한 Secure Source Manager 리전은 위치 문서를 참고하세요.PRINCIPAL_IDENTIFIER
을 역할을 부여할 주 구성원의 식별자로 바꿉니다.예를 들어 이메일 주소가 있는 단일 사용자에게 역할을 부여하려면 주 구성원 식별자를
user:EMAIL
로 지정합니다. 여기서 EMAIL은 사용자의 이메일 주소입니다.지원되는 주 구성원 식별자에 대한 자세한 내용은 주 구성원 식별자를 참고하세요.
예를 들어 다음 명령어는 us-central
리전의 my-project
프로젝트에 있는 인스턴스 my-instance
에 trusted-user1@gmail.com
사용자에게 roles/securesourcemanager.instanceAccessor
역할을 부여합니다.
gcloud beta source-manager instances add-iam-policy-binding INSTANCE_ID \
--project=my-project \
--region=us-central1 \
--member=user:trusted-user1@gmail.com \
--role=roles/securesourcemanager.instanceAccessor
여러 사용자에게 액세스 권한 부여
인스턴스에 액세스해야 하는 모든 사용자의 Google 그룹을 만듭니다. 그룹은 도메인별 그룹일 수 있습니다.
모든 개발자, 회사에서 문제를 신고할 수 있는 사람 등 잠재적인 모든 사용자를 포함하는 광범위한 그룹을 만드는 것이 좋습니다. 사용자가 저장소 및 문제를 비롯한 Secure Source Manager 인스턴스의 리소스에 액세스하거나 리소스를 만들려면 이 그룹에 있어야 합니다.
이 그룹을 광범위하게 설정하면 팀 리드가 그룹의 멤버십을 관리하지 않고도 인스턴스 수준 및 저장소 수준 사용자 역할을 관리할 수 있습니다.
현재 허용 정책을 읽고
/tmp/instances.json
에 저장하려면 다음 명령어를 실행합니다.gcloud beta source-manager instances get-iam-policy INSTANCE_ID \ --project=PROJECT_ID \ --region=REGION \ --format=json > /tmp/instance.json
다음을 바꿉니다.
INSTANCE_ID
을 인스턴스 ID로 바꿉니다.PROJECT_ID
를 인스턴스의 프로젝트 ID 또는 프로젝트 번호로 바꿉니다.REGION
을 인스턴스가 있는 리전으로 바꿉니다. 사용 가능한 Secure Source Manager 리전은 위치 문서를 참고하세요.
출력에는 기존 바인딩이 포함되며, 바인딩이 없는 경우 다음과 비슷한
etag
값이 포함됩니다.{ "etag": "BwUjHYKJUiQ=" }
JSON 파일
/tmp/instance.json
을 수정하여 그룹에 다음 역할을 부여합니다.- 인스턴스를 봐야 하지만 저장소를 만들거나 수정하지는 않는 사용자를 위한 인스턴스 접근자 역할 (
roles/securesourcemanager.instanceAccessor
) - 저장소를 만들고 수정해야 하는 사용자를 위한 인스턴스 저장소 생성자 역할(
roles/securesourcemanager.instanceRepositoryCreator
) - 인스턴스를 관리할 사용자의 인스턴스 소유자 역할(
roles/securesourcemanager.instanceOwner
)
다음 예시 정책은 그룹
your-group@gmail.com
에roles/securesourcemanager.instanceRepositoryCreator
역할을 부여하고 사용자trusted-user1@gmail.com
및trusted-user2@gmail.com
에roles/securesourcemanager.instanceOwner
역할을 부여합니다.{ "etag": "ETAG", "bindings": [ { "role": "roles/securesourcemanager.instanceRepositoryCreator", "members": [ "group:GROUP_EMAIL" ] }, { "role": "roles/securesourcemanager.instanceOwner", "members": [ "user:USER_EMAIL_1", "user:USER_EMAIL_2" ] } ] }
다음을 바꿉니다.
getIamPolicy
응답의etag
값(이 경우BwUjHYKJUiQ=
)이 포함된ETAG
GROUP_EMAIL
을 Google 그룹의 이메일 주소로 바꿉니다.USER_EMAIL_1
및USER_EMAIL_2
에 인스턴스 소유자 역할을 부여할 사용자의 이메일 주소를 입력합니다.
- 인스턴스를 봐야 하지만 저장소를 만들거나 수정하지는 않는 사용자를 위한 인스턴스 접근자 역할 (
수정된
/tmp/instance.json
파일을 저장합니다.저장된 허용 정책을 수정하여 원하는 역할을 부여하고 취소한 후 다음 명령어를 실행하여 인스턴스 허용 정책을 업데이트합니다.
gcloud beta source-manager instances set-iam-policy INSTANCE_ID \ --project=PROJECT_ID \ --region=REGION \ /tmp/instance.json
다음을 바꿉니다.
INSTANCE_ID
을 인스턴스 ID로 바꿉니다.PROJECT_ID
를 인스턴스의 프로젝트 ID 또는 프로젝트 번호로 바꿉니다.REGION
을 인스턴스가 있는 리전으로 바꿉니다. 사용 가능한 Secure Source Manager 리전은 위치 문서를 참고하세요.