범위가 지정된 액세스 정책 만들기

이 페이지에서는 범위가 지정된 액세스 정책을 만들고 위임하는 방법을 설명합니다.

시작하기 전에

  • 범위가 지정된 정책에 대해 알아보기

  • VPC 서비스 제어 권한 부여에 대해 알아보기

  • 범위가 지정된 액세스 정책을 위임받은 위임된 관리자에게 범위가 지정된 정책이 바인딩된 폴더나 프로젝트에 대한 cloudasset.assets.searchAllResources 권한이 있어야 합니다. 위임된 관리자가 모든 Google Cloud 리소스를 검색하려면 이 권한이 필요합니다.

  • 서비스 경계 구성에 대해 알아보기

범위가 지정된 액세스 정책 만들기

범위가 지정된 액세스 정책을 만들고 조직의 폴더 및 프로젝트에 대한 관리를 위임합니다. 범위가 지정된 액세스 정책을 만든 후에는 정책 범위를 변경할 수 없습니다. 기존 정책 범위를 변경하려면 정책을 삭제하고 새 범위로 정책을 다시 만드세요.

콘솔

  1. Google Cloud 콘솔 탐색 메뉴에서 보안을 클릭한 다음 VPC 서비스 제어를 클릭합니다.

    VPC 서비스 제어로 이동

  2. 메시지가 표시되면 조직, 폴더 또는 프로젝트를 선택합니다.

  3. VPC 서비스 제어 페이지에서 범위가 지정된 정책의 상위 요소인 액세스 정책을 선택합니다. 예를 들어 default policy 조직 정책을 선택할 수 있습니다.

  4. 정책 관리를 클릭합니다.

  5. VPC 서비스 제어 관리 페이지에서 만들기를 클릭합니다.

  6. 액세스 정책 만들기 페이지의 액세스 정책 이름 상자에 범위가 지정된 액세스 정책의 이름을 입력합니다.

    범위가 지정된 액세스 정책 이름의 최대 길이는 50자(영문 기준)이고 문자로 시작해야 하며 ASCII 라틴 문자(a~z, A~Z), 숫자(0~9) 또는 밑줄(_)만 이름에 사용할 수 있습니다. 범위가 지정된 액세스 정책 이름은 대소문자를 구분하며 조직의 액세스 정책 내에서 고유해야 합니다.

  7. 액세스 정책 범위를 지정하려면 범위를 클릭합니다.

  8. 프로젝트나 폴더를 액세스 정책 범위로 지정합니다.

    • 액세스 정책 범위에 추가할 프로젝트를 선택하려면 다음을 수행합니다.

      1. 범위 창에서 프로젝트 추가를 클릭합니다.

      2. 프로젝트 추가 대화상자에서 프로젝트 체크박스를 선택합니다.

      3. 완료를 클릭합니다. 추가된 프로젝트가 범위 섹션에 표시됩니다.

    • 액세스 정책 범위에 추가할 폴더를 선택하려면 다음을 수행합니다.

      1. 범위 창에서 폴더 추가를 클릭합니다.

      2. 폴더 추가 대화상자에서 폴더의 체크박스를 선택합니다.

      3. 완료를 클릭합니다. 추가된 폴더가 범위 섹션에 표시됩니다.

  9. 범위가 지정된 액세스 정책 관리를 위임하려면 주 구성원을 클릭합니다.

  10. 액세스 정책에 바인딩할 주 구성원과 역할을 지정하려면 다음을 수행합니다.

    1. 주 구성원 창에서 주 구성원 추가를 클릭합니다.

    2. 주 구성원 추가 대화상자에서 사용자 이름 또는 서비스 계정과 같은 주 구성원을 선택합니다.

    3. 편집자 및 읽기 역할과 같은 주 구성원에 연결할 역할을 선택합니다.

    4. 저장을 클릭합니다. 추가된 주 구성원과 역할이 주 구성원 섹션에 표시됩니다.

  11. 액세스 정책 만들기 페이지에서 액세스 정책 만들기를 클릭합니다.

gcloud

범위가 지정된 액세스 정책을 만들려면 gcloud access-context-manager policies create 명령어를 사용합니다.

gcloud access-context-manager policies create \
--organization ORGANIZATION_ID [--scopes=SCOPE] --title POLICY_TITLE

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

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

  • POLICY_TITLE은 사람이 읽을 수 있는 정책 제목입니다. 정책 제목의 최대 길이는 50자(영문 기준)이고 문자로 시작해야 하며 ASCII 라틴 문자(a~z, A~Z), 숫자(0~9), 밑줄(_)만 이름에 사용할 수 있습니다. 정책 제목은 대소문자를 구분하며 조직의 액세스 정책 내에서 고유해야 합니다.

  • SCOPE는 이 정책이 적용되는 폴더나 프로젝트입니다. 폴더 또는 프로젝트 하나만 범위로 지정할 수 있으며 범위는 지정된 조직 내에 있어야 합니다. 범위를 지정하지 않으면 정책이 전체 조직에 적용됩니다.

다음 출력이 표시됩니다. 여기서 POLICY_NAME은 Google Cloud에서 할당한 정책의 고유한 숫자 식별자입니다.

Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.

범위가 지정된 액세스 정책에서 주 구성원과 역할을 바인딩하여 관리를 위임하려면 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.policyEditor) 또는 커스텀 역할의 역할 ID(예: organizations/{ORGANIZATION_ID}/roles/accesscontextmanager.policyEditor)의 전체 경로입니다.

API

범위가 지정된 액세스 정책을 만들려면 다음 안내를 따르세요.

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

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

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

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

    • SCOPE는 이 정책이 적용되는 폴더나 프로젝트입니다.

    • POLICY_TITLE은 사람이 읽을 수 있는 정책 제목입니다. 정책 제목의 최대 길이는 50자(영문 기준)이고 문자로 시작해야 하며 ASCII 라틴 문자(a~z, A~Z), 숫자(0~9), 밑줄(_)만 이름에 사용할 수 있습니다. 정책 제목은 대소문자를 구분하며 조직의 액세스 정책 내에서 고유해야 합니다.

  2. accessPolicies.create를 호출하여 액세스 정책을 만듭니다.

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

응답 본문

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

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

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

    {
     "policy": "IAM_POLICY",
    }

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

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

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

응답 본문

성공한 경우 응답 본문에 policy의 인스턴스가 포함됩니다.

다음 단계