Binding

Asocia members o principales con un role.

Representación JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
Campos
role

string

Rol que se asigna a la lista de members o principales. Por ejemplo, roles/viewer, roles/editor o roles/owner.

Para obtener una descripción general de los roles y permisos de IAM, consulta la documentación de IAM. Para obtener una lista de los roles predefinidos disponibles, consulta aquí.

members[]

string

Especifica las principales que solicitan acceso para un recurso de Google Cloud. members puede tener los siguientes valores:

  • allUsers: un identificador especial que representa a cualquier persona que esté en Internet; independientemente de si tienen una Cuenta de Google o no.

  • allAuthenticatedUsers: un identificador especial que representa a cualquier persona que esté autenticada con una Cuenta de Google o una cuenta de servicio. No incluye las identidades que provienen de proveedores de identidad externos (IdP) a través de la federación de identidades.

  • user:{emailid}: una dirección de correo electrónico que representa una Cuenta de Google específica. Por ejemplo, alice@example.com.

  • serviceAccount:{emailid}: una dirección de correo electrónico que representa una cuenta de servicio de Google. Por ejemplo, my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: un identificador para una cuenta de servicio de Kubernetes. Por ejemplo, my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

  • group:{emailid}: una dirección de correo electrónico que representa a un grupo de Google. Por ejemplo, admins@example.com

  • domain:{domain}: el dominio de G Suite (principal) que representa a todos los usuarios de ese dominio. Por ejemplo, google.com o example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Identidad única en un grupo de identidad de personal.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: Todas las identidades del personal de un grupo.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: Todas las identidades del personal con un valor de atributo específico

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: Todas las identidades en un grupo de identidad de personal.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: Identidad única en un grupo de identidades para cargas de trabajo.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: Un grupo de grupos de identidades para cargas de trabajo.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: Todas las identidades de un grupo de Workload Identity con un atributo determinado.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: Todas las identidades en un grupo de Workload Identity.

  • deleted:user:{emailid}?uid={uniqueid}: Una dirección de correo electrónico (más el identificador único) que representa a un usuario que se borró en los últimos días. Por ejemplo, alice@example.com?uid=123456789012345678901. Si el usuario se recupera, este valor se revierte a user:{emailid}, y el usuario recuperado conserva la función en la vinculación.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: Una dirección de correo electrónico (más el identificador único) que representa a una cuenta de servicio que se borró en los últimos días. Por ejemplo, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Si la cuenta se recupera, este valor se revierte a serviceAccount:{emailid}, y la cuenta recuperada conserva el rol en la vinculación.

  • deleted:group:{emailid}?uid={uniqueid}: Una dirección de correo electrónico (más el identificador único) que representa a un grupo de Google que se borró en los últimos días. Por ejemplo, admins@example.com?uid=123456789012345678901 Si el grupo se recupera, este valor se revierte a group:{emailid}, y el grupo recuperado conserva la función en la vinculación.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: Identidad única eliminada en un grupo de identidad de personal. Por ejemplo, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

La condición asociada a esta vinculación.

Si la condición se evalúa como true, esta vinculación se aplica a la solicitud actual.

Si la condición se evalúa como false, esta vinculación no se aplica a la solicitud actual. Sin embargo, una vinculación de roles diferente puede otorgar el mismo rol a una o más de las principales de esta vinculación.

Para saber qué recursos admiten condiciones en sus políticas de IAM, consulta la documentación de IAM.

Expr

Representa una expresión textual en la sintaxis de Common Expression Language (CEL). CEL es un lenguaje de expresión similar a C. La sintaxis y la semántica de CEL se documentan en https://github.com/google/cel-spec.

Ejemplo (comparación):

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

Ejemplo (igualdad):

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

Ejemplo (lógica):

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

Ejemplo (manipulación de datos):

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

El servicio que evalúa la expresión determina las variables y las funciones exactas a las que se puede hacer referencia en la expresión. Para obtener más información, consulta la documentación del servicio.

Representación JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campos
expression

string

Representación textual de una expresión en la sintaxis de Common Expression Language.

title

string

Opcional. Título de la expresión (una string corta que describe el propósito de esta). Se puede usar, p. ej., en IU que permiten ingresar la expresión.

description

string

Opcional. Descripción de la expresión. Es un texto más largo que describe la expresión (p. ej., cuando se coloca el cursor sobre ella en una IU).

location

string

Opcional. Cadena que indica la ubicación de la expresión para los informes de errores (p.ej., el nombre de un archivo y una posición en él).