모든 주체(사용자 또는 그룹)는 전역 API 서버에 액세스하기 위해 2단계 프로세스를 따릅니다. IAMRoleBinding
를 사용하여 전역 API 서버의 권한을 미리 정의된 IAMRole
에 부여합니다. 모든 역할 및 역할 바인딩은 전역입니다.
페르소나 (IO, PA, AO)는 역할이 아니라 특정 권한에 매핑되고 개별 사용자에게 할당된 사용자 역할의 모음입니다.
역할 바인딩 설정
팀 구성원에게 조직 또는 프로젝트 수준에서 리소스에 대한 액세스 권한을 부여하는 역할 바인딩을 설정할 수 있습니다.
역할 바인딩을 설정하는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 조직 IAM 관리자 역할을 부여해 달라고 요청하세요.
승인된 회원에게 역할을 할당하려면 다음 단계를 따르세요.
콘솔
- 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
역할을 할당할 사용자 계정을 내보냅니다. 여기에는 ID 공급자 접두사 (예:
idpprefix-paul@example.com
)가 포함됩니다.export USERNAME=IDP_PREFIX-USER_EMAIL
사용자에게 필요한 역할의 이름(예:
project-creator
)을 내보냅니다. 역할 정의를 참고하여 해당 역할을 찾으세요.export ROLE_NAME=ROLE_NAME
바인딩을 만들어야 하는 네임스페이스를 내보냅니다.
export BINDING_NAMESPACE=BINDING_NAMESPACE
BINDING_NAMESPACE을 조직 범위 역할의 경우
platform
로, 프로젝트 범위 역할의 경우 대상 프로젝트의 네임스페이스 이름으로 바꿉니다.역할 및 범위 목록은 역할 정의를 참고하세요.
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: ${USERNAME} 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
: 사용자 계정에서 삭제할 사전 정의된 역할 또는 맞춤 역할의 이름입니다.
API
IAMRoleBinding
를 삭제하여 PA 계정에 부여된 권한을 취소합니다.
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE
다음을 바꿉니다.
- GLOBAL_API_SERVER_KUBECONFIG: 전역 API 서버에 액세스하기 위한 kubeconfig 파일의 경로입니다.
- USERNAME: 역할 삭제를 원하는 사용자 계정입니다. ID 공급자 접두사 (예:
idpprefix-paul@example.com
)를 포함합니다. - 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 login
ZONE_URL
을 사용자 액세스 권한을 취소할 영역의 GDC 콘솔 URL로 바꿉니다. 이 URL은https://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX
와 유사합니다.영역 컨텍스트 전환에 대한 자세한 내용은 영역 간 리소스 관리를 참고하세요.
사용자를 취소하는 데 필요한 권한을 가져옵니다. 조직 IAM 관리자에게 조직 세션 관리자(
org-session-admin
) 역할을 부여해 달라고 요청하세요.사용자의 구역 액세스 권한을 취소합니다.
gdcloud admin auth revoke --accounts USER_EMAIL
USER_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
유니버스의 각 영역에 대해 이전 단계를 반복합니다.