리소스의 액세스 제어 정책을 가져옵니다. 이러한 정책 또는 리소스가 없는 경우 비어 있을 수 있습니다. 지금 사용해 보기
요청
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 |
권한은 ' |
|
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 |