Binding

Asocia members (o principales) a un role.

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

string

Rol asignado 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 gestión de identidades y accesos, consulta la documentación de gestión de identidades y accesos. Para ver una lista de los roles predefinidos disponibles, consulta este artículo.

members[]

string

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

  • allUsers: identificador especial que representa a cualquier persona que esté en Internet, con o sin cuenta de Google.

  • allAuthenticatedUsers: un identificador especial que representa a cualquier persona autenticada con una cuenta de Google o una cuenta de servicio. No incluye identidades que procedan de proveedores de identidades externos a través de la federación de identidades.

  • user:{emailid}: una dirección de correo que representa una cuenta de Google específica. Por ejemplo, [email protected] .

  • serviceAccount:{emailid}: una dirección de correo que representa una cuenta de servicio de Google. Por ejemplo, [email protected].

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: identificador de 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 que representa un grupo de Google. Por ejemplo, [email protected].

  • 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}: una sola identidad de un grupo de identidades de Workforce.

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

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: Todas las identidades de los empleados que tengan un valor de atributo específico.

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

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: una sola identidad de un grupo de identidades de carga de trabajo.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: un grupo de identidades de carga 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 identidades de carga de trabajo con un atributo determinado.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: todas las identidades de un grupo de identidades de carga de trabajo.

  • deleted:user:{emailid}?uid={uniqueid}: una dirección de correo electrónico (más un identificador único) que representa a un usuario que se ha eliminado recientemente. Por ejemplo, [email protected]?uid=123456789012345678901. Si se recupera al usuario, este valor vuelve a ser user:{emailid} y el usuario recuperado conserva el rol en el enlace.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: una dirección de correo electrónico (más un identificador único) que representa una cuenta de servicio que se ha eliminado recientemente. Por ejemplo, [email protected]?uid=123456789012345678901. Si se restaura la cuenta de servicio, este valor vuelve a ser serviceAccount:{emailid} y la cuenta de servicio restaurada conserva el rol en el enlace.

  • deleted:group:{emailid}?uid={uniqueid}: una dirección de correo electrónico (más un identificador único) que representa un grupo de Google que se ha eliminado recientemente. Por ejemplo, [email protected]?uid=123456789012345678901. Si se recupera el grupo, este valor vuelve a ser group:{emailid} y el grupo recuperado conserva el rol en la vinculación.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: se ha eliminado una sola identidad de un grupo de identidades de Workforce. 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 este enlace.

Si la condición da como resultado true, este enlace se aplica a la solicitud actual.

Si la condición se evalúa como false, este enlace no se aplica a la solicitud actual. Sin embargo, otra vinculación de rol podría conceder el mismo rol a uno o varios de los principales de esta vinculación.

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

Expr

Representa una expresión textual en la sintaxis del lenguaje de expresión común (CEL). CEL es un lenguaje de expresiones 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)"

Las variables y funciones exactas a las que se puede hacer referencia en una expresión las determina el servicio que la evalúa. Consulta la documentación del servicio para obtener más información.

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

string

Representación textual de una expresión en la sintaxis del lenguaje de expresión común.

title

string

Opcional. Título de la expresión, es decir, una cadena corta que describe su finalidad. Por ejemplo, se puede usar en interfaces de usuario que permitan introducir la expresión.

description

string

Opcional. Descripción de la expresión. Este es un texto más largo que describe la expresión, por ejemplo, cuando se coloca el cursor sobre ella en una interfaz de usuario.

location

string

Opcional. Cadena que indica la ubicación de la expresión para generar informes de errores. Por ejemplo, el nombre de un archivo y una posición en el archivo.