이 페이지에서는 특정 Identity and Access Management(IAM) 권한을 사용하지 못하도록 방지하여 주 구성원 액세스를 거부하는 방법을 설명합니다.
IAM에서는 거부 정책을 사용하여 액세스를 거부합니다. 각 거부 정책은 Google Cloud 조직, 폴더 또는 프로젝트에 연결됩니다. 거부 정책에는 주 구성원을 식별하고 주 구성원이 사용할 수 없는 권한을 나열하는 거부 규칙이 포함됩니다.
거부 정책은 IAM 정책으로도 알려진 허용 정책과 구분됩니다. 허용 정책은 주 구성원에 IAM 역할을 부여하여 리소스에 대해 액세스 권한을 제공합니다.
Google Cloud CLI 또는 IAM v2 REST API를 사용하여 Google Cloud 콘솔에서 거부 정책을 관리할 수 있습니다.
시작하기 전에
- Enable the IAM API. - Roles required to enable APIs - To enable APIs, you need the Service Usage Admin IAM role ( - roles/serviceusage.serviceUsageAdmin), which contains the- serviceusage.services.enablepermission. Learn how to grant roles.
- 인증을 설정합니다. - Select the tab for how you plan to use the samples on this page: - Console- When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. - gcloud- In the Google Cloud console, 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. - Terraform- 로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - Go- 로컬 개발 환경에서 이 페이지의 Go 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - 자바- 로컬 개발 환경에서 이 페이지의 Java 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - Node.js- 로컬 개발 환경에서 이 페이지의 Node.js 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - Python- 로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - If you're using a local shell, then create local authentication credentials for your user account: - gcloud auth application-default login - You don't need to do this if you're using Cloud Shell. - If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity. - 자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요. - REST- 로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다. - Google Cloud CLI를 설치합니다. - 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다. - 자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요. - 거부 정책 개요를 읽어봅니다. - 필요한 역할- 거부 정책을 관리하는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 다음 IAM 역할을 부여해 달라고 요청하세요. - 
            거부 정책을 보려는 경우: 거부 검토자(roles/iam.denyReviewer)
- 
            거부 정책을 보고 만들고 업데이트하고 삭제하려는 경우: 거부 관리자(roles/iam.denyAdmin)
 - 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요. - 이러한 사전 정의된 역할에는 거부 정책 관리에 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요. - 필수 권한- 거부 정책을 관리하려면 다음 권한이 필요합니다. - 
                거부 정책을 보려면 다음 권한이 필요합니다.
                - 
                      iam.denypolicies.get
- 
                      iam.denypolicies.list
 
- 
                      
- 
                거부 정책을 만들고, 업데이트하고, 삭제하려면 다음 권한이 필요합니다.
                - 
                      iam.denypolicies.create
- 
                      iam.denypolicies.delete
- 
                      iam.denypolicies.get
- 
                      iam.denypolicies.update
 
- 
                      
 - 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다. - 거부할 권한 식별- 거부 정책을 만들려면 먼저 거부할 권한과 이러한 권한을 거부할 주 구성원을 결정해야 합니다. - 일부 권한만 거부할 수 있습니다. 거부할 수 있는 권한의 목록은 거부 정책에서 지원되는 권한을 참조하세요. - 경우에 따라 권한 그룹을 사용하여 권한 집합을 거부할 수도 있습니다. 자세한 내용은 권한 그룹을 참조하세요. - 권한 이름에 특별한 형식이 필요한 - v2REST API로 거부 정책을 관리합니다. 예를 들어 IAM 커스텀 역할 만들기 권한의 이름은 다음과 같이 지정됩니다.- v1API:- iam.roles.create
- v2API:- iam.googleapis.com/roles.create
 - 거부 정책 만들기- 조직, 폴더, 프로젝트에 거부 정책을 추가할 수 있습니다. 각 리소스에 거부 정책을 최대 500개까지 사용할 수 있습니다. - 거부 정책에는 다음을 지정하는 거부 규칙이 포함됩니다. - 거부할 권한입니다.
- 이러한 권한이 거부된 주 구성원입니다.
- 선택사항: 권한 거부에서 제외할 주 구성원입니다. - 예를 들어 그룹에 권한을 거부할 수 있지만 해당 그룹에 속하는 특정 사용자를 제외할 수 있습니다. 
- 선택사항: 주 구성원이 권한을 사용할 수 없는 경우를 지정하는 조건 표현식입니다. 거부 정책에서 조건 표현식은 리소스 태그에 대한 함수만 사용할 수 있습니다. 다른 함수 및 연산자는 지원되지 않습니다. 
 - 각 리소스는 연결된 모든 거부 정책 간에 거부 정책을 최대 500개까지 사용할 수 있습니다. - 거부 정책은 리소스 계층을 통해 상속됩니다. 예를 들어 조직 수준에서 권한을 거부하는 경우 해당 권한이 조직 내의 폴더 및 프로젝트에서 그리고 각 프로젝트 내의 서비스 특정 리소스에서 거부됩니다. - 거부 정책은 허용 정책을 재정의합니다. 주 구성원에 특정 권한이 포함된 역할이 부여되었지만 거부 정책에 주 구성원이 해당 권한을 사용할 수 없도록 지정된 경우 주 구성원이 권한을 사용할 수 없습니다. - 콘솔- Google Cloud 콘솔에서 IAM 페이지의 거부 탭으로 이동합니다. 
- 프로젝트, 폴더, 조직을 선택합니다. 
- 거부 정책 만들기를 클릭합니다. 
- 정책 이름 섹션에서 다음 중 하나를 수행하여 정책 ID를 정의합니다. - 표시 이름 필드에 정책 표시 이름을 입력합니다. 이 필드를 작성하면 ID 필드가 자동으로 작성됩니다. 정책 ID를 변경하려면 ID 필드의 텍스트를 업데이트합니다.
- ID 필드에 정책 ID를 입력합니다.
 
- 거부 규칙 섹션에서 정책 거부 규칙을 정의합니다. 거부 정책마다 거부 규칙이 최소 하나 이상 있어야 합니다. 거부 규칙을 추가하려면 거부 규칙 추가를 클릭합니다. - 거부 규칙마다 다음을 수행합니다. - 거부된 주 구성원 필드에 지정된 권한을 사용하지 못하게 하려는 주 구성원을 하나 이상 추가합니다. 주 구성원은 ID가 deleted:로 시작하는 주 구성원을 제외하고 거부 정책의 주 구성원 식별자의 모든 주 구성원 유형이 될 수 있습니다.
- 선택사항: 예외 주 구성원 필드에 지정된 권한을 사용할 수 있게 하려는 주 구성원을 추가합니다. 이 주 구성원이 거부된 주 구성원 섹션에 포함되어 있는 경우에도 추가할 수 있습니다. 예를 들어 이 필드를 사용하여 거부된 그룹에 속하는 특정 사용자에 대한 예외를 설정할 수 있습니다. 
- 거부된 권한 섹션에 거부할 권한을 추가합니다. 권한은 거부 정책에서 지원되어야 합니다. - 경우에 따라 권한 그룹을 사용하여 권한 집합을 거부할 수도 있습니다. 자세한 내용은 권한 그룹을 참조하세요. 
- 선택사항: 예외 권한을 추가합니다. 예외 권한은 거부된 권한 목록에 포함되어 있더라도 이 거부 규칙에서 거부하지 않으려는 권한입니다. 예를 들어 이 필드를 사용하여 권한 그룹의 특정 권한에 대한 예외를 설정할 수 있습니다. - 예외 권한을 추가하려면 예외 권한을 클릭하고 다른 권한 추가를 클릭한 후 권한 1 필드에 권한을 입력합니다. 거부 정책에서 제외할 권한을 모두 추가할 때까지 권한을 계속 추가합니다. 
- 선택사항: 주 구성원이 권한을 사용할 수 없는 경우를 지정하는 거부 조건을 추가합니다. 거부 조건을 추가하려면 거부 조건 추가를 클릭한 후 다음 필드를 정의합니다. - 제목: 선택사항입니다. 조건 목적에 대한 간단한 요약입니다.
- 설명: 선택사항입니다. 조건에 대한 자세한 설명입니다.
- 조건 표현식: 조건 작성 도구 또는 조건 편집기를 사용하여 조건 표현식을 추가할 수 있습니다. 조건 빌더에서는 표현식에 대해 원하는 조건 유형, 연산자, 기타 적용 가능한 세부정보를 선택할 수 있는 대화형 인터페이스를 제공합니다. 조건 편집기에서는 Common Expression Language(CEL) 문법을 사용하여 표현식을 수동으로 입력할 수 있는 텍스트 기반 인터페이스를 제공합니다. - 거부 조건은 리소스 태그 기반이어야 합니다. 다른 함수와 연산자는 지원되지 않습니다. 
 
 
- 거부된 주 구성원 필드에 지정된 권한을 사용하지 못하게 하려는 주 구성원을 하나 이상 추가합니다. 주 구성원은 ID가 
- 만들기를 클릭합니다. 
 - gcloud- 리소스에 대해 거부 정책을 만들려면 정책이 포함된 JSON 파일 만들기로 시작합니다. 거부 정책에는 다음 형식이 사용됩니다. - { "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] } - 다음 값을 제공합니다. - POLICY_NAME: 거부 정책의 표시 이름입니다.
- 
DENY_RULE_1,DENY_RULE_2,...DENY_RULE_N: 정책의 거부 규칙입니다. 각 거부 규칙에는 다음 필드가 포함될 수 있습니다.- 
    deniedPermissions: 지정된 주 구성원이 사용할 수 없는 권한 목록입니다. 권한은 거부 정책에서 지원되어야 합니다.경우에 따라 권한 그룹을 사용하여 권한 집합을 거부할 수도 있습니다. 자세한 내용은 권한 그룹을 참조하세요. 
- 
    exceptionPermissions: 지정된 주 구성원이 사용할 수 있는 권한 목록입니다(권한이deniedPermissions에 포함된 경우에도 해당). 예를 들어 이 필드를 사용하여 권한 그룹의 특정 권한에 대한 예외를 설정할 수 있습니다.
- 
    deniedPrincipals: 지정된 권한을 사용할 수 없는 주 구성원의 목록입니다. 주 구성원 식별자 형식을 지정하는 방법은 거부 정책의 주 구성원 식별자를 참조하세요.
- 
    exceptionPrincipals: 선택사항. 주 구성원이deniedPrincipals에 포함된 경우에도 지정된 권한을 사용할 수 있는 주 구성원 목록입니다. 예를 들어 이 필드를 사용하여 거부된 그룹에 속하는 특정 사용자에 대해 예외를 설정할 수 있습니다. 주 구성원 식별자 형식을 지정하는 방법은 거부 정책의 주 구성원 식별자를 참조하세요.
- 
    denialCondition: 선택사항. 주 구성원이 권한을 사용할 수 없는 경우를 지정하는 조건 표현식입니다. 다음 필드가 포함됩니다.- 
        expression: Common Expression Language(CEL) 문법을 사용하는 조건 표현식입니다. 이 표현식은 리소스 태그 평가를 위해 CEL 함수를 사용해야 합니다. 다른 함수 및 연산자는 지원되지 않습니다.
- 
        title: 선택사항. 조건 목적에 대한 간단한 요약입니다.
- 
        description: 선택사항. 조건에 대한 자세한 설명입니다.
 
- 
        
 거부 규칙 예시는 일반 사용 사례를 참조하세요. 
- 
    
 - 예를 들어 다음 거부 정책에는 Lucian에 대해 하나의 권한을 거부하는 하나의 거부 규칙이 포함됩니다. - { "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }- 그런 후 - gcloud iam policies create명령어를 실행합니다.- gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE - 다음 값을 제공합니다. - 
POLICY_ID: 거부 정책의 식별자입니다.
- 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- 
POLICY_FILE: 거부 정책을 포함하는 JSON 파일의 파일 경로입니다.
 - 기본적으로 이 명령어는 성공하더라도 출력을 표시하지 않습니다. 자세한 응답을 출력하려면 명령어에 - --format=json플래그를 추가합니다.- 예를 들어 다음 명령어는 - policy.json이라는 파일을 사용하여- my-project프로젝트에 대해- my-deny-policy라는 거부 정책을 만듭니다.- gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json- Terraform- Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요. 자세한 내용은 Terraform 제공업체 참고 문서를 확인하세요. - Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.createPolicy메서드는 리소스에 대한 거부 정책을 만듭니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- POLICY_ID: 거부 정책의 식별자입니다.
- POLICY_NAME: 거부 정책의 표시 이름입니다.
- 
DENY_RULE_1,DENY_RULE_2,...DENY_RULE_N: 정책의 거부 규칙입니다. 각 거부 규칙에는 다음 필드가 포함될 수 있습니다.- 
    deniedPermissions: 지정된 주 구성원이 사용할 수 없는 권한 목록입니다. 권한은 거부 정책에서 지원되어야 합니다.경우에 따라 권한 그룹을 사용하여 권한 집합을 거부할 수도 있습니다. 자세한 내용은 권한 그룹을 참조하세요. 
- 
    exceptionPermissions: 지정된 주 구성원이 사용할 수 있는 권한 목록입니다(권한이deniedPermissions에 포함된 경우에도 해당). 예를 들어 이 필드를 사용하여 권한 그룹의 특정 권한에 대한 예외를 설정할 수 있습니다.
- 
    deniedPrincipals: 지정된 권한을 사용할 수 없는 주 구성원의 목록입니다. 주 구성원 식별자 형식을 지정하는 방법은 거부 정책의 주 구성원 식별자를 참조하세요.
- 
    exceptionPrincipals: 선택사항. 주 구성원이deniedPrincipals에 포함된 경우에도 지정된 권한을 사용할 수 있는 주 구성원 목록입니다. 예를 들어 이 필드를 사용하여 거부된 그룹에 속하는 특정 사용자에 대해 예외를 설정할 수 있습니다. 주 구성원 식별자 형식을 지정하는 방법은 거부 정책의 주 구성원 식별자를 참조하세요.
- 
    denialCondition: 선택사항. 주 구성원이 권한을 사용할 수 없는 경우를 지정하는 조건 표현식입니다. 다음 필드가 포함됩니다.- 
        expression: Common Expression Language(CEL) 문법을 사용하는 조건 표현식입니다. 이 표현식은 리소스 태그 평가를 위해 CEL 함수를 사용해야 합니다. 다른 함수 및 연산자는 지원되지 않습니다.
- 
        title: 선택사항. 조건 목적에 대한 간단한 요약입니다.
- 
        description: 선택사항. 조건에 대한 자세한 설명입니다.
 
- 
        
 거부 규칙 예시는 일반 사용 사례를 참조하세요. 
- 
    
 - HTTP 메서드 및 URL: - POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID - JSON 요청 본문: - { "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }- 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }- 응답은 장기 실행 작업을 식별합니다. 장기 실행 작업의 상태를 모니터링하여 완료되는 시간을 찾아낼 수 있습니다. 자세한 내용은 이 페이지에서 장기 실행 작업의 상태 확인을 참조하세요. - 거부 정책 나열- 리소스는 거부 정책을 여러 개 포함할 수 있습니다. 리소스에 연결된 모든 거부 정책을 나열한 후 각 거부 정책을 확인하여 각 정책의 거부 규칙을 볼 수 있습니다. - 콘솔- gcloud- 리소스의 거부 정책을 나열하려면 - gcloud iam policies list명령어를 실행합니다.- gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json - 다음 값을 제공합니다. - 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
 - 예를 들어 다음 명령어는 해당 숫자 ID가 - 123456789012인 조직에 연결된 거부 정책을 나열합니다.- gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json- Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.listPolicies메서드는 리소스에 대한 거부 정책을 나열합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }- 거부 정책 보기- 거부된 권한, 권한을 사용할 수 없는 주 구성원 등 거부 정책을 확인하여 포함된 거부 규칙을 볼 수 있습니다. - 콘솔- Google Cloud 콘솔에서 IAM 페이지의 거부 탭으로 이동합니다. 
- 프로젝트, 폴더, 조직을 선택합니다. 
- 정책 ID 열에서 보려는 정책의 ID를 클릭합니다. - Google Cloud 콘솔에 정책 ID, 정책 생성 시점, 거부 정책의 거부 규칙을 포함한 거부 정책의 세부정보가 표시됩니다. 
 - gcloud- 리소스의 거부 정책을 가져오려면 - gcloud iam policies get명령어를 실행합니다.- gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json - 다음 값을 제공합니다. - 
POLICY_ID: 거부 정책의 식별자입니다.
- 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
 - 예를 들어 다음 명령어는 - my-project프로젝트에 대해- my-deny-policy라는 거부 정책을 가져오고 이를- policy.json이라는 파일에 저장합니다.- gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json- Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.get메서드는 리소스에 대한 거부 정책을 가져옵니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- POLICY_ID: 거부 정책의 식별자입니다.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }- 거부 정책 업데이트- 거부 정책을 만든 후에는 여기에 포함된 거부 규칙은 물론 해당 표시 이름을 업데이트할 수 있습니다. - Google Cloud 콘솔을 사용하거나 다음 프로그래매틱 메서드 중 하나를 사용하여 거부 정책을 업데이트할 수 있습니다. - gcloud CLI
- REST API
- IAM 클라이언트 라이브러리
 - Google Cloud 콘솔을 사용하여 거부 정책 업데이트- Google Cloud 콘솔에서 IAM 페이지의 거부 탭으로 이동합니다. 
- 프로젝트, 폴더, 조직을 선택합니다. 
- 정책 ID 열에서 수정하려는 정책의 ID를 클릭합니다. 
- 수정을 클릭합니다. 
- 거부 정책을 업데이트합니다. - 정책 표시 이름을 변경하려면 표시 이름 필드를 수정합니다.
- 기존 거부 규칙을 수정하려면 거부 규칙을 클릭한 후 규칙의 주 구성원, 예외 주 구성원, 거부된 권한, 예외 권한 또는 거부 조건을 수정합니다.
- 거부 규칙을 삭제하려면 삭제하려는 거부 규칙을 찾은 후 해당 행에서 삭제를 클릭합니다.
- 거부 규칙을 추가하려면 거부 규칙 추가를 클릭한 후 거부 정책을 만들 때와 같이 거부 규칙을 만듭니다.
 
- 거부 정책 업데이트를 완료하면 저장을 클릭합니다. 
 - 프로그래매틱 방식으로 거부 정책 업데이트- gcloud CLI, REST API 또는 IAM 클라이언트 라이브러리를 사용하여 거부 정책을 업데이트하려면 읽기-수정-쓰기 패턴을 사용합니다. - 정책의 현재 버전을 읽습니다.
- 필요에 따라 정책의 정보를 수정합니다.
- 업데이트된 정책을 작성합니다.
 - 거부 정책 읽기- gcloud- 리소스의 거부 정책을 가져오려면 - gcloud iam policies get명령어를 실행합니다.- gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json - 다음 값을 제공합니다. - 
POLICY_ID: 거부 정책의 식별자입니다.
- 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
 - 예를 들어 다음 명령어는 - my-project프로젝트에 대해- my-deny-policy라는 거부 정책을 가져오고 이를- policy.json이라는 파일에 저장합니다.- gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json- Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.get메서드는 리소스에 대한 거부 정책을 가져옵니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- POLICY_ID: 거부 정책의 식별자입니다.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }- 거부 정책 수정- 거부 정책을 수정하려면 IAM에서 이전에 읽은 정책의 사본을 변경합니다. 표시 이름을 업데이트하거나 거부 규칙을 추가, 변경, 삭제할 수 있습니다. 업데이트된 정책을 작성할 때까지는 변경사항이 적용되지 않습니다. - 예를 들어 기존 거부 규칙에 권한을 추가할 수 있습니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } - 업데이트된 거부 정책 작성- 로컬로 거부 정책을 수정한 후에는 업데이트된 거부 정책을 IAM에 작성해야 합니다. - 각 거부 정책에는 정책 버전을 식별하는 - etag필드가 포함됩니다.- etag는 정책을 업데이트할 때마다 변경됩니다. 업데이트된 정책을 작성할 때 요청의- etag는 IAM에 저장된 현재- etag와 일치해야 합니다. 값이 일치하지 않으면 요청이 실패합니다. 이 기능은 동시 변경사항이 서로 덮어쓰지 않도록 방지하는 데 도움이 됩니다.- gcloud- 리소스의 거부 정책을 업데이트하려면 - gcloud iam policies update명령어를 실행합니다.- gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE - 다음 값을 제공합니다. - 
POLICY_ID: 거부 정책의 식별자입니다.
- 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- 
POLICY_FILE: 거부 정책을 포함하는 JSON 파일의 파일 경로입니다.
 - 기본적으로 이 명령어는 성공하더라도 출력을 표시하지 않습니다. 자세한 응답을 출력하려면 명령어에 - --format=json플래그를 추가합니다.- 예를 들어 다음 명령어는 - policy.json이라는 파일을 사용하여- my-project프로젝트에 대해- my-deny-policy라는 거부 정책을 업데이트합니다.- gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json- Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.update메서드는 거부 정책을 업데이트합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- POLICY_ID: 거부 정책의 식별자입니다.
- 
    POLICY: 업데이트된 거부 정책입니다.예를 들어 이전 단계에 표시된 정책에 권한을 추가하려면 POLICY를 다음으로 바꿉니다.{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } 
 - HTTP 메서드 및 URL: - PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID - JSON 요청 본문: - POLICY - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }- 응답은 장기 실행 작업을 식별합니다. 장기 실행 작업의 상태를 모니터링하여 완료되는 시간을 찾아낼 수 있습니다. 자세한 내용은 이 페이지에서 장기 실행 작업의 상태 확인을 참조하세요. - 거부 정책 삭제- 더 이상 거부 정책에 규칙을 적용하지 않으려면 거부 정책을 삭제할 수 있습니다. - 선택적으로 삭제 중인 정책 버전에 대해 - etag를 지정할 수 있습니다.- etag를 지정할 경우 IAM에 저장된 현재- etag와 일치해야 합니다. 값이 일치하지 않으면 요청이 실패합니다. 이 기능을 사용하면 해당 정책의 업데이트된 버전 대신 의도된 정책을 삭제하는지 확인할 수 있습니다.- 요청에서 - etag를 생략하면 IAM이 정책을 무조건적으로 삭제합니다.- 콘솔- Google Cloud 콘솔에서 IAM 페이지의 거부 탭으로 이동합니다. 
- 프로젝트, 폴더, 조직을 선택합니다. 
- 정책 ID 열에서 삭제하려는 정책의 ID를 클릭합니다. 
- 삭제를 클릭합니다. 확인 대화상자에서 확인을 클릭합니다. 
 - gcloud- 리소스에서 거부 정책을 삭제하려면 - gcloud iam policies delete명령어를 실행합니다.- gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies - 다음 값을 제공합니다. - 
POLICY_ID: 거부 정책의 식별자입니다.
- 
ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
 - 선택적으로 - --etag=ETAG플래그를 추가할 수 있습니다.- ETAG를 거부 정책에 대해 현재- etag값으로 바꿉니다.- 기본적으로 이 명령어는 성공하더라도 출력을 표시하지 않습니다. 자세한 응답을 출력하려면 명령어에 - --format=json플래그를 추가합니다.- 예를 들어 다음 명령어는 - my-project프로젝트에서- my-deny-policy라는 거부 정책을 삭제합니다.- gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies- Go- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Go API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Java- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Java API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Node.js- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Node.js API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - Python- IAM용 클라이언트 라이브러리를 설치하고 사용하는 방법은 IAM 클라이언트 라이브러리를 참조하세요. 자세한 내용은 IAM Python API 참고 문서를 참조하세요. - IAM에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 시작하기 전에를 참조하세요. - REST- policies.delete메서드는 리소스에서 거부 정책을 삭제합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- POLICY_ID: 거부 정책의 식별자입니다.
- 
    ETAG: (선택사항) 정책 버전에 대한 식별자입니다. 존재하는 경우 이 값이 정책의 현재etag값과 일치해야 합니다.
 - HTTP 메서드 및 URL: - DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://goog/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }- 응답은 장기 실행 작업을 식별합니다. 장기 실행 작업의 상태를 모니터링하여 완료되는 시간을 찾아낼 수 있습니다. 자세한 내용은 이 페이지에서 장기 실행 작업의 상태 확인을 참조하세요. - 장기 실행 작업의 상태 확인- REST API 또는 클라이언트 라이브러리를 사용할 때 거부 정책을 변경하는 메서드는 장기 실행 작업 또는 LRO를 반환합니다. 장기 실행 작업은 요청의 상태를 추적하고 정책 변경이 완료되었는지 여부를 나타냅니다. - Go- 이 페이지의 코드 샘플에서는 장기 실행 작업이 완료될 때까지 기다린 후 결과에 액세스하는 방법을 보여줍니다. - Java- 이 페이지의 코드 샘플에서는 장기 실행 작업이 완료될 때까지 기다린 후 결과에 액세스하는 방법을 보여줍니다. - Node.js- 이 페이지의 코드 샘플에서는 장기 실행 작업이 완료될 때까지 기다린 후 결과에 액세스하는 방법을 보여줍니다. - Python- 이 페이지의 코드 샘플에서는 장기 실행 작업이 완료될 때까지 기다린 후 결과에 액세스하는 방법을 보여줍니다. - REST- policies.operations.get메서드는 장기 실행 작업 상태를 반환합니다.- 요청 데이터를 사용하기 전에 다음을 바꿉니다. - 
ENCODED_ATTACHMENT_POINT: 거부 정책이 연결된 리소스의 URL 인코딩 식별자입니다. 이 값의 형식을 지정하는 방법은 연결 지점을 참조하세요.
- 
    OPERATION_ID: 작업의 식별자입니다. 작업 이름의 일부로 원래 요청에 대한 응답으로 이 식별자가 수신됩니다. 작업 이름의 끝에 16진수 값을 사용합니다. 예를 들면89cb3e508bf1ff01입니다.
 - HTTP 메서드 및 URL: - GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID - 요청을 보내려면 다음 옵션 중 하나를 펼칩니다. - 다음과 비슷한 JSON 응답이 표시됩니다. - { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }- 작업의 - done필드가 없으면 작업을 반복적으로 가져와서 해당 상태를 계속 모니터링합니다. 잘린 지수 백오프를 사용하여 각 요청 간에 지연을 일으킵니다.- done필드가- true로 설정되었으면 작업이 완료되었고 작업 가져오기를 중지할 수 있습니다.- 다음 단계- 거부 정책에서 지원되는 권한 식별
- 거부 정책의 주 구성원 식별자 형식 가져오기
- 거부 정책 액세스 문제 해결 방법 알아보기
- 주 구성원 액세스 거부 자세히 알아보기
 - 달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다. - 최종 업데이트: 2025-10-21(UTC)