arrow_back

IAM 커스텀 역할

로그인 가입
지식을 테스트하고 커뮤니티와 공유하기
done
700개 이상의 실무형 실습, 기술 배지, 과정에 액세스

IAM 커스텀 역할

실습 1시간 universal_currency_alt 크레딧 1개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
지식을 테스트하고 커뮤니티와 공유하기
done
700개 이상의 실무형 실습, 기술 배지, 과정에 액세스

GSP190

Google Cloud 사용자 주도형 실습

개요

Cloud IAM은 고도의 자동화를 통해 최대한 쉽게 리소스 권한을 관리할 수 있는 적절한 도구를 제공합니다. Cloud IAM을 사용하면 관리자가 사용자에게 권한을 직접 부여하지 않아도 됩니다. 대신 하나 이상의 권한이 결합된 역할을 부여합니다. 이를 통해 사내 직무를 그룹 및 역할로 매핑할 수 있어 사용자의 액세스 권한이 업무에 필요한 부분으로 한정되며, 관리자는 전체 사용자 그룹에 기본 권한을 쉽게 부여할 수 있습니다.

Cloud IAM에는 두 가지 역할이 있습니다.

  • 사전 정의된 역할
  • 커스텀 역할

사전 정의된 역할은 Google에서 만들고 유지관리합니다. Google Cloud에 새로운 기능이나 서비스가 추가되는 경우와 같이 필요에 따라 권한이 자동으로 업데이트됩니다.

커스텀 역할은 사용자가 정의하는 역할로, 지원되는 권한을 사용자의 구체적인 니즈에 맞게 하나 이상 결합할 수 있습니다. 커스텀 역할은 Google에서 유지관리하지 않습니다. 즉, Google Cloud에 새로운 권한, 기능, 서비스가 추가되어도 커스텀 역할은 자동으로 업데이트되지 않습니다. 사용 가능한 Cloud IAM 권한을 하나 이상 결합하여 커스텀 역할을 만들면 권한이 있는 사용자가 Google Cloud 리소스에서 특정 작업을 수행할 수 있습니다.

학습할 내용

이 실습에서는 커스텀 역할을 만들고, 업데이트하고, 삭제하며, 복원해 봅니다.

기본 요건

IAM 역할에 대해 잘 알고 있으면 학습 내용을 이해하는 데 큰 도움이 됩니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간---실습을 시작하고 나면 일시중지할 수 없습니다.
참고: 계정에 추가 요금이 발생하지 않도록 하려면 개인용 Google Cloud 계정이나 프로젝트가 이미 있어도 이 실습에서는 사용하지 마세요.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google Cloud 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).

    실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.

    {{{user_0.username | "Username"}}}

    실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.

  4. 다음을 클릭합니다.

  5. 아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.

    {{{user_0.password | "Password"}}}

    실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.

  6. 다음을 클릭합니다.

    중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  7. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 체험판을 신청하지 않습니다.

잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.

참고: Google Cloud 제품 및 서비스 목록이 있는 메뉴를 보려면 왼쪽 상단의 탐색 메뉴를 클릭합니다. 탐색 메뉴 아이콘

Cloud Shell 활성화

Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다. Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.

  1. Google Cloud 콘솔 상단에서 Cloud Shell 활성화 Cloud Shell 활성화 아이콘를 클릭합니다.

연결되면 사용자 인증이 이미 처리된 것이며 프로젝트가 PROJECT_ID로 설정됩니다. 출력에 이 세션의 PROJECT_ID를 선언하는 줄이 포함됩니다.

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.

  1. (선택사항) 다음 명령어를 사용하여 활성 계정 이름 목록을 표시할 수 있습니다.
gcloud auth list
  1. 승인을 클릭합니다.

  2. 다음과 비슷한 결과가 출력됩니다.

출력:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (선택사항) 다음 명령어를 사용하여 프로젝트 ID 목록을 표시할 수 있습니다.
gcloud config list project

출력:

[core] project = <project_ID>

출력 예시:

[core] project = qwiklabs-gcp-44776a13dea667a6 참고: gcloud 전체 문서는 Google Cloud에서 gcloud CLI 개요 가이드를 참조하세요.

프로젝트의 리전 설정

다음 명령어를 실행하여 프로젝트의 리전을 설정합니다.

gcloud config set compute/region {{{project_0.default_region | Region}}}

IAM 커스텀 역할 소개

Cloud IAM을 사용하면 맞춤설정된 Cloud IAM 역할을 만들 수 있습니다. 하나 이상의 권한이 있는 커스텀 Cloud IAM 역할을 만들고 이를 사용자에게 부여할 수 있습니다. Cloud IAM은 커스텀 역할을 만들고 관리하는 데 필요한 UI 및 API를 제공합니다.

요점: 커스텀 역할을 사용하면 최소 권한의 원칙을 적용하여 조직의 사용자 및 서비스 계정에 의도된 목적을 달성하는 데 필요한 권한만 부여할 수 있습니다.

참고: 조직 수준 또는 프로젝트 수준에서 커스텀 역할을 만들 수 있습니다. 하지만 폴더 수준에서는 커스텀 역할을 만들 수 없습니다.

사용 가능한 Cloud IAM 권한을 하나 이상 결합하여 커스텀 역할을 만들면 권한이 있는 사용자가 Google Cloud 리소스에서 특정 작업을 수행할 수 있습니다.

Cloud IAM 환경에서 권한은 다음 형식으로 표시됩니다.

<service>.<resource>.<verb>

예를 들어 compute.instances.list 권한을 통해 사용자는 소유한 Compute Engine 인스턴스를 나열할 수 있으며, compute.instances.stop 권한을 통해 VM을 중지할 수 있습니다.

권한은 일반적으로 REST 메서드와 1:1로 상응하지만 항상 그렇지는 않습니다. 즉, 각 Google Cloud 서비스에는 보유하고 있는 REST 메서드 각각에 연결된 권한이 있습니다. 메서드를 호출하려면 호출자에게 해당 권한이 필요합니다. 예를 들어 topic.publish() 호출자는 pubsub.topics.publish 권한이 필요합니다.

커스텀 역할은 해당 역할이나 리소스를 소유한 동일 프로젝트 또는 조직의 정책에 맞는 권한을 부여하는 데만 사용할 수 있습니다. 다른 프로젝트 또는 조직이 소유한 리소스에 대해서는 커스텀 역할을 부여할 수 없습니다.

필수 권한 및 역할

커스텀 역할을 만들려면 호출자에게 iam.roles.create 권한이 필요합니다.

조직 관리자를 비롯하여 소유자가 아닌 사용자에게는 '조직 역할 관리자' 역할(roles/iam.organizationRoleAdmin) 또는 'IAM 역할 관리자' 역할(roles/iam.roleAdmin)을 할당해야 합니다. 'IAM 보안 검토자' 역할(roles/iam.securityReviewer)을 사용하면 커스텀 역할을 볼 수는 있지만 관리할 수는 없습니다.

커스텀 역할 사용자 인터페이스는 Cloud 콘솔의 IAM 역할에서 찾을 수 있습니다. 커스텀 역할을 만들거나 관리할 권한이 있는 사용자에게만 표시됩니다. 기본적으로 프로젝트 소유자만 새로운 역할을 만들 수 있습니다. 프로젝트 소유자는 같은 프로젝트의 다른 사용자에게 'IAM 역할 관리자' 역할을 부여하여 이 기능에 대한 액세스를 제어할 수 있습니다. 조직의 경우, 조직 관리자만 '조직 역할 관리자' 역할을 부여할 수 있습니다.

커스텀 역할을 만들기 전 참고 사항

커스텀 역할을 만들기에 앞서 다음과 같은 사항을 확인해야 합니다.

  • 리소스에 적용할 수 있는 권한의 종류
  • 리소스에 부여할 수 있는 역할의 종류
  • 역할의 메타데이터

작업 1. 리소스에 사용 가능한 권한 보기

커스텀 역할을 만들기 전에 리소스에 적용할 수 있는 권한이 무엇인지 확인하는 것이 좋습니다. gcloud 명령줄 도구, Cloud 콘솔 또는 IAM API를 사용하면 리소스에 적용 가능한 모든 권한 및 계층 구조에서 해당 리소스에 속하는 하위 리소스를 확인할 수 있습니다. 예를 들어 조직 및 해당 조직의 프로젝트에 적용 가능한 모든 권한을 확인할 수 있습니다.

  • 다음을 실행하여 프로젝트에 사용 가능한 권한 목록을 가져옵니다.
gcloud iam list-testable-permissions //cloudresourcemanager.googleapis.com/projects/$DEVSHELL_PROJECT_ID

출력:

name: appengine.applications.create stage: GA --- name: appengine.applications.get stage: GA --- name: appengine.applications.update stage: GA --- name: appengine.instances.delete stage: GA --- name: appengine.instances.get stage: GA --- name: appengine.instances.list stage: GA --- customRolesSupportLevel: TESTING name: appengine.memcache.addKey stage: BETA --- customRolesSupportLevel: TESTING name: appengine.memcache.flush stage: BETA ---

작업 2. 역할 메타데이터 확인하기

커스텀 역할을 만들기 전에 사전 정의된 역할과 커스텀 역할의 메타데이터를 확인해야 할 수 있습니다. 역할 메타데이터에는 역할 ID와 역할에 포함된 권한 등이 있습니다. Cloud 콘솔 또는 IAM API를 사용하여 메타데이터를 볼 수 있습니다.

  • 역할 메타데이터를 보려면 아래 명령어에서 [ROLE_NAME] 값을 원하는 역할로 바꾸어 사용합니다. 예: roles/viewer 또는 roles/editor:
gcloud iam roles describe [ROLE_NAME]

출력 예(roles/viewer):

description: Read access to all custom roles in the project. etag: AA== includedPermissions: - iam.roles.get - iam.roles.list - resourcemanager.projects.get - resourcemanager.projects.getIamPolicy ... ... name: roles/iam.roleViewer stage: GA title: Viewer

작업 3. 리소스에 부여할 수 있는 역할 보기

gcloud iam list-grantable-roles 명령어를 사용하면 특정 리소스에 적용할 수 있는 모든 역할을 목록으로 확인할 수 있습니다.

  • 다음 gcloud 명령어를 실행해 프로젝트에서 부여할 수 있는 역할 목록을 확인합니다.
gcloud iam list-grantable-roles //cloudresourcemanager.googleapis.com/projects/$DEVSHELL_PROJECT_ID

다음과 같은 출력 메시지가 표시됩니다.

--- description: Full management of App Engine apps (but not storage). name: roles/appengine.appAdmin title: App Engine Admin --- description: Ability to view App Engine app status. name: roles/appengine.appViewer title: App Engine Viewer --- description: Ability to view App Engine app status and deployed source code. name: roles/appengine.codeViewer title: App Engine Code Viewer --- ... ...

작업 4. 커스텀 역할 만들기

커스텀 역할을 만들려면 호출자에게 iam.roles.create 권한이 필요합니다. 프로젝트 소유자 또는 조직은 이 권한을 기본으로 보유하고 있기 때문에 커스텀 역할을 만들고 관리할 수 있습니다.

조직 관리자를 비롯하여 소유자가 아닌 사용자에게는 '조직 역할 관리자' 역할 또는 'IAM 역할 관리자' 역할을 할당해야 합니다.

gcloud iam roles create 명령어를 사용하여 다음 두 가지 방식으로 새로운 커스텀 역할을 만들 수 있습니다.

  • 역할 정의를 포함하는 YAML 파일 제공
  • 플래그를 사용해 역할 정의 지정

커스텀 역할을 만들 때 --organization [ORGANIZATION-ID] 또는 --project [PROJECT-ID] 플래그를 사용하여 역할이 조직 수준에 적용되는지 아니면 프로젝트 수준에 적용되는지를 지정해야 합니다. 아래의 각 예시에서는 프로젝트 수준으로 커스텀 역할을 만듭니다.

다음 섹션에서는 프로젝트 수준으로 커스텀 역할을 만들어 봅니다.

YAML 파일을 사용하여 커스텀 역할 만들기

커스텀 역할의 정의를 포함하는 YAML 파일을 만듭니다. 파일의 구조는 다음과 같아야 합니다.

title: [ROLE_TITLE] description: [ROLE_DESCRIPTION] stage: [LAUNCH_STAGE] includedPermissions: - [PERMISSION_1] - [PERMISSION_2]

다음은 각 자리표시자 값에 대한 설명입니다.

  • [ROLE_TITLE]은 역할의 별칭입니다(예: Role Viewer).
  • [ROLE_DESCRIPTION]은 역할에 대한 간단한 설명입니다(예: My custom role description).
  • [LAUNCH_STAGE]는 출시 주기에서 역할의 단계를 나타냅니다(예: ALPHA, BETA, GA).
  • includedPermissions는 커스텀 역할에 포함할 하나 이상의 권한(예: iam.roles.get) 목록을 지정합니다.
  1. 이제 다음을 실행하여 역할 정의 YAML 파일을 본격적으로 만들어 보겠습니다.
nano role-definition.yaml
  1. 이 커스텀 역할 정의를 YAML 파일에 추가합니다.
title: "Role Editor" description: "Edit access for App Versions" stage: "ALPHA" includedPermissions: - appengine.versions.create - appengine.versions.delete
  1. Ctrl+X, Y를 누른 다음 Enter 키를 눌러 파일을 저장하고 닫습니다.

  2. 다음 gcloud 명령어를 실행합니다.

gcloud iam roles create editor --project $DEVSHELL_PROJECT_ID \ --file role-definition.yaml

역할이 정상적으로 생성되면 다음과 같은 응답이 반환됩니다.

Created role [editor]. description: Edit access for App Versions etag: BwVs4O4E3e4= includedPermissions: - appengine.versions.create - appengine.versions.delete name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. YAML 파일을 사용하여 커스텀 역할 만들기

플래그를 사용하여 커스텀 역할 만들기

이제 플래그 메서드를 사용하여 새로운 커스텀 역할을 만들어 보겠습니다. 플래그는 YAML 파일과 형식이 비슷하므로, 명령어의 구조를 쉽게 알아볼 수 있습니다.

  • 다음 gcloud 명령어를 실행하여 플래그를 사용하는 새로운 역할을 만듭니다.
gcloud iam roles create viewer --project $DEVSHELL_PROJECT_ID \ --title "Role Viewer" --description "Custom role description." \ --permissions compute.instances.get,compute.instances.list --stage ALPHA

출력 예:

Created role [viewer]. description: Custom role description. etag: BwVs4PYHqYI= includedPermissions: - compute.instances.get - compute.instances.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: ALPHA title: Role Viewer

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 플래그를 사용하여 커스텀 역할 만들기

작업 5. 커스텀 역할 나열하기

  1. 다음 gcloud 명령어를 실행하면서 프로젝트 수준 또는 조직 수준의 커스텀 역할을 지정하여 커스텀 역할을 나열합니다.
gcloud iam roles list --project $DEVSHELL_PROJECT_ID

출력 예:

--- description: Edit access for App Versions etag: BwVxLgrnawQ= name: projects/{{{project_0.project_id | Project ID}}}/roles/editor title: Role Editor --- description: Custom role description. etag: BwVxLg18IQg= name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer title: Role Viewer

--show-deleted 플래그를 지정하여 삭제된 역할을 나열할 수도 있습니다.

  1. 다음 gcloud 명령어를 실행하여 사전 정의된 역할을 나열합니다.
gcloud iam roles list

작업 6. 기존 커스텀 역할 업데이트하기

리소스의 커스텀 역할과 같은 메타데이터를 업데이트하는 일반적인 패턴은 현재 상태를 읽고, 데이터를 로컬에서 업데이트한 다음, 수정된 데이터를 전송하여 기록하는 것입니다. 이 패턴에서는 서로 독립된 둘 이상의 프로세스가 동시에 시퀀스를 시도할 경우 충돌이 발생할 수 있습니다.

예를 들어 동일 프로젝트의 소유자 두 명이 서로 상충하는 역할 변경을 동시에 시도할 경우 변경이 일부 실패할 수 있습니다.

Cloud IAM은 커스텀 역할에서 etag 속성을 사용하여 이 문제를 해결합니다. 이 속성은 마지막 요청 이후 커스텀 역할의 변경 여부를 확인하는 데 사용됩니다. etag값을 사용하여 Cloud IAM에 요청하면 Cloud IAM은 요청의 etag 값을 커스텀 역할에 연결된 기존 etag 값과 비교합니다. 이때 etag 값이 일치하는 경우에만 변경사항이 기록됩니다.

gcloud iam roles update 명령어를 사용하면 다음 두 가지 방식으로 커스텀 역할을 업데이트할 수 있습니다.

  • 업데이트된 역할 정의가 포함된 YAML 파일
  • 업데이트된 역할 정의를 지정하는 플래그

커스텀 역할을 업데이트할 때 --organization [ORGANIZATION-ID] 또는 --project [PROJECT-ID] 플래그를 사용하여 역할이 조직 수준에 적용되는지 아니면 프로젝트 수준에 적용되는지를 지정해야 합니다. 아래의 각 예시에서는 프로젝트 수준으로 커스텀 역할을 만듭니다.

describe 명령어는 역할의 정의를 반환하며, 역할의 현재 버전을 고유하게 식별하는 etag 값을 포함합니다. 동시에 실행되는 역할 변경사항을 덮어쓰지 않도록 하려면 업데이트된 역할 정의에 etag 값을 제공해야 합니다.

YAML 파일을 사용하여 커스텀 역할 업데이트

  1. 역할의 현재 정의를 가져올 수 있도록 다음 gcloud 명령어에서 [ROLE_ID] 값을 editor로 바꾸어 실행합니다.
gcloud iam roles describe [ROLE_ID] --project $DEVSHELL_PROJECT_ID

describe 명령어는 다음과 같은 출력을 반환합니다.

description: [ROLE_DESCRIPTION] etag: [ETAG_VALUE] includedPermissions: - [PERMISSION_1] - [PERMISSION_2] name: [ROLE_ID] stage: [LAUNCH_STAGE] title: [ROLE_TITLE]
  1. 다음 단계에서 새로운 YAML 파일을 만드는 데 사용할 수 있도록 출력을 복사합니다.

  2. 편집기에서 new-role-definition.yaml 파일을 만듭니다.

nano new-role-definition.yaml
  1. 복사해 둔 출력을 붙여넣고 includedPermissions에 다음의 두 권한을 추가합니다.
- storage.buckets.get - storage.buckets.list

완료되면 YAML 파일이 다음과 같이 표시됩니다.

description: Edit access for App Versions etag: BwVxIAbRq_I= includedPermissions: - appengine.versions.create - appengine.versions.delete - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor
  1. Ctrl+X, Y를 누른 다음 Enter 키를 눌러 파일을 저장하고 닫습니다.

  2. 이제 update 명령어를 사용하여 역할을 업데이트해 보겠습니다. 다음 gcloud 명령어에서 [ROLE_ID] 값을 editor로 바꾸어 실행합니다.

gcloud iam roles update [ROLE_ID] --project $DEVSHELL_PROJECT_ID \ --file new-role-definition.yaml

역할이 정상적으로 업데이트되면 다음과 같은 응답이 반환됩니다.

description: Edit access for App Versions etag: BwVxIBjfN3M= includedPermissions: - appengine.versions.create - appengine.versions.delete - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/editor stage: ALPHA title: Role Editor

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. YAML 파일을 사용하여 커스텀 역할 업데이트

플래그를 사용하여 커스텀 역할 업데이트

해당 플래그를 사용하여 역할 정의의 각 부분을 업데이트할 수 있습니다. 사용 가능한 전체 플래그 목록은 SDK 참고 문서의 gcloud IAM 역할 업데이트 주제를 참조하세요.

다음 플래그를 사용하여 권한을 추가하거나 삭제할 수 있습니다.

  • --add-permissions: 역할에 쉼표로 구분된 하나 이상의 권한을 추가합니다.
  • --remove-permissions: 역할에서 쉼표로 구분된 하나 이상의 권한을 삭제합니다.

아니면 --permissions [PERMISSIONS] 플래그를 사용하고 기존 권한 목록을 대체할 쉼표로 구분된 권한 목록을 제공하여 새 권한을 지정하는 간단한 방법도 있습니다.

  • 다음 gcloud 명령어를 실행하여 플래그를 사용해 viewer 역할에 권한을 추가합니다.
gcloud iam roles update viewer --project $DEVSHELL_PROJECT_ID \ --add-permissions storage.buckets.get,storage.buckets.list

역할이 정상적으로 업데이트되면 다음과 같은 응답이 반환됩니다.

description: Custom role description. etag: BwVxLi4wTvk= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: ALPHA title: Role Viewer

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 플래그를 사용하여 커스텀 역할 업데이트

작업 7. 커스텀 역할 사용 중지하기

역할을 사용 중지하면 역할과 관련된 정책 바인딩이 비활성화됩니다. 즉, 사용자에게 역할을 부여해도 역할의 권한이 부여되지 않습니다.

기존 커스텀 역할을 사용 중지하는 가장 쉬운 방법은 --stage 플래그를 사용하여 상태를 'DISABLED'로 설정하는 것입니다.

  • 다음 gcloud 명령어를 실행하여 viewer 역할을 사용 중지합니다.
gcloud iam roles update viewer --project $DEVSHELL_PROJECT_ID \ --stage DISABLED

역할이 정상적으로 업데이트되면 다음과 같은 응답이 반환됩니다.

description: Custom role description. etag: BwVxLkIYHrQ= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: DISABLED title: Role Viewer

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 커스텀 역할 사용 중지

작업 8. 커스텀 역할 삭제하기

  • gcloud iam roles delete 명령어를 사용하여 커스텀 역할을 삭제할 수 있습니다. 삭제된 역할은 비활성 상태가 되며 새로운 IAM 정책 바인딩을 만드는 데 사용할 수 없습니다.
gcloud iam roles delete viewer --project $DEVSHELL_PROJECT_ID

출력 예:

deleted: true description: Custom role description. etag: BwVxLkf_epw= includedPermissions: - compute.instances.get - compute.instances.list - storage.buckets.get - storage.buckets.list name: projects/{{{project_0.project_id | Project ID}}}/roles/viewer stage: DISABLED title: Role Viewer

역할이 삭제된 후에도 기존 바인딩은 유지되지만 비활성 상태입니다. 7일 이내에 역할을 삭제 취소할 수 있습니다. 7일이 지나면 이후로 30일 동안 역할이 영구 삭제 프로세스에 들어갑니다. 37일이 지나면 역할 ID를 다시 사용할 수 있게 됩니다.

참고: 역할의 사용이 중지되면 role.stage 속성을 DEPRECATED로 바꾼 다음, `deprecation_message`를 설정합니다. 그러면 사용자가 어떤 다른 역할을 사용해야 하는지 또는 어디에서 자세한 정보를 확인할 수 있게 됩니다.

작업 9. 커스텀 역할 복원하기

  • 7일 안에 역할을 복원할 수 있습니다. 삭제된 역할은 DISABLED 상태입니다. 역할을 다시 사용할 수 있도록 하려면 --stage 플래그를 업데이트합니다.
gcloud iam roles undelete viewer --project $DEVSHELL_PROJECT_ID

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 커스텀 역할 삭제 취소

수고하셨습니다

이 실습에서는 IAM에서 커스텀 역할을 만들고 관리하는 방법을 알아보았습니다.

다음 단계/더 학습하기

IAM 문서의 Cloud Identity and Access Management에서 IAM에 관해 자세히 알아보세요.

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2024년 4월 15일

실습 최종 테스트: 2023년 7월 13일

Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.