Índice
IAMPolicy
(interfaz)AuditConfig
(mensaje)AuditLogConfig
(mensaje)AuditLogConfig.LogType
(enum)Binding
(mensaje)GetIamPolicyRequest
(mensaje)GetPolicyOptions
(mensaje)Policy
(mensaje)SetIamPolicyRequest
(mensaje)TestIamPermissionsRequest
(mensaje)TestIamPermissionsResponse
(mensaje)
IAMPolicy
Información general de la API
Administra las políticas de Identity and Access Management (IAM).
Cualquier implementación de una API que ofrezca funciones de control de acceso implementa la interfaz de google.iam.v1.IAMPolicy.
Modelo de datos
El control de acceso se aplica cuando una cuenta de servicio principal realiza alguna acción en un recurso expuesto por un servicio. Los recursos, que se identifican con nombres similares a las URI, son la unidad de especificación de control de acceso. Las implementaciones de servicio pueden elegir el nivel de detalle del control de acceso y los permisos admitidos para sus recursos. Por ejemplo, un servicio de bases de datos puede permitir que el control de acceso se especifique solo en el nivel de tabla, mientras que otro puede permitir que el control de acceso se especifique en el nivel de columna.
Estructura de la política
Consulta google.iam.v1.Policy
De forma intencional, esta no es una API de estilo CRUD porque las políticas de control de acceso se crean y borran implícitamente con los recursos a los que están vinculados.
GetIamPolicy |
---|
Permite obtener la política de control de acceso de un recurso. Muestra una política vacía si el recurso existe y no cuenta con un conjunto de políticas.
|
SetIamPolicy |
---|
Permite configurar la política de control de acceso en el recurso especificado. Reemplaza todas las políticas existentes. Puede mostrar errores
|
TestIamPermissions |
---|
Muestra los permisos que tiene un emisor para un recurso específico. Si el recurso no existe, se mostrará un conjunto vacío de permisos, en lugar de un error Nota: Esta operación se diseñó a fin de usarse en la creación de IU adaptadas a los permisos y de herramientas de línea de comandos, y no para la verificación de la autorización. La operación puede provocar un “fail open” sin mostrar advertencias.
|
AuditConfig
Especifica la configuración de auditoría para un servicio. La configuración determina los tipos de permisos que se registran, y qué identidades, si las hay, están exentas del registro. Un AuditConfig debe tener un AuditLogConfig o más.
Si hay AuditConfigs para allServices
y un servicio específico, se usa la unión de los dos AuditConfigs para ese servicio: se habilitan los log_types especificados en cada AuditConfig, y se hacen exenciones para los exempted_members en cada AuditLogConfig.
Ejemplo de una política con varios AuditConfigs:
{
"audit_configs": [
{
"service": "allServices",
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
},
{
"log_type": "ADMIN_READ"
}
]
},
{
"service": "sampleservice.googleapis.com",
"audit_log_configs": [
{
"log_type": "DATA_READ"
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
Para sampleservice, esta política habilita el registro de DATA_READ, DATA_WRITE y ADMIN_READ. También exime a jose@example.com
del registro de DATA_READ y a aliya@example.com
del registro de DATA_WRITE.
Campos | |
---|---|
service |
Especifica un servicio que se habilitará para el registro de auditoría. Por ejemplo: |
audit_log_configs[] |
La configuración para el registro de cada tipo de permiso. |
AuditLogConfig
Proporciona la configuración para el registro de un tipo de permiso. Ejemplo:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
}
]
}
Así se habilita el registro de DATA_READ y DATA_WRITE, y se exime a jose@example.com del registro de DATA_READ.
Campos | |
---|---|
log_type |
El tipo de registro que habilita esta configuración. |
exempted_members[] |
Especifica las identidades que no provocan registros para este tipo de permiso. Sigue el mismo formato de |
LogType
La lista de tipos de permiso válidos para los que se puede configurar el registro. Las escrituras de administradores siempre se registran y no son configurables.
Enums | |
---|---|
LOG_TYPE_UNSPECIFIED |
Caso predeterminado. Nunca debería aparecer esto. |
ADMIN_READ |
Lecturas de administrador. Ejemplo: CloudIAM getIamPolicy |
DATA_WRITE |
Escrituras de datos. Ejemplo: CloudSQL Users create |
DATA_READ |
Lecturas de datos. Ejemplo: CloudSQL Users list |
Vinculación
Asocia members
o principales con un role
.
Campos | |
---|---|
role |
Rol que se asigna a la lista de |
members[] |
Especifica las principales que solicitan acceso para un recurso de Google Cloud.
|
condition |
La condición asociada a esta vinculación. Si la condición se evalúa como Si la condición se evalúa como Para saber qué recursos admiten condiciones en sus políticas de IAM, consulta la documentación de IAM. |
GetIamPolicyRequest
Mensaje de solicitud para el método GetIamPolicy
.
Campos | |
---|---|
resource |
OBLIGATORIO. El recurso para el cual se solicita la política. Consulta Nombres de recursos a fin de conocer el valor adecuado para este campo. |
options |
OPCIONAL: Un objeto |
GetPolicyOptions
Encapsula la configuración proporcionada a GetIamPolicy.
Campos | |
---|---|
requested_policy_version |
Opcional. La versión máxima de la política que se usará para dar formato a la política. Los valores válidos son 0, 1 y 3. Se rechazarán las solicitudes que especifiquen un valor no válido. Las solicitudes de políticas con vinculaciones de roles condicionales deben especificar la versión 3. Las políticas sin vinculaciones de roles condicionales pueden especificar cualquier valor válido o dejar el campo sin configurar. La política en la respuesta puede usar la versión de la política que especificaste o una versión anterior. Por ejemplo, si especificas la versión 3, pero la política no tiene vinculaciones de roles condicionales, la respuesta usa la versión 1. Para saber qué recursos admiten condiciones en sus políticas de IAM, consulta la documentación de IAM. |
Política
Es una política de administración de identidades y accesos (IAM) que especifica los controles de acceso de los recursos de Google Cloud.
Una Policy
es una colección de bindings
. Una binding
une uno o más members
o principales con un solo role
. Las principales pueden ser cuentas de usuario, cuentas de servicio, grupos de Google y dominios (como G Suite). Una role
es una lista con nombre de permisos; una role
puede ser una función predefinida de IAM o una función personalizada creada por el usuario.
Para algunos tipos de recursos de Google Cloud, una binding
también puede especificar una condition
, que es una expresión lógica que permite el acceso a un recurso solo si la expresión se evalúa como true
. Una condición puede agregar restricciones en función de los atributos de la solicitud, el recurso o ambos. Para saber qué recursos admiten condiciones en sus políticas de IAM, consulta la documentación de IAM.
Ejemplo de JSON:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Ejemplo de YAML:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Para obtener una descripción de IAM y sus características, consulta la documentación de IAM.
Campos | |
---|---|
version |
Especifica el formato de la política. Los valores válidos son Las operaciones que afecten las vinculaciones de funciones condicionales deben especificar la versión
Importante: Si usas Condiciones de IAM, debes incluir el campo Si una política no incluye condiciones, las operaciones de esa política pueden especificar cualquier versión válida o dejar el campo sin configurar. Para saber qué recursos admiten condiciones en sus políticas de IAM, consulta la documentación de IAM. |
bindings[] |
Asocia una lista de Las |
audit_configs[] |
Especifica la configuración del registro de auditoría en la nube para esta política. |
etag |
Importante: Si usas Condiciones de IAM, debes incluir el campo |
SetIamPolicyRequest
Mensaje de solicitud para el método SetIamPolicy
.
Campos | |
---|---|
resource |
OBLIGATORIO. El recurso para el que se especifica la política. Consulta Nombres de recursos para conocer el valor adecuado para este campo. |
policy |
OBLIGATORIO. La política completa que se debe aplicar al |
update_mask |
OPCIONAL. Una FieldMask que especifica los campos de la política que se deben modificar. Solo se modificarán los campos de la máscara. Si no se proporciona una, se usa la siguiente máscara predeterminada:
|
TestIamPermissionsRequest
Mensaje de solicitud para el método TestIamPermissions
.
Campos | |
---|---|
resource |
OBLIGATORIO. El recurso para el que se solicitan los detalles de la política. Consulta Nombres de recursos para conocer el valor adecuado para este campo. |
permissions[] |
Corresponde al conjunto de permisos que se debe comprobar para el |
TestIamPermissionsResponse
Mensaje de respuesta para el método TestIamPermissions
.
Campos | |
---|---|
permissions[] |
Un subconjunto de |