索引
IAMPolicy
(インターフェース)AuditConfig
(メッセージ)AuditLogConfig
(メッセージ)AuditLogConfig.LogType
(enum)Binding
(メッセージ)GetIamPolicyRequest
(メッセージ)GetPolicyOptions
(メッセージ)Policy
(メッセージ)SetIamPolicyRequest
(メッセージ)TestIamPermissionsRequest
(メッセージ)TestIamPermissionsResponse
(メッセージ)
IAMPolicy
API の概要
Identity and Access Management(IAM)のポリシーを管理します。
アクセス制御機能を備えた API の実装は、google.iam.v1.IAMPolicy インターフェースを実装します。
データモデル
アクセス制御は、プリンシパル(ユーザーまたはサービス アカウント)がサービスによって公開されているリソースに対してなんらかのアクションを実行する際に適用されます。アクセス制御では、URI のような名称で識別されるリソースを単位として指定します。アクセス制御の細かさと各リソースに対してサポートされる権限は、サービスの実装で選択できます。たとえば、あるデータベース サービスではテーブルレベルでのみアクセス制御を指定できるようにしながら、別のデータベース サービスでは列レベルでも指定できるようにすることができます。
ポリシーの構造
google.iam.v1.Policy を参照してください。
アクセス制御ポリシーは、それぞれのアタッチ先となるリソースによって黙示的に作成、削除されるため、これは CRUD スタイルの API ではありません。
AuditConfig
サービスの監査構成を指定します。この構成により、ログに記録される権限タイプとロギングから除外される ID が決まります。AuditConfig には 1 つ以上の AuditLogConfig が必要です。
allServices
と特定のサービスの両方に AuditConfig がある場合は、2 つの 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 のロギングが有効になります。また、DATA_READ ロギングから jose@example.com が除外され、DATA_WRITE ロギングから aliya@example.com が除外されます。
フィールド | |
---|---|
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[] |
このタイプの権限に関するログを発生させない識別情報を指定します。 |
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 リソースのアクセスのリクエスト元を識別する情報を指定します。
|
condition |
このバインディングに関連付けられている条件。注: 条件を満たさないと、ユーザーは現在のバインディングからアクセスできません。別々のバインディングは、その条件を含めて個別に検査されます。 |
GetIamPolicyRequest
GetIamPolicy
メソッドに対するリクエスト メッセージ。
フィールド | |
---|---|
resource |
必須: ポリシーをリクエストする対象のリソース。このフィールドに適切な値については、オペレーション ドキュメントをご覧ください。 |
options |
省略可: |
GetPolicyOptions
GetIamPolicy に対して指定された設定をカプセル化します。
フィールド | |
---|---|
requested_policy_version |
省略可。取得するポリシー形式のバージョン。有効な値は 0 と 1 です。値が 0 の場合、またはフィールドが省略されている場合は、バージョン 1 のポリシー形式が返されます。 |
ポリシー
Identity and Access Management(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 Audit Logging の監査ログを指定します。 |
etag |
|
SetIamPolicyRequest
SetIamPolicy
メソッドに対するリクエスト メッセージ。
フィールド | |
---|---|
resource |
必須: ポリシーが指定されているリソース。このフィールドに適切な値については、オペレーション ドキュメントをご覧ください。 |
policy |
必須: |
update_mask |
省略可: 変更するポリシー フィールドを指定する FieldMask。マスク内のフィールドのみが変更されます。マスクが指定されていない場合、次のデフォルト マスクが使用されます。パス: bindings, etag。このフィールドは、Cloud IAM のみが使用します。 |
TestIamPermissionsRequest
TestIamPermissions
メソッドに対するリクエスト メッセージ。
フィールド | |
---|---|
resource |
必須: ポリシー詳細リクエストの対象となるリソース。このフィールドに適切な値については、オペレーション ドキュメントをご覧ください。 |
permissions[] |
|
TestIamPermissionsResponse
TestIamPermissions
メソッドに対するレスポンス メッセージ。
フィールド | |
---|---|
permissions[] |
呼び出し元に許可されている |