주 구성원 액세스 경계 정책 삭제

주 구성원 액세스 경계(PAB) 정책을 사용하면 주 구성원 집합이 액세스할 수 있는 리소스를 제한할 수 있습니다. 주 구성원 집합에 주 구성원 액세스 경계 정책을 더 이상 적용하지 않으려면 정책을 주 구성원 집합에 바인딩하는 정책 바인딩을 삭제하면 됩니다. 바인딩된 모든 주 구성원 집합에서 주 구성원 액세스 경계 정책을 삭제하려면 정책을 삭제하면 됩니다.

주 구성원 집합에서 주 구성원 액세스 경계 정책을 삭제하면 다음 중 하나가 적용됩니다.

  • 주 구성원 집합의 주 구성원에게 다른 주 구성원 액세스 경계 정책이 적용되지 않으면 주 구성원은 모든 Google Cloud 리소스에 액세스할 수 있습니다.
  • 주 구성원 집합의 주 구성원에게 다른 주 구성원 액세스 경계 정책이 적용되면 주 구성원은 해당 정책의 리소스에만 액세스할 수 있습니다.

시작하기 전에

  • 인증을 설정합니다.

    Select the tab for how you plan to use the samples on this page:

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.

  • 주 구성원 액세스 경계 정책 개요를 읽어 보세요.

주 구성원 액세스 경계 정책을 삭제하는 데 필요한 역할

주 구성원 액세스 경계 정책을 삭제하는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 주 구성원 액세스 경계 관리자(roles/iam.principalAccessBoundaryAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 주 구성원 액세스 경계 정책을 삭제하는 데 필요한 iam.principalaccessboundarypolicies.delete 권한이 포함되어 있습니다.

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

주 구성원 액세스 경계 정책 바인딩을 삭제하는 데 필요한 역할

주 구성원 액세스 경계 정책의 정책 바인딩을 삭제하는 데 필요한 권한은 정책에 바인딩된 주 구성원 집합에 따라 달라집니다.

주 구성원 액세스 경계 정책의 정책 바인딩을 삭제하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 조직에 대한 주 구성원 액세스 경계 사용자(roles/iam.principalAccessBoundaryUser) 역할
  • 직원 ID 제휴 풀에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 대상 직원 ID 제휴 풀에 대한 IAM 직원 풀 관리자(roles/iam.workforcePoolAdmin) 역할
  • 워크로드 아이덴티티 제휴 풀에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 대상 직원 ID 제휴 풀을 소유하는 프로젝트에 대한 IAM 워크로드 아이덴티티 풀 관리자(roles/iam.workloadIdentityPoolAdmin) 역할
  • Google Workspace 도메인에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 조직에 대한 직원 풀 IAM 관리자(roles/iam.workspacePoolAdmin) 역할
  • 프로젝트의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 프로젝트에 대한 프로젝트 IAM 관리자(roles/resourcemanager.projectIamAdmin) 역할
  • 폴더의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 폴더에 대한 폴더 IAM 관리자(roles/resourcemanager.folderIamAdmin) 역할
  • 조직의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 조직에 대한 조직 관리자(roles/resourcemanager.organizationAdmin) 역할

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 주 구성원 액세스 경계 정책의 정책 바인딩을 삭제하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

주 구성원 액세스 경계 정책의 정책 바인딩을 삭제하려면 다음 권한이 필요합니다.

  • 조직에 대한 iam.principalaccessboundarypolicies.unbind 권한
  • 직원 ID 제휴 풀에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 대상 직원 ID 제휴 풀에 대한 iam.workforcePools.deletePolicyBinding 권한
  • 워크로드 아이덴티티 제휴 풀에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 대상 직원 ID 제휴 풀을 소유하는 프로젝트에 대한 iam.workloadIdentityPools.deletePolicyBinding 권한
  • Google Workspace 도메인에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 조직에 대한 iam.workspacePools.deletePolicyBinding 권한
  • 프로젝트의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 프로젝트에 대한 resourcemanager.projects.deletePolicyBinding 권한
  • 폴더의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 폴더에 대한 resourcemanager.folders.deletePolicyBinding 권한
  • 조직의 주 구성원 집합에 바인딩된 주 구성원 액세스 경계 정책의 정책 바인딩 삭제: 조직에 대한 resourcemanager.organizations.deletePolicyBinding 권한

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

주 구성원 액세스 경계 정책 삭제 준비

주 구성원 액세스 경계 정책을 삭제하기 전에 다음 목표 중 달성할 목표를 결정합니다.

  • 주 구성원 집합의 주 구성원이 모든 리소스에 액세스할 수 있도록 설정
  • 주 구성원 집합의 주 구성원이 액세스할 수 있는 리소스 수 감소

다음 섹션에서는 이러한 각 목표를 달성하기 위해 수행해야 할 단계를 설명합니다.

주 구성원이 모든 리소스에 액세스할 수 있도록 설정

주 구성원 집합의 주 구성원이 모든 리소스에 액세스할 수 있게 하려면 다음을 실행합니다.

  1. 주 구성원 집합에 바인딩된 모든 주 구성원 액세스 경계 정책을 식별합니다.
  2. 관련 정책 바인딩을 삭제하여 주 구성원 집합에 바인딩된 모든 주 구성원 액세스 경계 정책을 삭제합니다.

주 구성원에게 주 구성원 액세스 경계 정책이 적용되지 않으면 주 구성원이 모든 Google Cloud 리소스에 액세스할 수 있습니다.

리소스에 액세스할 수 있다고 해서 반드시 사용자가 리소스에 액세스할 수 있는 것은 아닙니다. 자세한 내용은 정책 평가를 참조하세요.

주 구성원이 액세스할 수 있는 리소스 감소

주 구성원 집합의 주 구성원에게 여러 주 구성원 액세스 경계 정책이 적용되는 경우 주 구성원에게 적용되는 주 구성원 액세스 경계 정책 중 하나 이상을 삭제하여 주 구성원이 액세스할 수 있는 리소스 수를 줄일 수 있습니다. 하지만 주 구성원에게 적용되는 주 구성원 액세스 경계 정책을 모두 삭제하지 마세요. 삭제하면 주 구성원이 모든 Google Cloud 리소스에 액세스할 수 있게 됩니다.

주 구성원 집합의 주 구성원에게 항상 주 구성원 액세스 경계 정책이 최소 하나 이상 적용되는지 확인하면서 주 구성원 액세스 경계 정책을 삭제하려면 다음 단계를 수행합니다.

  1. 주 구성원 집합에 바인딩된 모든 주 구성원 액세스 경계 정책을 식별합니다.
  2. 주 구성원 집합의 주 구성원이 액세스할 수 있는 리소스 포함된 주 구성원 액세스 경계 정책을 식별합니다. 이러한 정책은 주 구성원 집합에서 삭제하지 않을 정책입니다.

    이러한 정책이 없으면 주 구성원이 액세스할 수 있는 리소스만 포함된 새 주 구성원 액세스 경계 정책을 만듭니다. 그런 다음 주 구성원 집합에 정책을 연결합니다.

  3. 주 구성원 집합의 주 구성원이 액세스할 수 없게 하려는 리소스가 포함된 주 구성원 액세스 경계 정책을 식별합니다. 그런 다음 관련 정책 바인딩을 삭제하여 이러한 주 구성원 액세스 경계 정책을 삭제합니다.

    특정 주 구성원의 액세스 권한을 줄이려면 정책 바인딩을 삭제하는 대신 정책 바인딩에 조건을 추가합니다.

주 구성원이 액세스할 수 있는 리소스 수를 줄이되 주 구성원 액세스 경계 정책을 삭제하지 않으려면 대신 주 구성원에게 적용되는 주 구성원 액세스 경계 정책을 수정하면 됩니다. 주 구성원 액세스 경계 정책을 수정하는 방법은 주 구성원 액세스 경계 정책 수정을 참조하세요.

주 구성원 집합에서 주 구성원 액세스 경계 정책 삭제

주 구성원 집합에서 주 구성원 액세스 경계 정책을 삭제하기 전에 먼저 정책 삭제를 준비합니다. 그런 다음 정책을 주 구성원 집합에 바인딩하는 정책 바인딩을 삭제하여 정책을 삭제합니다.

Google Cloud 콘솔, gcloud CLI 또는 IAM REST API를 사용하여 정책 바인딩을 삭제할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 주 구성원 액세스 경계 정책 페이지로 이동합니다.

    주 구성원 액세스 경계 정책으로 이동

  2. 바인딩을 삭제하려는 주 구성원 액세스 경계 정책을 소유한 조직을 선택합니다.

  3. 바인딩을 삭제하려는 주 구성원 액세스 경계 정책의 정책 ID를 클릭합니다.

  4. 바인딩 탭을 클릭합니다.

  5. 삭제하려는 바인딩의 ID를 찾습니다. 바인딩 행에서 작업을 클릭한 후 바인딩 삭제를 클릭합니다.

  6. 확인 대화상자에서 삭제를 클릭합니다.

gcloud

gcloud beta iam policy-bindings delete 명령어는 정책 바인딩을 삭제합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • BINDING_ID: 삭제하려는 정책 바인딩의 ID입니다(예: example-binding).
  • RESOURCE_TYPE: 정책 바인딩이 하위 요소인 Resource Manager 리소스(프로젝트, 폴더 또는 조직)의 유형입니다. project, folder 또는 organization 값을 사용합니다.

    리소스 유형은 정책 바인딩의 주 구성원 집합에 따라 달라집니다. 사용할 리소스 유형을 확인하려면 지원되는 주 구성원 유형을 참조하세요.

  • RESOURCE_ID: 정책 바인딩이 하위 요소인 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는 my-project와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.

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

Linux, macOS 또는 Cloud Shell

gcloud beta iam policy-bindings delete BINDING_ID \
    --RESOURCE_TYPE=RESOURCE_ID --location=global

Windows(PowerShell)

gcloud beta iam policy-bindings delete BINDING_ID `
    --RESOURCE_TYPE=RESOURCE_ID --location=global

Windows(cmd.exe)

gcloud beta iam policy-bindings delete BINDING_ID ^
    --RESOURCE_TYPE=RESOURCE_ID --location=global

응답에는 요청에 해당하는 장기 실행 작업이 포함됩니다.

Delete request issued for: [example-binding]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374724030-6181fcd1520c5-d21b0a12-b704e1ce] to complete...done.
Deleted policyBinding [example-binding].

REST

policyBindings.delete 메서드는 정책 바인딩을 삭제합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • RESOURCE_TYPE: 정책 바인딩이 하위 요소인 Resource Manager 리소스(프로젝트, 폴더 또는 조직)의 유형입니다. projects, folders 또는 organizations 값을 사용합니다.

    리소스 유형은 정책 바인딩의 주 구성원 집합에 따라 달라집니다. 사용할 리소스 유형을 확인하려면 지원되는 주 구성원 유형을 참조하세요.

  • RESOURCE_ID: 정책 바인딩이 하위 요소인 프로젝트, 폴더 또는 조직의 ID입니다. 프로젝트 ID는 my-project와 같은 영숫자 문자열입니다. 폴더 및 조직 ID는 123456789012와 같은 숫자입니다.
  • BINDING_ID: 삭제하려는 정책 바인딩의 ID입니다(예: example-binding).

HTTP 메서드 및 URL:

DELETE https://iam.googleapis.com/v3beta/RESOURCE_TYPE/RESOURCE_ID/locations/global/policyBindings/BINDING_ID

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에는 요청에 해당하는 장기 실행 작업이 포함됩니다.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373190994-6181f71b4daad-6d8168c1-13cc6600",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-10T20:33:11.165728913Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-binding",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

주 구성원 액세스 경계 정책 삭제

주 구성원 액세스 경계 정책을 삭제하기 전에 주 구성원 액세스 경계 정책을 참조하는 모든 주 구성원 액세스 경계 정책 바인딩을 식별하고 삭제하는 것이 좋습니다.

기존 정책 바인딩이 있는 주 구성원 액세스 경계 정책을 삭제하면 해당 바인딩도 삭제됩니다. 그러나 삭제될 때까지 정책 바인딩은 단일 주 구성원 집합을 참조할 수 있는 바인딩 10개 한도에 포함됩니다.

Google Cloud 콘솔, gcloud CLI 또는 IAM REST API를 사용하여 주 구성원 액세스 경계 정책을 삭제할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 주 구성원 액세스 경계 정책 페이지로 이동합니다.

    주 구성원 액세스 경계 정책으로 이동

  2. 바인딩을 삭제하려는 주 구성원 액세스 경계 정책을 소유한 조직을 선택합니다.

  3. 삭제하려는 정책의 ID를 찾습니다. 해당 정책 행에서 작업을 클릭한 후 정책 삭제를 클릭합니다.

  4. 확인 대화상자에서 정책을 삭제할 것인지 확인합니다.

    • 정책에 연결된 바인딩이 없는 경우에만 정책을 삭제하려면 삭제를 클릭합니다.
    • 정책 및 연결된 모든 바인딩을 삭제하려면 정책 강제 삭제 체크박스를 선택한 후 삭제를 클릭합니다.

gcloud

gcloud iam gcloud beta iam principal-access-boundary-policies delete 명령어는 주 구성원 액세스 경계 정책 및 모든 연결된 바인딩을 삭제합니다.

아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.

  • PAB_POLICY_ID: 삭제하려는 주 구성원 액세스 경계 정책의 ID입니다(예: example-policy).
  • ORG_ID: 주 구성원 액세스 경계 정책을 소유하는 조직의 ID입니다. 조직 ID는 123456789012와 같은 숫자입니다.
  • FORCE_FLAG: 선택사항. 명령어에서 정책을 강제로 삭제하게 하려면 정책이 기존 정책 바인딩에서 참조되더라도 --force 플래그를 사용합니다. 이 플래그가 설정되지 않고 정책이 기존 정책 바인딩에서 참조되면 명령어가 실패합니다.

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

Linux, macOS 또는 Cloud Shell

gcloud beta iam principal-access-boundary-policies delete PAB_POLICY_ID \
    --organization=ORG_ID --location=global FORCE_FLAG

Windows(PowerShell)

gcloud beta iam principal-access-boundary-policies delete PAB_POLICY_ID `
    --organization=ORG_ID --location=global FORCE_FLAG

Windows(cmd.exe)

gcloud beta iam principal-access-boundary-policies delete PAB_POLICY_ID ^
    --organization=ORG_ID --location=global FORCE_FLAG

응답에는 요청에 해당하는 장기 실행 작업이 포함됩니다.

Delete request issued for: [example-policy]
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete...
Waiting for operation [organizations/123456789012/locations/global/operations/operation-1715374811191-6181fd2471ab4-f0947406-85778c43] to complete...done.
Deleted principalAccessBoundaryPolicy [example-policy].

REST

principalAccessBoundaryPolicies.delete 메서드는 주 구성원 액세스 경계 정책과 연결된 모든 바인딩을 삭제합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • ORG_ID: 주 구성원 액세스 경계 정책을 소유하는 조직의 ID입니다. 조직 ID는 123456789012와 같은 숫자입니다.
  • PAB_POLICY_ID: 삭제하려는 주 구성원 액세스 경계 정책의 ID입니다(예: example-policy).
  • FORCE_DELETE: 선택사항. 정책 삭제 요청을 강제하려면 정책이 기존 정책 바인딩에서 참조되더라도 쿼리 파라미터 force=true를 추가합니다. 이 쿼리 파라미터가 설정되지 않고 정책이 기존 정책 바인딩에서 참조되면 요청이 실패합니다.

HTTP 메서드 및 URL:

DELETE https://iam.googleapis.com/v3beta/organizations/ORG_ID/locations/global/principalAccessBoundaryPolicies/PAB_POLICY_ID?FORCE_DELETE

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

응답에는 요청에 해당하는 장기 실행 작업이 포함됩니다.

{
  "name": "organizations/123456789012/locations/global/operations/operation-1715373190994-6181f71b4daad-6d8168c1-13cc6600",
  "metadata": {
    "@type": "type.googleapis.com/google.iam.v3beta.OperationMetadata",
    "createTime": "2024-05-10T20:33:11.165728913Z",
    "target": "organizations/123456789012/locations/global/policyBindings/example-policy",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v3beta"
  },
  "done": false
}

다음 단계