Index
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 usuario o 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
Esta no es una API de estilo CRUD de manera intencional porque las políticas de control de acceso se crean y borran implícitamente con los recursos a los que están vinculados.
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 |
ignore_child_exemptions |
Especifica si las principales pueden estar exentas del mismo LogType en las políticas de recursos de nivel inferior. Si es verdadero, se ignorarán las exenciones de nivel inferior. |
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 a los members
con una role
.
Campos | |
---|---|
role |
Función asignada a los |
members[] |
Especifica qué identidades solicitan acceso al recurso de Cloud Platform, los
|
condition |
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. |
GetIamPolicyRequest
Mensaje de solicitud para el método GetIamPolicy
.
Campos | |
---|---|
resource |
OBLIGATORIO. El recurso para el cual se solicita la política. Consulta la documentación de operación 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 del formato de política que se mostrará. Los valores aceptables son 0 y 1. Si el valor es 0, o se omite el campo, se mostrará la versión del formato de política 1. |
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.
Campos | |
---|---|
version |
Obsoleto |
bindings[] |
Asocia una lista de |
audit_configs[] |
Especifica la configuración de Cloud Audit Logging para esta política. |
etag |
Si no se proporciona ninguna |
SetIamPolicyRequest
Mensaje de solicitud para el método SetIamPolicy
.
Campos | |
---|---|
resource |
OBLIGATORIO. El recurso para el que se especifica la política. Consulta la documentación de operación a fin de 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 utilizará la siguiente máscara predeterminada: paths: “bindings, etag”. Solo Cloud IAM usa este campo. |
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 la documentación de operación a fin de 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 |