Binding

Ассоциированные members или руководители с определенной role .

JSON-представление
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
Поля
role

string

Роль, назначенная списку members или участников. Например, roles/viewer , roles/editor или roles/owner .

Обзор ролей и разрешений IAM см. в документации IAM . Список доступных предопределённых ролей см. здесь .

members[]

string

Указывает участников, запрашивающих доступ к ресурсу Google Cloud. members могут иметь следующие значения:

  • allUsers : специальный идентификатор, представляющий любого пользователя Интернета, имеющего или не имеющего учетную запись Google.

  • allAuthenticatedUsers : специальный идентификатор, представляющий любого пользователя, прошедшего аутентификацию с помощью учётной записи Google или сервисной учётной записи. Не включает идентификаторы, полученные от внешних поставщиков удостоверений (IdP) через федерацию удостоверений.

  • user:{emailid} : адрес электронной почты, представляющий конкретную учётную запись Google. Например, alice@example.com .

  • serviceAccount:{emailid} : адрес электронной почты, представляющий учётную запись сервиса Google. Например, my-other-app@appspot.gserviceaccount.com .

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}] : идентификатор учётной записи службы Kubernetes . Например, my-project.svc.id.goog[my-namespace/my-kubernetes-sa] .

  • group:{emailid} : адрес электронной почты, представляющий группу Google. Например, admins@example.com .

  • domain:{domain} : домен G Suite (основной), представляющий всех пользователей этого домена. Например, google.com или example.com .
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value} : отдельное удостоверение в пуле удостоверений рабочей силы.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId} : все удостоверения сотрудников в группе.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attributeName}/{attribute_value} : все удостоверения рабочей силы с определенным значением атрибута.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/* : все удостоверения в пуле удостоверений рабочей силы.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value} : отдельное удостоверение в пуле удостоверений рабочей нагрузки.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId} : группа пула удостоверений рабочей нагрузки.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attributeName}/{attribute_value} : все удостоверения в пуле удостоверений рабочей нагрузки с определенным атрибутом.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/* : все удостоверения в пуле удостоверений рабочей нагрузки.

  • deleted:user:{emailid}?uid={uniqueid} — адрес электронной почты (плюс уникальный идентификатор), представляющий недавно удалённого пользователя. Например, alice@example.com?uid=123456789012345678901 . При восстановлении пользователя это значение возвращается к user:{emailid} , и восстановленный пользователь сохраняет роль в привязке.

  • deleted:serviceAccount:{emailid}?uid={uniqueid} : адрес электронной почты (плюс уникальный идентификатор), представляющий недавно удалённую учётную запись службы. Например, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901 . Если учётная запись службы восстановлена, это значение возвращается к serviceAccount:{emailid} , и восстановленная учётная запись службы сохраняет свою роль в привязке.

  • deleted:group:{emailid}?uid={uniqueid} : адрес электронной почты (плюс уникальный идентификатор), представляющий группу Google, которая была недавно удалена. Например, admins@example.com?uid=123456789012345678901 . При восстановлении группы это значение возвращается к group:{emailid} , и восстановленная группа сохраняет роль в привязке.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value} : удалено одно удостоверение из пула удостоверений сотрудников. Например, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value .

condition

object ( Expr )

Состояние, связанное с этой привязкой.

Если условие оценивается как true , то эта привязка применяется к текущему запросу.

Если условие оценивается как false , то эта привязка не применяется к текущему запросу. Однако другая привязка роли может предоставить ту же роль одному или нескольким принципалам в этой привязке.

Чтобы узнать, какие ресурсы поддерживают условия в своих политиках IAM, см. документацию IAM .

Выражение

Представляет текстовое выражение в синтаксисе Common Expression Language (CEL). CEL — это язык выражений, подобный C. Синтаксис и семантика CEL описаны по адресу https://github.com/google/cel-spec .

Пример (сравнение):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Пример (Равенство):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Пример (логика):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Пример (обработка данных):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

Точные переменные и функции, на которые можно ссылаться в выражении, определяются службой, которая его вычисляет. Дополнительную информацию см. в документации службы.

JSON-представление
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Поля
expression

string

Текстовое представление выражения в синтаксисе Common Expression Language.

title

string

Необязательно. Название выражения, т. е. короткая строка, описывающая его назначение. Это можно использовать, например, в интерфейсах, позволяющих вводить выражение.

description

string

Необязательно. Описание выражения. Это более длинный текст, описывающий выражение, например, при наведении на него курсора в пользовательском интерфейсе.

location

string

Необязательно. Строка, указывающая местоположение выражения для сообщения об ошибке, например, имя файла и положение в файле.