Policy

Define una política de Identity and Access Management (IAM). Se usa para especificar políticas de control de acceso a los recursos de Cloud Platform.

Una Policy consiste en una lista de bindings. Una binding vincula una lista de members a una role, en la que los miembros pueden ser cuentas de usuario, Grupos de Google, dominios de Google y cuentas de servicio. Una role es una lista identificada de permisos definidos por IAM.

Ejemplo de 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"]
    }
  ]
}

Ejemplo de 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

Consulta la guía para desarrolladores de IAM, a fin de ver una descripción de IAM y sus características.

Representación JSON
{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "etag": string
}
Campos
version
(deprecated)

number

Obsoleto.

bindings[]

object(Binding)

Asocia una lista de members a una role. bindings sin miembros generarán un error.

etag

string (bytes format)

etag se usa para el control de simultaneidad optimista, como una forma de evitar que las actualizaciones simultáneas de una política se reemplacen entre sí. Se recomienda que los sistemas usen la etag en el ciclo de lectura, modificación y escritura para realizar actualizaciones de políticas a fin de evitar condiciones de carrera: se muestra una etag en la respuesta a getIamPolicy, y se espera que los sistemas incluyan esa ETag en la solicitud a setIamPolicy para garantizar que el cambio se aplique a la misma versión de la política.

Si no se proporciona ninguna etag en la llamada a setIamPolicy, la política existente se reemplazará sin consultar.

String codificada en base64.

Vinculación

Asocia a los members con una role.

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

string

Función asignada a los members. Por ejemplo, roles/viewer, roles/editor o roles/owner.

members[]

string

Especifica qué identidades solicitan acceso al recurso de Cloud Platform, los members pueden contener 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.

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

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

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

  • domain:{domain}: Un nombre de dominio de Google Apps que representa a todos los usuarios de ese dominio. Por ejemplo, google.com o example.com.

condition

object(Expr)

Sin implementar. La condición asociada a esta vinculación. NOTA: Si una condición no se satisface, no se permitirá el acceso de los usuarios mediante la vinculación actual. Las diferentes vinculaciones, incluidas sus condiciones, se examinan de manera independiente.

Expr

Representa un texto de expresión. Ejemplo:

title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
Representación JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campos
expression

string

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

El contexto de aplicación del mensaje contenedor determina qué conjunto de atributos bien conocido de CEL es compatible.

title

string

Un título opcional para la expresión, es decir, una string corta que describe su propósito. Se puede usar, p. ej., en IU que permiten ingresar la expresión.

description

string

Una descripción opcional de la expresión. Es un texto más largo que describe a la expresión (p. ej., al desplazarse sobre ella en una IU).

location

string

Una string opcional 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 su interior).