Deployments: getIamPolicy

리소스의 액세스 제어 정책을 가져옵니다. 이러한 정책 또는 리소스가 없는 경우 비어 있을 수 있습니다. 지금 사용해 보기

요청

HTTP 요청

GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project/global/deployments/resource/getIamPolicy

매개변수

매개변수 이름 설명
경로 매개변수
project string 이 요청에 관련된 프로젝트 ID입니다.
resource string 이 요청의 리소스 이름 또는 ID입니다.

승인

이 요청에는 다음 범위 중 하나 이상에 대한 승인이 필요합니다.

범위
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/ndev.cloudman

요청 본문

이 메소드를 사용할 때는 요청 본문을 제공하지 마세요.

응답

요청에 성공할 경우 이 메소드는 다음과 같은 구조의 응답 본문을 반환합니다.

{
  "version": integer,
  "bindings": [
    {
      "role": string,
      "members": [
        string
      ],
      "condition": {
        "expression": string,
        "title": string,
        "description": string,
        "location": string
      }
    }
  ],
  "auditConfigs": [
    {
      "service": string,
      "exemptedMembers": [
        string
      ],
      "auditLogConfigs": [
        {
          "logType": string,
          "exemptedMembers": [
            string
          ],
          "ignoreChildExemptions": boolean
        }
      ]
    }
  ],
  "rules": [
    {
      "description": string,
      "permissions": [
        string
      ],
      "action": string,
      "ins": [
        string
      ],
      "notIns": [
        string
      ],
      "conditions": [
        {
          "iam": string,
          "sys": string,
          "svc": string,
          "op": string,
          "values": [
            string
          ]
        }
      ],
      "logConfigs": [
        {
          "counter": {
            "metric": string,
            "field": string,
            "customFields": [
              {
                "name": string,
                "value": string
              }
            ]
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
속성 이름 설명 참고
version integer 정책의 형식을 지정합니다.

유효한 값은 `0`, `1`, `3`입니다. 잘못된 값을 지정하는 요청은 거부됩니다.

조건부 역할 바인딩에 영향을 미치는 모든 작업은 버전 `3`을 지정해야 합니다. 이 요구사항은 다음 작업에 적용됩니다.

* 조건부 역할 바인딩이 포함된 정책 가져오기 * 정책에 조건부 역할 바인딩 추가 * 정책에서 조건부 역할 바인딩 변경 * 조건이 포함된 정책에서 조건 유무와 관계없이 역할 바인딩 삭제

**중요:** IAM 조건을 사용하는 경우 `setIamPolicy` 를 호출할 때마다 `etag` 필드를 포함해야 합니다. 이 필드를 생략하면 IAM에서 버전 `3` 정책을 버전 `1` 정책으로 덮어쓸 수 있으며 버전 `3` 정책의 모든 조건이 손실됩니다.

정책에 조건이 포함되어 있지 않으면 해당 정책에 대한 작업에서 유효한 버전을 지정하거나 필드를 설정하지 않은 상태로 둘 수 있습니다.

IAM 정책의 조건을 지원하는 리소스에 대해 알아보려면 [IAM 문서](https://cloud.google.com/iam/help/conditions/resource-policies)를 참고하세요.

bindings[] list `members` 목록을 `role`에 연결합니다. 선택적으로 `bindings` 가 적용되는 방법과 시기를 결정하는 `condition` 을 지정할 수 있습니다. 각 `bindings` 에는 하나 이상의 구성원이 포함되어야 합니다.
bindings[].role string `members`에 할당된 역할입니다. 예를 들어 `roles/viewer`, `roles/editor` 또는 `roles/owner`입니다.
bindings[].members[] list Cloud Platform 리소스에 대한 액세스를 요청하는 ID를 지정합니다. `members` 는 다음 값을 가질 수 있습니다.

* `allUsers`: Google 계정 유무와 관계없이 인터넷에 있는 모든 사용자를 나타내는 특수 식별자입니다.

* `allAuthenticatedUsers`: Google 계정 또는 서비스 계정으로 인증된 모든 사용자를 나타내는 특수 식별자입니다.

* `user:{emailid}`: 특정 Google 계정을 나타내는 이메일 주소입니다. 예를 들면 `alice@example.com`입니다 .



* `serviceAccount:{emailid}`: 서비스 계정을 나타내는 이메일 주소입니다. 예를 들어 `my-other-app@appspot.gserviceaccount.com`입니다.

* `group:{emailid}`: Google 그룹을 나타내는 이메일 주소입니다. 예를 들어 `admins@example.com`입니다.

* `deleted:user:{emailid}?uid={uniqueid}`: 최근에 삭제된 사용자를 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들어 `alice@example.com?uid=123456789012345678901`입니다. 사용자가 복구되면 이 값은 `user:{emailid}` 로 되돌아가고 복구된 사용자는 binding에서 역할을 유지합니다.

* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: 최근에 삭제된 서비스 계정을 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들어 `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`입니다. 서비스 계정이 삭제 취소되면 이 값은 `serviceAccount:{emailid}` 로 되돌아가고 삭제되지 않은 서비스 계정은 binding에서 역할을 유지합니다.

* `deleted:group:{emailid}?uid={uniqueid}`: 최근에 삭제된 Google 그룹을 나타내는 이메일 주소 및 고유 식별자입니다. 예를 들어 `admins@example.com?uid=123456789012345678901`입니다. 그룹이 복구되면 이 값은 `group:{emailid}` 로 되돌아가고 복구된 그룹은 binding에서 역할을 유지합니다.



* `domain:{domain}`: 해당 도메인의 모든 사용자를 나타내는 G Suite 도메인 (기본)입니다. 예: `google.com` 또는 `example.com`.







bindings[].condition nested object 이 바인딩에 연결된 조건입니다.

조건이 `true`로 평가되면 이 binding이 현재 요청에 적용됩니다.

조건이 `false`로 평가되면 이 binding이 현재 요청에 적용되지 않습니다. 그러나 다른 역할 결합은 이 binding에 있는 하나 이상의 구성원에게 동일한 역할을 부여할 수 있습니다.

IAM 정책에서 조건을 지원하는 리소스에 대해 알아보려면 [IAM 문서](https://cloud.google.com/iam/help/conditions/resource-policies)를 참고하세요.
bindings[].condition.expression string Common Expression Language 구문으로 된 표현식의 텍스트 표현입니다.
bindings[].condition.title string 선택사항. 표현식의 제목으로, 목적을 설명하는 짧은 문자열입니다. 표현식을 입력할 수 있는 UI 등에 사용할 수 있습니다.
bindings[].condition.description string 선택사항. 표현식에 대한 설명입니다. 표현식을 설명하는 더 긴 텍스트입니다. 예를 들어 UI에서 마우스를 가져갈 때 표시할 수 있습니다.
bindings[].condition.location string 선택사항. 오류 보고를 위해 표현식의 위치를 나타내는 문자열입니다. 예를 들어 파일 이름 및 파일 내 위치일 수 있습니다.
auditConfigs[] list 이 정책의 Cloud Audit Logging 구성을 지정합니다.

auditConfigs[].service string 감사 로깅을 사용 설정할 서비스를 지정합니다. 예를 들면 `storage.googleapis.com`, `cloudsql.googleapis.com` 등입니다. `allServices` 는 모든 서비스를 포괄하는 특수한 값입니다.
auditConfigs[].exemptedMembers[] list

auditConfigs[].auditLogConfigs[] list 각 권한 유형의 로깅에 대한 구성입니다.
auditConfigs[].auditLogConfigs[].logType string 이 구성이 사용 설정하는 로그 유형입니다.
auditConfigs[].auditLogConfigs[].exemptedMembers[] list 이 권한 유형을 로깅하지 않는 ID를 지정합니다. [Binding.members][]와 동일한 형식을 따릅니다.
auditConfigs[].auditLogConfigs[].ignoreChildExemptions boolean

rules[] list 규칙이 두 개 이상 지정된 경우 규칙은 다음과 같은 방식으로 적용됩니다. - 일치하는 모든 LOG 규칙이 항상 적용됩니다. - DENY/DENY_WITH_LOG 규칙이 일치하면 권한이 거부됩니다. 일치하는 규칙에 로깅이 필요한 경우 로깅이 적용됩니다. - 그 외의 경우 ALLOW/ALLOW_WITH_LOG 규칙이 일치하면 권한이 부여됩니다. 일치하는 규칙에 로깅이 필요한 경우 로깅이 적용됩니다. - 적용되는 규칙이 없는 경우 권한이 거부됩니다.
rules[].description string 인간이 읽을 수 있는 규칙 설명입니다.
rules[].permissions[] list 권한은 '..' 형식의 문자열입니다(예: 'storage.buckets.list'). '*' 값은 모든 권한과 일치하며 '*'의 동사 부분(예: 'storage.buckets.*')는 모든 동사를 일치시킵니다.

rules[].action string 필수
rules[].ins[] list 'in' 절이 하나 이상 지정된 경우 PRINCIPAL/AUTHORITY_SELECTOR가 이러한 항목 중 하나 이상에 있으면 규칙이 일치합니다.
rules[].notIns[] list 'not_in' 절이 하나 이상 지정된 경우 PRINCIPAL/AUTHORITY_SELECTOR가 항목에 없으면 규칙이 일치합니다.
rules[].conditions[] list 충족해야 하는 추가 제한사항 규칙이 일치하려면 모든 조건이 통과해야 합니다.
rules[].conditions[].iam string IAM 시스템에서 제공하는 신뢰할 수 있는 속성입니다.
rules[].conditions[].sys string 리소스를 소유하고 액세스 제어에 IAM 시스템을 사용하는 서비스에서 제공하는 신뢰할 수 있는 속성입니다.
rules[].conditions[].svc string 서비스에서 실행된 신뢰할 수 있는 속성입니다.
rules[].conditions[].op string 주제를 적용할 연산자입니다.
rules[].conditions[].values[] list 조건의 객체입니다.
rules[].logConfigs[] list LOG 작업과 일치하는 항목의 경우 tech.iam.IAM.CheckPolicy 호출자에게 반환된 구성입니다.
rules[].logConfigs[].counter nested object 카운터 옵션
rules[].logConfigs[].counter.metric string 업데이트할 측정항목입니다.
rules[].logConfigs[].counter.field string 속성을 지정할 필드 값입니다.
rules[].logConfigs[].counter.customFields[] list 맞춤 입력란
rules[].logConfigs[].counter.customFields[].name string Name은 필드 이름입니다.
rules[].logConfigs[].counter.customFields[].value string 값은 필드 값입니다. CounterOptions.field와 달리 여기서 값은 IAMContext에서 파생되지 않는 상수여야 합니다.
rules[].logConfigs[].dataAccess nested object 데이터 액세스 옵션
rules[].logConfigs[].dataAccess.logMode string

rules[].logConfigs[].cloudAudit nested object Cloud 감사 옵션
rules[].logConfigs[].cloudAudit.logName string Cloud 감사 레코드에 채울 log_name입니다.

rules[].logConfigs[].cloudAudit.authorizationLoggingOptions nested object Cloud Audit Logging 파이프라인에서 사용하는 정보입니다.
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType string 확인된 권한 유형입니다.
etag bytes `etag` 는 동시에 발생한 여러 정책 업데이트가 서로를 덮어쓰지 않도록 방지하는 낙관적 동시 실행 제어에 사용됩니다. 시스템은 경합 상태를 방지하기 위해 정책 업데이트를 실행할 때 읽기-수정-쓰기 주기에서 `etag` 를 활용하는 것이 좋습니다. `etag` 는 `getIamPolicy`의 응답으로 반환되며, 시스템은 변경사항이 동일한 버전의 정책에 적용되도록 하려면 `setIamPolicy` 요청에 이 etag를 포함해야 합니다.

**중요:** IAM 조건을 사용하는 경우 `setIamPolicy` 를 호출할 때마다 `etag` 필드를 포함해야 합니다. 이 필드를 생략하면 IAM을 통해 버전 `3` 정책으로 버전 `1` 정책을 덮어쓸 수 있으며, 버전 `3` 정책의 모든 조건이 손실됩니다.
iamOwned boolean