Política

Define una política de gestión de identidades y accesos (IAM). Se usa para especificar políticas de control de acceso a los recursos de Cloud Platform.

Una Policy consta de una lista de bindings. Binding vincula una lista de members a role; los miembros pueden ser cuentas de usuario, grupos de Google, Google Domains y cuentas de servicio. role es una lista denominada de permisos definidos por la gestión de identidades y accesos.

Ejemplo

{
  "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"]
    }
  ]
}

Si quieres obtener una descripción de la gestión de identidades y accesos (IAM) y sus funciones, consulta la guía para desarrolladores de IAM.

Representación JSON

{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "auditConfigs": [
    {
      object(AuditConfig)
    }
  ],
  "etag": string,
}
Campos
version
(deprecated)

number

Obsoleto.

bindings[]

objeto ( Binding )

Asocia una lista de members a un role. Una declaración bindings sin miembros dará como resultado un error.

auditConfigs[]

objeto ( AuditConfig )

Especifica la configuración del almacenamiento de registros de auditoría en la nube de esta política.

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 sobrescriban entre sí. Se recomienda encarecidamente que los sistemas usen etag en el ciclo de lectura, modificación y escritura para realizar actualizaciones de políticas con el fin de evitar condiciones de carrera: se devuelve un parámetro etag en la respuesta al mensaje getIamPolicy, y se espera que los sistemas pongan ese etag en la petición de setIamPolicy para garantizar que el cambio se aplica a la misma versión de la política.

Si no se proporciona un parámetro etag en la llamada a setIamPolicy, la política actual se sobrescribe a ciegas.

Una cadena codificada en base64.

Binding

Asocia members con role.

Representación JSON

{
  "role": string,
  "members": [
    string
  ],
}
Campos
role

string

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

members[]

string

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

  • allUsers: un identificador especial que representa a cualquier persona conectada a Internet, ya sea con una cuenta de Google o sin ella.

  • allAuthenticatedUsers: un identificador especial que representa a cualquier persona que esté autenticada con una cuenta de Google o con una cuenta de servicio.

  • user:{emailid}: una dirección de correo electrónico que representa una cuenta de Google concreta. Por ejemplo, alice@gmail.com o joe@example.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.

AuditConfig

Define la configuración de auditoría de un servicio. La configuración determina qué tipos de permiso se registran y qué identidades, si las hay, están exentas del almacenamiento de registro. Un mensaje AuditConfig debe disponer de un mensaje AuditLogConfigs o más de uno.

Si hay mensajes AuditConfig tanto para allServices como para un servicio específico, la unión de los dos mensajes AuditConfig se usa para ese servicio: los log_types especificados en cada mensaje AuditConfig están habilitados, y los exemptedMembers en cada mensaje AuditLogConfig están exentos.

Ejemplo de política con varios mensajes AuditConfig:

{
  "auditConfigs": [
    {
      "service": "allServices"
      "auditLogConfigs": [
        {
          "logType": "DATA_READ",
          "exemptedMembers": [
            "user:foo@gmail.com"
          ]
        },
        {
          "logType": "DATA_WRITE",
        },
        {
          "logType": "ADMIN_READ",
        }
      ]
    },
    {
      "service": "fooservice.googleapis.com"
      "auditLogConfigs": [
        {
          "logType": "DATA_READ",
        },
        {
          "logType": "DATA_WRITE",
          "exemptedMembers": [
            "user:bar@gmail.com"
          ]
        }
      ]
    }
  ]
}

En el caso de fooservice, esta política habilita el almacenamiento de registros "DATA_READ", "DATA_WRITE" y "ADMIN_READ". También exime a foo@gmail.com del almacenamiento de registro "DATA_READ" y a bar@gmail.com del almacenamiento de registro "DATA_WRITE".

Representación JSON

{
  "service": string,
  "auditLogConfigs": [
    {
      object(AuditLogConfig)
    }
  ],
}
Campos
service

string

Especifica un servicio que se habilitará para el almacenamiento de registro de auditoría. Por ejemplo, storage.googleapis.com y cloudsql.googleapis.com. allServices son valores especiales que abarcan todos los servicios.

auditLogConfigs[]

objeto ( AuditLogConfig )

Configuración para el almacenamiento de registro de cada tipo de permiso. ID siguiente: 4

AuditLogConfig

Proporciona la configuración para almacenar los registros de un tipo de permisos. Ejemplo:

{
  "auditLogConfigs": [
    {
      "logType": "DATA_READ",
      "exemptedMembers": [
        "user:foo@gmail.com"
      ]
    },
    {
      "logType": "DATA_WRITE",
    }
  ]
}

Así se habilita el almacenamiento de registro "DATA_READ" y "DATA_WRITE", mientras que se exime a foo@gmail.com del almacenamiento de registro "DATA_READ".

Representación JSON

{
  "logType": enum(LogType),
  "exemptedMembers": [
    string
  ],
}
Campos
logType

enum ( LogType )

Tipo de registro que habilita esta configuración.

exemptedMembers[]

string

Especifica las identidades eximidas del registro para este tipo de permiso. Sigue el mismo formato que Binding.members.

LogType

Lista de tipos de permisos válidos para los que se puede configurar el almacenamiento de registros. Las escrituras del administrador siempre se registran y no se pueden configurar.

Enumeraciones
LOG_TYPE_UNSPECIFIED Situación predeterminada. Nunca debería figurar así.
ADMIN_READ Lecturas del administrador. Ejemplo: CloudIAM getIamPolicy
DATA_WRITE Escrituras de datos. Ejemplo: creaciones de los usuarios de CloudSQL
DATA_READ Datos leídos. Ejemplo: lista de usuarios de CloudSQL