색인
IAMPolicy
(인터페이스)Binding
(메시지)GetIamPolicyRequest
(메시지)GetPolicyOptions
(메시지)Policy
(메시지)SetIamPolicyRequest
(메시지)TestIamPermissionsRequest
(메시지)TestIamPermissionsResponse
(메시지)
IAMPolicy
API 개요
ID 및 액세스 관리(IAM) 정책을 관리합니다.
액세스 제어 기능을 제공하는 모든 API 구현은 google.iam.v1.IAMPolicy 인터페이스를 구현합니다.
데이터 모델
액세스 제어는 주 구성원(사용자 또는 서비스 계정)이 서비스에 의해 노출되는 리소스를 대상으로 작업을 수행할 때 적용됩니다. URI와 비슷한 이름으로 식별되는 리소스는 액세스 제어를 지정하는 단위입니다. 서비스를 구현할 때 리소스에 대한 액세스 제어의 세분성 및 지원되는 권한을 선택할 수 있습니다. 예를 들어, 특정 데이터베이스 서비스는 테이블 수준에서만 액세스 제어를 지정하도록 허용하는 반면 다른 데이터베이스 서비스는 열 수준에서도 액세스 제어를 지정하도록 허용할 수 있습니다.
정책 구조
google.iam.v1.Policy를 참조하세요.
액세스 제어 정책은 정책이 연결되는 리소스와 함께 암묵적으로 생성 및 삭제되므로 의도적으로 CRUD 스타일 API가 아닌 형태로 설계되었습니다.
GetIamPolicy |
---|
리소스의 액세스 제어 정책을 가져옵니다. 리소스가 존재하지만 설정된 정책이 없는 경우 빈 정책을 반환합니다.
|
SetIamPolicy |
---|
지정된 리소스의 액세스 제어 정책을 설정합니다. 기존 정책을 대체합니다.
|
TestIamPermissions |
---|
지정된 리소스에 대해 호출자가 보유한 권한을 반환합니다. 리소스가 없으면 참고: 이 작업은 승인 확인이 아닌 권한 인식 UI 및 명령줄 도구를 만들기 위해 설계되었습니다. 이 작업은 경고 없이 'fail open'될 수 있습니다.
|
Binding
members
또는 주 구성원을 role
과 연결합니다.
필드 | |
---|---|
role |
|
members[] |
Google Cloud 리소스에 대한 액세스를 요청하는 주 구성원을 지정합니다.
|
condition |
이 바인딩에 연결된 조건입니다. 조건이 조건이 IAM 정책의 지원을 지원하는 리소스에 대해 알아보려면 IAM 문서를 참조하세요. |
GetIamPolicyRequest
GetIamPolicy
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수 항목입니다. 정책을 요청할 리소스입니다. 이 필드의 적절한 값은 리소스 이름을 참조하세요. |
options |
선택사항입니다. |
GetPolicyOptions
GetIamPolicy에 제공된 설정을 캡슐화합니다.
필드 | |
---|---|
requested_policy_version |
선택사항. 정책 형식을 지정하는 데 사용할 최대 정책 버전입니다. 유효한 값은 0, 1, 3입니다. 잘못된 값을 지정하는 요청은 거부됩니다. 조건부 역할 바인딩이 있는 정책 요청은 버전 3을 지정해야 합니다. 조건부 역할 바인딩이 없는 정책은 유효한 값을 지정하거나 필드를 설정되지 않은 상태로 둘 수 있습니다. 응답의 정책은 지정된 정책 버전을 사용하거나 더 낮은 정책 버전을 사용할 수 있습니다. 예를 들어 버전 3을 지정했지만 정책에 조건부 역할 바인딩이 없으면 응답은 버전 1을 사용합니다. IAM 정책의 지원을 지원하는 리소스에 대해 알아보려면 IAM 문서를 참조하세요. |
정책
ID 및 액세스 관리(IAM) 정책은 Google Cloud 리소스에 대한 액세스 제어를 지정합니다.
Policy
는 bindings
의 모음입니다. binding
은 하나 이상의 members
또는 주 구성원을 단일 role
에 바인딩합니다. 주 구성원은 사용자 계정, 서비스 계정, Google 그룹, 도메인(예: G Suite)일 수 있습니다. role
은 이름이 지정된 권한 목록입니다. 각 role
은 IAM 사전 정의된 역할 또는 사용자가 만든 커스텀 역할일 수 있습니다.
일부 유형의 Google Cloud 리소스의 경우 binding
은 표현식이 true
로 평가될 때만 리소스 액세스를 허용하는 논리 표현식인 condition
을 지정할 수 있습니다. 조건은 요청, 리소스 또는 둘 모두를 기준으로 제약조건을 추가할 수 있습니다. IAM 정책의 지원을 지원하는 리소스에 대해 알아보려면 IAM 문서를 참조하세요.
JSON 예시:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
YAML 예시:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
IAM 및 IAM 기능에 대한 설명은 IAM 문서를 참조하세요.
필드 | |
---|---|
version |
정책의 형식을 지정합니다. 유효한 값은 조건부 역할 결합에 영향을 미치는 모든 작업은
중요: IAM 조건을 사용하는 경우 정책에 조건이 포함되어 있지 않으면 해당 정책에 대한 작업에서 유효한 버전을 지정하거나 필드를 설정하지 않은 상태로 둘 수 있습니다. IAM 정책의 지원을 지원하는 리소스에 대해 알아보려면 IAM 문서를 참조하세요. |
bindings[] |
하나의 |
etag |
중요: IAM 조건을 사용하는 경우 |
SetIamPolicyRequest
SetIamPolicy
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수 항목입니다. 정책을 지정할 리소스입니다. 이 필드의 적절한 값은 리소스 이름을 참조하세요. |
policy |
필수 항목입니다. |
TestIamPermissionsRequest
TestIamPermissions
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수 항목입니다. 정책 세부정보를 요청하는 리소스입니다. 이 필드의 적절한 값은 리소스 이름을 참조하세요. |
permissions[] |
|
TestIamPermissionsResponse
TestIamPermissions
메서드의 응답 메시지입니다.
필드 | |
---|---|
permissions[] |
|