모든 주체(사용자 또는 그룹)는 2단계 프로세스를 따라 전역 API 서버에 액세스합니다. IAMRoleBinding를 사용하여 전역 API 서버의 권한을 사전 정의된 IAMRole에 부여합니다. 모든 역할 및 역할 바인딩은 전역입니다.
이 페이지는 조직 내에서 권한을 관리하는 플랫폼 관리자 그룹 내의 사용자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서 대상을 참조하세요.
시작하기 전에
역할 바인딩을 관리하거나 액세스 권한을 취소하기 전에 필요한 권한을 요청하고 환경을 준비해야 합니다. 필요한 특정 역할은 역할 바인딩을 관리하는지 또는 사용자 액세스 권한을 취소하는지에 따라 다릅니다.
IAM 역할 요청
IAM 조직 관리자에게 문의하여 수행해야 하는 태스크에 따라 역할을 요청하세요.
- IAM 조직 관리자(
organization-iam-admin): 조직 및 프로젝트 수준에서 역할 바인딩을 만들고, 업데이트하고, 삭제합니다. - 세션 조직 관리자(
org-session-admin): 특정 영역 내에서 사용자의 활성 세션 및 액세스 권한을 취소합니다.
개발 환경 준비
명령줄 도구를 사용하여 역할 바인딩을 관리하거나 액세스 권한을 취소하려면 다음 설정을 완료하세요.
역할 바인딩 설정
팀 구성원에게 조직 또는 프로젝트 수준에서 리소스에 대한 액세스 권한을 부여하는 역할 바인딩을 설정할 수 있습니다.
승인된 구성원에게 역할을 할당합니다.
콘솔
- GDC 콘솔에 로그인합니다.
- 범위 선택 도구에서 조직 또는 프로젝트를 선택합니다.
- 조직의 역할 바인딩을 설정하려면 조직을 선택합니다.
- 프로젝트의 역할 바인딩을 설정하려면 프로젝트를 선택하세요.
- 탐색 메뉴에서 ID 및 액세스 > 액세스를 클릭합니다.
- 구성원 추가를 클릭합니다.
- 개별 사용자 또는 그룹을 추가할지 선택합니다.
- ID 공급업체 목록에서 ID 공급업체를 선택합니다.
- 사용자 이름 또는 그룹 별칭 필드에 사용자 이름, 이메일 주소 또는 별칭을 입력합니다.
- 역할 목록에서 사용자 또는 그룹에 할당할 역할을 선택합니다. 예를 들어 조직 수준의 조직 뷰어 또는 프로젝트 수준의 프로젝트 생성자를 선택합니다.
- 추가를 클릭합니다.
구성원이 승인된 구성원 목록에 표시됩니다.
gdcloud
gdcloud CLI가 설치되었는지 확인합니다.
gdcloud auth login명령어를 사용하여 로그인하여 ID 공급업체에 인증합니다. 자세한 내용은 gdcloud CLI 인증을 참조하세요.역할 바인딩을 설정합니다.
조직의 역할 바인딩 설정:
gdcloud organizations add-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE다음 변수를 바꿉니다.
ORGANIZATION: 역할 바인딩을 설정할 조직의 이름입니다.USER_ACCOUNT: 역할을 부여할 사용자 계정입니다. 이 플래그는 ID 공급업체 프리픽스(user:idpprefix-user@example.com)가 있는 사용자 이메일 주소 또는 서비스 계정 프로젝트(serviceAccount:projectName:serviceAccountName)가 있는 서비스 계정 이름을 허용합니다.ROLE: 사용자에게 할당하려는 사전 정의된 역할 또는 커스텀 역할의 이름입니다.
프로젝트의 역할 바인딩 설정:
gdcloud projects add-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE다음 변수를 바꿉니다.
PROJECT: 역할 바인딩을 설정할 프로젝트의 이름입니다.USER_ACCOUNT: 역할을 부여할 사용자 계정입니다. 이 플래그는 ID 공급업체 프리픽스(user:idpprefix-user@example.com)가 있는 사용자 이메일 주소 또는 서비스 계정 프로젝트(serviceAccount:projectName:serviceAccountName)가 있는 서비스 계정 이름을 허용합니다.ROLE: 사용자에게 할당하려는 사전 정의된 역할 또는 커스텀 역할의 이름입니다.
API
역할 바인딩의 환경 변수를 내보냅니다.
export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG export USERNAME=IDP_PREFIX-USERNAME export ROLE_NAME=ROLE_NAME export BINDING_NAMESPACE=BINDING_NAMESPACE export USER_EMAIL=IDP_PREFIX-USER_EMAIL다음을 바꿉니다.
GLOBAL_API_SERVER_KUBECONFIG: 전역 API 서버의 kubeconfig 파일 경로입니다.IDP_PREFIX: ID 공급업체 프리픽스입니다.USERNAME:@기호 앞에 있는 사용자 이메일 주소의 사용자 이름 부분입니다(예:paul@example.com의paul).ROLE_NAME: 사용자에게 필요한 역할의 이름(예:project-creator). 역할 및 해당 범위 목록은 역할 정의를 참조하세요.BINDING_NAMESPACE: 조직 범위 역할의 경우platform, 프로젝트 범위 역할의 경우 대상 프로젝트 네임스페이스의 이름입니다.USER_EMAIL: 역할을 할당할 사용자 계정의 이메일 주소입니다(예:paul@example.com).
IAMRoleBinding커스텀 리소스를 만들고 적용합니다.cat <<EOF | kubectl --kubeconfig ${GLOBAL_API_SERVER_KUBECONFIG} apply -f - apiVersion: iam.global.gdc.goog/v1 kind: IAMRoleBinding metadata: name: ${USERNAME}-${ROLE_NAME}-binding namespace: ${BINDING_NAMESPACE} spec: roleRef: apiGroup: iam.global.gdc.goog kind: IAMRole name: ${ROLE_NAME} subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${USER_EMAIL} EOF
역할 바인딩 삭제
액세스가 더 이상 필요하지 않으면 구성원과 연결된 역할, 권한, 액세스 권한을 삭제합니다.
구성원을 삭제하려면 다음 단계를 따르세요.
콘솔
- GDC 콘솔에 로그인합니다.
- 탐색 메뉴에서 ID 및 액세스 > 액세스를 클릭합니다.
- 승인된 구성원 목록에서 구성원을 선택합니다.
- 구성원 삭제를 클릭합니다.
- 메시지가 표시되면 구성원 삭제를 클릭하여 확인합니다.
gdcloud
gdcloud CLI가 설치되었는지 확인합니다.
gdcloud auth login명령어를 사용하여 로그인하여 ID 공급업체에 인증합니다. 자세한 내용은 gdcloud CLI 인증을 참조하세요.역할 바인딩을 삭제합니다.
조직의 역할 바인딩을 삭제합니다.
gdcloud organizations remove-iam-policy-binding ORGANIZATION \ --member=USER_ACCOUNT \ --role=ROLE다음 변수를 바꿉니다.
ORGANIZATION: 역할 바인딩을 삭제할 조직의 이름입니다.USER_ACCOUNT: 역할을 삭제할 사용자 계정입니다. 이 플래그는 ID 공급업체 프리픽스(user:idpprefix-user@example.com)가 있는 사용자 이메일 주소 또는 서비스 계정 프로젝트(serviceAccount:projectName:serviceAccountName)가 있는 서비스 계정 이름을 허용합니다.ROLE: 사용자 계정에서 삭제할 사전 정의된 역할 또는 커스텀 역할의 이름입니다.
프로젝트의 역할 바인딩을 삭제합니다.
gdcloud projects remove-iam-policy-binding PROJECT \ --member=USER_ACCOUNT \ --role=ROLE다음 변수를 바꿉니다.
PROJECT: 역할 바인딩을 삭제할 프로젝트의 이름입니다.USER_ACCOUNT: 역할을 삭제할 사용자 계정입니다. 이 플래그는 ID 공급업체 프리픽스(user:idpprefix-user@example.com)가 있는 사용자 이메일 주소 또는 서비스 계정 프로젝트(serviceAccount:projectName:serviceAccountName)가 있는 서비스 계정 이름을 허용합니다.ROLE: 사용자 계정에서 삭제할 사전 정의된 역할 또는 커스텀 역할의 이름입니다.
kubectl
IAMRoleBinding를 삭제하여 PA 계정에 부여된 권한을 취소합니다.
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding IDP_PREFIX-USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE
다음을 바꿉니다.
- GLOBAL_API_SERVER_KUBECONFIG: 전역 API 서버의 kubeconfig 파일 경로입니다.
- IDP_PREFIX: ID 공급업체 프리픽스입니다.
- USERNAME:
@기호 앞의 사용자 이메일 주소의 사용자 이름 부분입니다(예:paul@example.com의paul). - ROLE_NAME: 삭제하려는 역할의 이름입니다(예:
project-creator). - BINDING_NAMESPACE: 조직 범위 역할의 경우
platform로 바꾸고 프로젝트 범위 역할의 경우 대상 프로젝트의 네임스페이스 이름으로 바꿉니다.
사용자 액세스 권한 취소
구성원이 조직 또는 팀을 떠나는 경우 Google Distributed Cloud(GDC) 에어 갭에 대한 액세스 권한을 취소할 수 있습니다. 사용자의 액세스 권한을 취소하면 Distributed Cloud에서 로그아웃되고 역할 및 권한이 삭제됩니다. 또한 시작 및 종료 시간에서 사용자의 활동 및 세션을 나열할 수 있습니다.
GDC 유니버스에서 사용자의 액세스 권한을 취소하려면 각 개별 영역에 대한 액세스 권한을 별도로 취소해야 합니다. 각 영역에 대해 다음 단계를 완료합니다.
액세스 권한을 취소하려는 영역에 로그인되어 있는지 확인합니다. 예를 들어 gdcloud CLI의 영역 URL 구성을 설정한 후 로그인합니다.
gdcloud config set organization_console_url ZONE_URL gdcloud auth loginZONE_URL을 사용자 액세스를 취소할 영역의 GDC 콘솔 URL로 바꿉니다. 이 URL은https://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX과 유사합니다.영역 컨텍스트 전환에 대한 자세한 내용은 도구로 영역 액세스를 참조하세요.
영역에 대한 사용자의 액세스 권한을 취소합니다.
gdcloud admin auth revoke --accounts USER_EMAILUSER_EMAIL를 액세스 권한을 취소할 사용자의 이메일로 바꿉니다.
명령어를 실행하면 다음과 비슷한 출력이 표시됩니다. 이 예시에서는
ariel@example.com사용자의 액세스 권한을 취소합니다.Success: NUMBER of sessions revoked for user ariel@example.com이 예시에서 NUMBER 변수는 사용자의 활성 세션 수를 나타냅니다.
gdcloud admin auth revoke명령어를 다시 실행하여 사용자의 액세스 권한을 취소했는지 확인합니다. 성공하면 다음이 표시됩니다.No sessions found for account: ariel@example.com유니버스의 각 영역에 대해 이전 단계를 반복합니다.