액세스 정책 관리

이 페이지에서는 기존 액세스 정책을 관리하는 방법을 설명합니다. 다음을 수행하면 됩니다.

액세스 정책의 이름 및 ETag 가져오기

Console

Console에서는 액세스 정책을 관리할 수 없습니다. 액세스 정책을 관리하려면 gcloud 명령줄 도구 또는 API를 사용해야 합니다.

gcloud

list 명령어를 사용하여 액세스 정책 이름을 가져올 수 있습니다. 액세스 정책 이름은 gcloud 명령줄 도구의 모든 액세스 수준 명령어에 필요합니다.

gcloud access-context-manager policies list \
    --organization ORGANIZATION_ID

각 항목의 의미는 다음과 같습니다.

  • ORGANIZATION_ID는 조직의 숫자 ID입니다.

다음과 비슷한 출력이 표시됩니다.

NAME           ORGANIZATION  TITLE        ETAG
1034095178592  511928527926  Corp Policy  10bc3c76ca809ab2

API

액세스 정책 이름을 가져오려면 accessPolicies.list를 호출합니다.

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

호출이 성공하면 응답 본문은 다음과 같습니다.

{
  "accessPolicies": [
    {
      object(AccessPolicy)
    }
  ],
  "nextPageToken": string
}

각 항목의 의미는 다음과 같습니다.

gcloud 명령줄 도구의 기본 액세스 정책 설정

gcloud 명령줄 도구를 사용할 때 기본 액세스 정책을 설정할 수 있습니다. 기본 정책을 설정하면 Access Context Manager 명령어를 사용할 때마다 더 이상 정책을 지정할 필요가 없습니다.

기본 액세스 정책을 설정하려면 config 명령어를 사용합니다.

gcloud config set access_context_manager/policy POLICY_NAME

각 항목의 의미는 다음과 같습니다.

액세스 정책 위임

Console

Console에서는 액세스 정책을 관리할 수 없습니다. 액세스 정책을 관리하려면 gcloud 명령줄 도구 또는 API를 사용해야 합니다.

gcloud

범위가 지정된 액세스 정책에서 주 구성원과 역할을 바인딩하여 관리를 위임하려면 add-iam-policy-binding 명령어를 사용합니다.

gcloud access-context-manager policies add-iam-policy-binding \
[POLICY] --member=PRINCIPAL --role=ROLE

각 항목의 의미는 다음과 같습니다.

  • POLICY는 정책의 ID 또는 정규화된 식별자입니다.

  • PRINCIPAL은 binding이 추가되는 주 구성원입니다. user|group|serviceAccount:email 또는 domain:domain 형식으로 지정합니다.

  • ROLE은 주 구성원에 할당되는 역할 이름입니다. 역할 이름은 사전 정의된 역할(예: roles/accesscontextmanager.policyReader) 또는 커스텀 역할의 역할 ID(예: organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyReader)의 전체 경로입니다.

API

범위가 지정된 액세스 정책 관리를 위임하려면 다음을 수행합니다.

  1. 요청 본문을 만듭니다.

    {
    "policy": "IAM_POLICY",
    }
    

    각 항목의 의미는 다음과 같습니다.

    • IAM_POLICY는 binding 컬렉션입니다. binding은 구성원 또는 주 구성원 하나 이상을 단일 역할에 바인딩합니다. 주 구성원은 사용자 계정, 서비스 계정, Google 그룹, 도메인일 수 있습니다. 역할이란 이름이 지정된 권한 목록입니다. 각 역할은 IAM 사전 정의된 역할이나 사용자가 만든 커스텀 역할일 수 있습니다.
  2. accessPolicies.setIamPolicy를 호출하여 액세스 정책을 위임합니다.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies
    

응답 본문

성공하면 응답 본문에 policy 인스턴스가 포함됩니다.

액세스 정책 설명

Console

Console에서는 액세스 정책을 관리할 수 없습니다. 액세스 정책을 관리하려면 gcloud 명령줄 도구 또는 API를 사용해야 합니다.

gcloud

액세스 정책을 설명하려면 describe 명령어를 사용합니다.

gcloud access-context-manager policies describe POLICY_NAME

각 항목의 의미는 다음과 같습니다.

  • POLICY_NAME은 정책의 숫자 이름입니다.

다음이 출력됩니다.

name: accessPolicies/1034095178592
parent: organizations/511928527926
title: Corp Policy

API

액세스 정책을 설명하려면 accessPolicies.get을 호출합니다.

GET https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

각 항목의 의미는 다음과 같습니다.

  • POLICY_NAME은 정책의 숫자 이름입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

성공한 경우 응답 본문에 AccessPolicy 객체가 포함됩니다.

액세스 정책 업데이트

Console

Console에서는 액세스 정책을 관리할 수 없습니다. 액세스 정책을 관리하려면 gcloud 명령줄 도구 또는 API를 사용해야 합니다.

gcloud

액세스 정책을 업데이트하려면 update 명령어를 사용합니다. 현재는 정책 제목만 변경할 수 있습니다.

gcloud access-context-manager policies update POLICY_NAME \
    --title=POLICY_TITLE

각 항목의 의미는 다음과 같습니다.

  • POLICY_NAME은 정책의 숫자 이름입니다.

  • POLICY_TITLE은 사람이 읽을 수 있는 정책 제목입니다.

다음이 출력됩니다.

Waiting for PATCH operation [accessPolicies/POLICY_NAME/update/1542234231134882]...done.

API

현재는 액세스 정책 제목만 변경할 수 있습니다.

정책을 업데이트하려면 다음 단계를 따르세요.

  1. 요청 본문을 만듭니다.

    {
     "parent": "ORGANIZATION_ID",
     "title": "POLICY_TITLE"
    }
    

    각 항목의 의미는 다음과 같습니다.

    • ORGANIZATION_ID는 조직의 숫자 ID입니다.

    • POLICY_TITLE은 사람이 읽을 수 있는 정책 제목입니다.

  2. accessPolicies.patch를 호출합니다.

    PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/UPDATE_MASK
    

    각 항목의 의미는 다음과 같습니다.

    • POLICY_NAME은 정책의 숫자 이름입니다.

    • UPDATE_MASK는 업데이트할 값을 나타내는 문자열입니다. title).

    응답 본문

    호출이 성공하면 호출의 응답 본문에 PATCH 작업에 대한 세부정보를 제공하는 Operation 리소스가 포함됩니다.

액세스 정책 삭제

Console

Console은 현재 액세스 정책 관리를 지원하지 않습니다. 액세스 정책을 관리하려면 gcloud 명령줄 도구 또는 API를 사용해야 합니다.

gcloud

액세스 정책을 삭제하려면 다음 단계를 따르세요.

  1. delete 명령어를 사용합니다.

    gcloud access-context-manager policies delete POLICY_NAME
    

    각 항목의 의미는 다음과 같습니다.

    • POLICY_NAME은 정책의 숫자 이름입니다.
  2. 액세스 정책을 삭제할지 확인합니다.

    예를 들면 다음과 같습니다.

    You are about to delete policy [POLICY_NAME]
    
    Do you want to continue (Y/n)?
    

    다음이 출력됩니다.

    Deleted policy [1034095178592].
    

API

액세스 정책을 삭제하려면 accessPolicies.delete를 호출합니다.

DELETE https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME

각 항목의 의미는 다음과 같습니다.

  • POLICY_NAME은 정책의 숫자 이름입니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

호출이 성공하면 호출의 응답 본문에 DELETE 작업에 대한 세부정보를 제공하는 Operation 리소스가 포함됩니다.

다음 단계