색인
IAMPolicy
(인터페이스)AuditConfig
(메시지)AuditLogConfig
(메시지)AuditLogConfig.LogType
(열거형)Binding
(메시지)GetIamPolicyRequest
(메시지)GetPolicyOptions
(메시지)Policy
(메시지)SetIamPolicyRequest
(메시지)TestIamPermissionsRequest
(메시지)TestIamPermissionsResponse
(메시지)
IAMPolicy
API 개요
ID 및 액세스 관리(IAM) 정책을 관리합니다.
액세스 제어 기능을 제공하는 모든 API 구현은 google.iam.v1.IAMPolicy 인터페이스를 구현합니다.
데이터 모델
액세스 제어는 주 구성원(사용자 또는 서비스 계정)이 서비스에 의해 노출되는 리소스를 대상으로 작업을 수행할 때 적용됩니다. URI와 비슷한 이름으로 식별되는 리소스는 액세스 제어를 지정하는 단위입니다. 서비스를 구현할 때 리소스에 대한 액세스 제어의 세분성 및 지원되는 권한을 선택할 수 있습니다. 예를 들어, 특정 데이터베이스 서비스는 테이블 수준에서만 액세스 제어를 지정하도록 허용하는 반면 다른 데이터베이스 서비스는 열 수준에서도 액세스 제어를 지정하도록 허용할 수 있습니다.
정책 구조
google.iam.v1.Policy를 참조하세요.
액세스 제어 정책은 정책이 연결되는 리소스와 함께 암묵적으로 생성 및 삭제되므로 의도적으로 CRUD 스타일 API가 아닌 형태로 설계되었습니다.
AuditConfig
서비스의 감사 구성을 지정합니다. 이 구성은 로깅되는 권한 유형 및 로깅에서 제외할 ID(있는 경우)를 결정합니다. AuditConfig에는 하나 이상의 AuditLogConfig가 있어야 합니다.
allServices
와 특정 서비스 모두에 AuditConfig가 있으면 해당 서비스에 두 AuditConfig의 합집합이 사용됩니다. 즉, 각 AuditConfig에 지정된 log_types가 사용 설정되며 각 AuditLogConfig의 exempted_members가 제외됩니다.
다음은 여러 AuditConfig가 있는 정책의 예입니다.
{
"audit_configs": [
{
"service": "allServices"
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE",
},
{
"log_type": "ADMIN_READ",
}
]
},
{
"service": "sampleservice.googleapis.com"
"audit_log_configs": [
{
"log_type": "DATA_READ",
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
이 정책은 sampleservice에서 DATA_READ, DATA_WRITE, ADMIN_READ 로깅을 사용 설정합니다. 또한 jose@example.com을 DATA_READ 로깅에서, aliya@example.com을 DATA_WRITE 로깅에서 제외합니다.
필드 | |
---|---|
service |
감사 로깅을 사용 설정할 서비스를 지정합니다. 예를 들면 |
audit_log_configs[] |
각 권한 유형의 로깅에 대한 구성입니다. |
AuditLogConfig
권한 유형 로깅에 대한 구성을 제공합니다. 예를 들면 다음과 같습니다.
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE",
}
]
}
여기에서는 'DATA_READ' 및 'DATA_WRITE' 로깅을 사용 설정하고 jose@example.com을 DATA_READ 로깅에서 제외합니다.
필드 | |
---|---|
log_type |
이 구성이 사용 설정하는 로그 유형입니다. |
exempted_members[] |
이 권한 유형을 로깅하지 않는 ID를 지정합니다. |
ignore_child_exemptions |
하위 레벨 리소스 정책에서 동일한 LogType에 대해 주 구성원이 예외가 될 수 있는지 여부를 지정합니다. true인 경우 하위 수준의 예외가 무시됩니다. |
LogType
로깅을 구성할 수 있는 유효한 권한 유형의 목록입니다. 관리자 쓰기는 항상 로깅되며 구성할 수 없습니다.
열거형 | |
---|---|
LOG_TYPE_UNSPECIFIED |
경우의 기본값. 이 값을 지정하면 안 됩니다. |
ADMIN_READ |
관리자 읽기. 예: CloudIAM getIamPolicy |
DATA_WRITE |
데이터 쓰기. 예: CloudSQL Users create |
DATA_READ |
데이터 읽기. 예: CloudSQL Users list |
Binding
members
를 role
과 연결합니다.
필드 | |
---|---|
role |
|
members[] |
Cloud Platform 리소스에 대한 액세스를 요청하는 ID를 지정합니다.
|
condition |
이 결합에 연결된 조건입니다. 참고: 조건이 충족되지 않으면 현재 바인딩을 통해 사용자에게 액세스가 허용되지 않습니다. 서로 다른 바인딩과 해당 조건은 독립적으로 검사됩니다. |
GetIamPolicyRequest
GetIamPolicy
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수. 정책을 요청할 리소스입니다. 이 필드의 적절한 값은 작업 문서를 참조하세요. |
options |
선택사항: |
GetPolicyOptions
GetIamPolicy에 제공된 설정을 캡슐화합니다.
필드 | |
---|---|
requested_policy_version |
선택사항. 반환할 정책 형식 버전입니다. 허용되는 값은 0과 1입니다. 값이 0이거나 필드가 생략되었으면 정책 형식 버전 1이 반환됩니다. |
정책
ID 및 액세스 관리(IAM) 정책을 정의합니다. Cloud Platform 리소스의 액세스 제어 정책을 지정하는 데 사용됩니다.
Policy
는 bindings
목록으로 구성됩니다. binding
은 members
목록을 role
로 결합합니다. 여기서 구성원은 사용자 계정, Google 그룹, Google 도메인, 서비스 계정이 될 수 있습니다. role
은 IAM에 의해 정의되는 이름이 지정된 권한 목록입니다.
JSON 예시
{
"bindings": [
{
"role": "roles/owner",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-other-app@appspot.gserviceaccount.com"
]
},
{
"role": "roles/viewer",
"members": ["user:sean@example.com"]
}
]
}
YAML 예시
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-other-app@appspot.gserviceaccount.com
role: roles/owner
- members:
- user:sean@example.com
role: roles/viewer
IAM 및 해당 기능에 대한 설명은 IAM 개발자 가이드를 참조하세요.
필드 | |
---|---|
version |
지원 중단됨. |
bindings[] |
|
audit_configs[] |
이 정책의 Cloud 감사 로깅 구성을 지정합니다. |
etag |
|
SetIamPolicyRequest
SetIamPolicy
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수. 정책을 지정할 리소스입니다. 이 필드의 적절한 값은 작업 문서를 참조하세요. |
policy |
필수. |
update_mask |
선택사항. 수정할 정책 필드를 지정하는 FieldMask입니다. 마스크에 있는 필드만 수정됩니다. 마스크를 제공하지 않으면 기본 마스크인 'bindings, etag'가 사용됩니다. 이 필드는 Cloud IAM에서만 사용합니다. |
TestIamPermissionsRequest
TestIamPermissions
메서드의 요청 메시지입니다.
필드 | |
---|---|
resource |
필수. 정책 세부정보를 요청할 리소스입니다. 이 필드의 적절한 값은 작업 문서를 참조하세요. |
permissions[] |
|
TestIamPermissionsResponse
TestIamPermissions
메서드의 응답 메시지입니다.
필드 | |
---|---|
permissions[] |
|