Политика управления идентификацией и доступом (IAM), которая определяет элементы управления доступом к ресурсам Google Cloud.
Policy
— это набор bindings
. binding
связывает одного или нескольких members
(или субъектов) с одной role
. В качестве субъектов могут выступать учётные записи пользователей, учётные записи служб, группы Google и домены (например, G Suite). role
— это именованный список разрешений; каждая role
может быть предопределённой ролью IAM или созданной пользователем настраиваемой ролью.
Для некоторых типов ресурсов Google Cloud binding
также может указывать condition
— логическое выражение, разрешающее доступ к ресурсу только в том случае, если это выражение имеет значение true
. Условие может накладывать ограничения на основе атрибутов запроса, ресурса или и того, и другого. Чтобы узнать, какие ресурсы поддерживают условия в своих политиках 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 .
JSON-представление |
---|
{
"version": integer,
"bindings": [
{
object ( |
Поля | |
---|---|
version | Определяет формат политики. Допустимые значения: Любая операция, влияющая на условные привязки ролей, должна указывать версию
Важно: при использовании условий IAM необходимо включать поле Если политика не содержит никаких условий, операции по этой политике могут указывать любую допустимую версию или оставлять поле неустановленным. Чтобы узнать, какие ресурсы поддерживают условия в своих политиках IAM, см. документацию IAM . |
bindings[] | Связывает список |
etag | Важно: при использовании условий IAM необходимо включать поле Строка в кодировке base64. |