Habilita los registros de auditoría de acceso a los datos

En esta guía, se explica cómo habilitar o inhabilitar algunos o todos los registros de auditoría de acceso a los datos en tusTrusted Cloud proyectos, cuentas de facturación, carpetas y organizaciones con la consola de Trusted Cloud o la API.

Antes de comenzar

Antes de continuar con la configuración de los registros de auditoría de acceso a los datos, comprende la siguiente información:

  • Los registros de auditoría de acceso a los datos se encuentran inhabilitados de forma predeterminada, excepto para BigQuery. Si deseas que se escriban los registros de auditoría de acceso a los datos para los servicios que no sean BigQuery, debes habilitarlos de manera explícita.Trusted Cloud

  • Los registros de auditoría de acceso a los datos se almacenan en el bucket _Default, a menos que los hayas enrutado a otro lugar. Para obtener más información, consulta Almacena y enruta registros de auditoría.

  • Los registros de auditoría de acceso a los datos ayudan a Atención al cliente de Google a solucionar problemas con tu cuenta. Por lo tanto, recomendamos habilitar los registros de auditoría de acceso a los datos cuando sea posible.

  • Para obtener los permisos que necesitas para acceder a todos los registros de los buckets _Required y _Default, incluidos los registros de acceso a los datos, pídele a tu administrador que te otorgue el rol de IAM Visualizador de registros privados (roles/logging.privateLogViewer) en tu proyecto.

    El rol de Visor de registros privados (roles/logging.privateLogViewer) incluye los permisos que contiene el rol de Visor de registros (roles/logging.viewer) y los necesarios para leer los registros de auditoría de acceso a los datos en el bucket _Default.

    El rol de Editor (roles/editor) no incluye los permisos necesarios para ver los registros de acceso a los datos.

    Para obtener más información de los permisos y los roles de IAM que se aplican a los datos de registros de auditoría, consulta Control de acceso con IAM.

Descripción general de la configuración

Puedes configurar cómo se habilitan los registros de auditoría de acceso a los datos para tusTrusted Cloud recursos y servicios:

  • Organizaciones: Puedes habilitar y configurar registros de auditoría de acceso a los datos en una organización, lo que se aplica a todos los proyectos y carpetas existentes y nuevos en la organización.Trusted Cloud

  • Carpetas: Puedes habilitar y configurar registros de auditoría de acceso a los datos en una carpeta, lo que se aplica a todos los proyectos Trusted Cloud nuevos y existentes en la carpeta. No puedes inhabilitar un registro de auditoría de acceso a los datos que se habilitó en la organización superior del proyecto.

  • Proyectos: Puedes configurar los registros de auditoría de acceso a los datos para unTrusted Cloud proyecto individual. No puedes inhabilitar un registro de auditoría de acceso a los datos que se habilitó en una organización o carpeta principal.

  • Cuentas de facturación: Para configurar los registros de auditoría de acceso a los datos para cuentas de facturación, usa Google Cloud CLI. Para obtener más información sobre el uso de gcloud CLI con los registros de auditoría de acceso a los datos y las cuentas de facturación, consulta la documentación de gcloud beta billing accounts set-iam-policy.

  • Configuraciones predeterminadas: Puedes especificar una configuración predeterminada de registro de auditoría de acceso a los datos en una organización, carpeta o Trusted Cloud proyecto que se aplique a futuros Trusted Cloud servicios que comiencen a producir registros de auditoría de acceso a los datos. Para obtener instrucciones, consulta Cómo establecer la configuración predeterminada.

  • Tipos de permisos: Puedes especificar que las APIs de Trusted Cloud que solo verifican un cierto tipo de permiso emitan un registro de auditoría. Para obtener más información, consulta la sección Tipos de permisos de esta página.

  • Principales exentas: Puedes eximir a principales específicas para que no se registren sus accesos a los datos. Por ejemplo, puedes eximir a tus cuentas de pruebas internas para que sus operaciones de Cloud Monitoring no se registren. Para obtener una lista de principales válidos, incluidos usuarios y grupos, consulta la referencia de tipo Binding.

Puedes configurar tus registros de auditoría de acceso a los datos a través de la página Registros de auditoría de IAM en la consola de Trusted Cloud o con la API. Estos métodos se explican en las siguientes secciones.

Tipos de permisos

Los métodos de la API verifican los permisos de IAM. Cada permiso de IAM tiene un tipo de permiso, que se define con la propiedad type. Los tipos de permisos se clasifican como un tipo de permiso de acceso a los datos o como un tipo de permiso de actividad del administrador:

  • Tipos de permisos de acceso a los datos:

    • ADMIN_READ: Los permisos de IAM de este tipo se verifican para los métodos de laTrusted Cloud API que leen metadatos o información de configuración. Por lo general, los registros de auditoría de ADMIN_READ están inhabilitados de forma predeterminada y se deben habilitar.

    • DATA_READ: Los permisos de IAM de este tipo se verifican para los métodos de la API deTrusted Cloud que leen datos proporcionados por el usuario. Por lo general, los registros de auditoría de DATA_READ están inhabilitados de forma predeterminada y deben habilitarse.

    • DATA_WRITE: Los permisos de IAM de este tipo se verifican para los métodos de la API deTrusted Cloud que escriben datos proporcionados por el usuario. Por lo general, los registros de auditoría de DATA_WRITE están inhabilitados de forma predeterminada y deben habilitarse.

  • Tipo de permiso de actividad del administrador:

    • ADMIN_WRITE: Los permisos de IAM de este tipo se verifican para los métodos de la API deTrusted Cloud que escriben metadatos o información de configuración. Los registros de auditoría asociados con este tipo, los registros de auditoría de actividad del administrador, están activados de forma predeterminada y no se pueden inhabilitar.

Puedes habilitar o inhabilitar tipos de permisos para los servicios con laTrusted Cloud consola o invocando la API.

La mayoría de las APIs de Trusted Cloud solo verifican si el llamador tiene un solo permiso de IAM. Si el tipo de permiso asociado a ese permiso está habilitado para el servicio cuya API se llama, la API genera un registro de auditoría.

En las siguientes secciones, se describen de forma general otras formas en que los métodos de la API de Trusted Cloudverifican los permisos de IAM. Para obtener información específica del servicio sobre qué métodos se verifican para qué tipos de permisos, consulta la documentación de registro de auditoría del servicio.

Verificación de permisos de IAM para tipos de permisos de acceso a los datos

Algunos métodos de la API de Trusted Cloud verifican si el llamador tiene varios permisos de IAM con diferentes tipos de permisos de acceso a los datos. Se escribe un registro de auditoría cuando se habilita uno de esos tipos de permisos de acceso a los datos en el proyecto.

Por ejemplo, un método de API podría verificar que la entidad principal que emite una solicitud de API tenga los permisos example.resource.get (DATA_READ) y example.resource.write (DATA_WRITE). El proyecto solo necesita que se habilite DATA_WRITE o DATA_READ para que el servicio emita el registro de auditoría cuando se emita la llamada.

Se verificaron los tipos de permisos de IAM de actividad del administrador y acceso a los datos

Algunos métodos de la API de Trusted Cloud verifican tanto un permiso de IAM que tiene el tipo de permisoADMIN_WRITEcomo uno o más permisos que tienen un tipo de permiso de acceso a los datos.

Estos tipos de llamadas a la API emiten registros de auditoría de actividad del administrador, que están activados de forma predeterminada y no se pueden inhabilitar.

El método de la API verifica los permisos de IAM que no son propiedad del servicio

Algunos servicios Trusted Cloud tienen métodos de API que generan un registro de auditoría solo cuando se habilita un tipo de permiso específico para un servicio diferente.

Por ejemplo, Facturación de Cloud tiene un método de API que verifica un tipo de permiso ADMIN_READ que pertenece a Resource Manager. ADMIN_READ debe estar habilitado para que el servicio cloudresourcemanager.googleapis.com habilite el registro de auditoría asociado a la API de Cloud Billing.

El mismo método de API verifica diferentes permisos de IAM

En el caso de algunas APIs de Trusted Cloud , la forma en que se llama al método determina qué tipos de permisos de IAM se deben habilitar en el proyecto para que se genere un registro de auditoría.

Por ejemplo, Spanner tiene un método de API que, a veces, verifica un permiso de IAM con el tipo DATA_WRITE y, otras veces, verifica un permiso de IAM con el tipo DATA_READ, según cómo se llame al método. En este caso, habilitar DATA_WRITE para Spanner en el proyecto de la llamada a la API solo habilita el registro de auditoría asociado a la API cuando se verifica el permiso de IAM con el tipo DATA_WRITE.

Configuración específica del servicio

Si hay una configuración de Trusted Cloud todo el servicio (allServices) y una configuración para un Trusted Cloud servicio específico, la configuración resultante para el servicio es la unión de las dos configuraciones. En otras palabras:

  • Puedes habilitar los registros de auditoría de acceso a los datos para servicios específicos de Trusted Cloud, pero no puedes inhabilitarlos en los servicios deTrusted Cloud habilitados en la configuración más amplia.

  • Puedes agregar tipos de información adicionales al registro de auditoría de acceso a los datos de un servicio de Trusted Cloud, pero no puedes quitar los tipos que se especifican en la configuración más amplia.

  • Puedes agregar principales a las listas de exención, pero no puedes quitarlos de las listas de exención en la configuración más amplia.

  • En el caso del Servicio de transferencia de datos de BigQuery, la configuración del registro de auditoría de acceso a los datos se hereda de la configuración predeterminada del registro de auditoría.

Trusted Cloud parámetros de configuración de recursos

Puedes configurar registros de auditoría de acceso a los datos para Trusted Cloud proyectos, cuentas de facturación, carpetas y organizaciones. Si hay una configuración para un servicio deTrusted Cloud en toda la jerarquía, la configuración resultante es la unión de las configuraciones. En otras palabras, a nivel del proyectoTrusted Cloud puedes hacer lo siguiente:

  • Puedes habilitar los registros de un servicio Trusted Cloud , pero no puedes inhabilitar los registros de un servicio Trusted Cloud que esté habilitado en una organización o carpeta principal.

  • Puedes habilitar tipos de información, pero no puedes inhabilitar los que están habilitados en una organización o carpeta superior.

  • Puedes agregar principales a las listas de exención, pero no puedes quitarlos de las listas de exención en una organización o carpeta principal.

  • A nivel de organización o carpeta principal, puedes habilitar los registros de auditoría de acceso a los datos para un Trusted Cloud proyecto dentro de esa organización o carpeta, incluso si no se configuraron en elTrusted Cloud proyecto.

Control de acceso

Las funciones y los permisos de la administración de identidades y accesos rigen el acceso a los datos de Logging, incluida la visualización y la administración de las políticas de IAM subyacentes de las configuraciones de registro de auditoría de acceso a los datos.

Para ver o establecer las políticas asociadas con la configuración de acceso a los datos, necesitas una función con permisos en el nivel de recursos adecuado. Para obtener instrucciones sobre cómo otorgar estos roles a nivel de recursos, consulta Administra el acceso a Trusted Cloud proyectos, carpetas y organizaciones.

  • Para establecer las políticas de IAM, necesitas una función con el permiso resourcemanager.RESOURCE_TYPE.setIamPolicy.

  • Para ver las políticas de IAM, necesitas una función con el permiso resourcemanager.RESOURCE_TYPE.getIamPolicy.

Si deseas obtener la lista de los permisos y las funciones que necesitas para ver los registros de auditoría de acceso a los datos, consulta Control de acceso con IAM.

Configura registros de auditoría de acceso a los datos con la Trusted Cloud consola

En esta sección, se explica cómo usar la consola de Trusted Cloud para configurar los registros de auditoría de acceso a datos.

También puedes usar la API o Google Cloud CLI para realizar estas tareas de manera programática. Consulta Configura los registros de auditoría de acceso a los datos con la API para obtener más detalles.

Para acceder a las opciones de configuración del registro de auditoría en la consola de Trusted Cloud , sigue estos pasos:

  1. En la consola de Trusted Cloud , ve a la página Registros de auditoría:

    Ir a Registros de auditoría

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.

  2. Selecciona un Trusted Cloud proyecto, una carpeta o una organización existentes.

Habilita registros de auditoría

Para habilitar los registros de auditoría de acceso a los datos, haz lo siguiente:

  1. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona uno o másTrusted Cloud servicios de la columna Servicio.

  2. En la pestaña Tipos de permisos, selecciona los tipos de registros de auditoría de acceso a los datos que deseas habilitar para los servicios seleccionados.

  3. Haz clic en Guardar.

Si habilitaste correctamente los registros de auditoría, la tabla incluirá un ícono de marca de verificación.

En el siguiente ejemplo, verás que, para el servicio de Aprobación de acceso, el tipo de registro de auditoría Lectura de datos está habilitado:

Configuración de registros de auditoría

También puedes habilitar los registros de auditoría para todos los servicios de Trusted Cloud que producen registros de auditoría de acceso a los datos. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona todos los servicios Trusted Cloud .

Ten en cuenta que este método de configuración masiva solo se aplica a los servicios Trusted Clouddisponibles para tu recurso. Si se agrega un nuevo servicio deTrusted Cloud , hereda tu configuración de auditoría predeterminada.

Inhabilita registros de auditoría de acceso a los datos

Para inhabilitar los registros de auditoría de acceso a los datos, haz lo siguiente:

  1. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona uno o más servicios deTrusted Cloud .

  2. En la pestaña Tipos de registro del panel de información, selecciona los tipos de registros de auditoría de acceso a los datos que deseas inhabilitar para los servicios seleccionados.

  3. Haz clic en Guardar.

Si inhabilitaste correctamente los registros de auditoría de acceso a los datos, se indicará en la tabla con un guion. Todos los registros de auditoría de acceso a los datos habilitados se indican con un ícono de marca de verificación.

Cómo establecer exenciones

Puedes configurar exenciones para controlar qué principales generan registros de auditoría de acceso a los datos para servicios específicos. Cuando agregas una principal exenta, no se crean registros de auditoría para ella en los tipos de registros seleccionados.

Para establecer exenciones, haz lo siguiente:

  1. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona un servicioTrusted Cloud de la columna Servicio.

  2. Selecciona la pestaña Principales exentos en el panel de información.

  3. En Agregar principal exenta, ingresa la principal que deseas eximir de generar registros de auditoría de acceso a los datos para el servicio seleccionado.

    Puedes agregar varias entidades principales haciendo clic en el botón Agregar entidad principal exenta tantas veces como sea necesario.

    Para obtener una lista de principales válidos, incluidos usuarios y grupos, consulta la referencia del tipo Binding.

  4. En Tipos de registros inhabilitados, selecciona los tipos de registros de auditoría de acceso a los datos que deseas inhabilitar.

  5. Haz clic en Guardar.

Cuando hayas agregado correctamente principales exentas a un servicio, la tabla Configuración de los registros de auditoría de acceso a los datos lo indicará con un número en la columna Principales exentas.

Para quitar una principal de tu lista de exenciones, haz lo siguiente:

  1. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona un servicioTrusted Cloud de la columna Servicio.

  2. Selecciona la pestaña Principales exentos en el panel de información.

  3. Mantén el puntero sobre el nombre de un principal y, luego, selecciona Borrar.

  4. Una vez que el nombre del principal aparezca en texto tachado, haz clic en Guardar.

Para editar la información de un principal exento, sigue estos pasos:

  1. En la tabla Configuración de los registros de auditoría de acceso a los datos, selecciona un servicioTrusted Cloud de la columna Servicio.

  2. Selecciona la pestaña Principales exentos en el panel de información.

  3. Busca la entidad principal y selecciona expandir Mostrar más.

  4. Selecciona o anula la selección de los tipos de registros de auditoría de acceso a los datos según corresponda para la principal.

  5. Haz clic en Guardar.

Establece la configuración predeterminada

Puedes establecer una configuración que hereden todos los servicios Trusted Cloudnuevos y existentes en tu proyecto, organización o carpeta Trusted Cloud . Establecer esta configuración predeterminada se aplica si un nuevo servicio de Trusted Cloud está disponible y las entidades principales de tu organización comienzan a usarlo: el servicio hereda la política de registro de auditoría que ya configuraste para otros servicios deTrusted Cloud , lo que garantiza que se capturen los registros de auditoría de acceso a los datos.

Para establecer o editar la configuración predeterminada, haz lo siguiente:

  1. Haz clic en Establecer configuración predeterminada.

  2. En la pestaña Tipos de registro del panel de información, selecciona los tipos de registros de auditoría de acceso a datos que deseas habilitar o inhabilitar.

  3. Haz clic en Guardar.

  4. Selecciona la pestaña Principales exentos en el panel de información.

  5. En Agregar principal exenta, ingresa la principal que deseas eximir de generar registros de auditoría de acceso a los datos para el servicio seleccionado.

    Puedes agregar varias entidades principales haciendo clic en el botón Agregar entidad principal exenta tantas veces como sea necesario.

    Para obtener una lista de principales válidos, incluidos usuarios y grupos, consulta la referencia del tipo Binding.

  6. En Tipos de registros inhabilitados, selecciona los tipos de registros de auditoría de acceso a los datos que deseas inhabilitar.

  7. Haz clic en Guardar.

Configura registros de auditoría de acceso a los datos con la API

En esta sección, se explica cómo usar la API y gcloud CLI para configurar los registros de auditoría de acceso a datos de manera programática.

Muchas de estas tareas también se pueden realizar con la Trusted Cloud consola. Para obtener instrucciones, consultaConfigura registros de auditoría de acceso a los datos con la Trusted Cloud consolaen esta página.

Objetos de la política de IAM

Para configurar los registros de auditoría de acceso a datos con la API, debes editar la política de IAM asociada a tu proyecto, organización o carpeta de Trusted Cloud . La configuración del registro de auditoría se encuentra en la sección auditConfigs de la política:

"auditConfigs": [
  {
    object(AuditConfig)
  }
]

Para obtener más detalles, consulta el tipo de Política de IAM.

En las siguientes secciones se describe el objeto AuditConfig con más detalle. Para obtener información sobre los comandos de la API y de gcloud CLI que se usan para cambiar la configuración, consulta la sección titulada getIamPolicy y setIamPolicy.

AuditConfig objetos

La configuración del registro de auditoría consta de una lista de objetos AuditConfig. Cada objeto configura los registros de un servicio o establece una configuración más amplia para todos los servicios. Cada objeto se ve de la siguiente manera:

{
  "service": SERVICE_NAME,
  "auditLogConfigs": [
    {
      "logType": "ADMIN_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_WRITE"
      "exemptedMembers": [ PRINCIPAL,]
    },
  ]
},

SERVICE_NAME tiene un valor como "appengine.googleapis.com" o el valor especial "allServices". Si una configuración no menciona un servicio en particular, entonces se usa la configuración más amplia para ese servicio. Si no hay ninguna configuración, los registros de auditoría de acceso a los datos no están habilitados para ese servicio. Para obtener una lista de los nombres de los servicios, consulta Servicios de registro.

La sección auditLogConfigs del objeto AuditConfig es una lista de 0 a 3 objetos, cada uno de los cuales configura un tipo de información de registro de auditoría. Si omites uno de los tipos de la lista, ese tipo de información no estará habilitado para el servicio.

PRINCIPAL es un usuario para el que no se recopilan registros de auditoría de acceso a los datos. El tipo Binding describe diferentes tipos de principales, incluidos los usuarios y los grupos, pero no todos ellos se pueden usar para configurar registros de auditoría de acceso a los datos.

A continuación, se presenta un ejemplo de una configuración de auditoría en formatos JSON y YAML. El formato YAML es el predeterminado cuando se usa Google Cloud CLI.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@developer.s3ns-system.iam.gserviceaccount.com"
        ],
        "logType": "ADMIN_READ"
      }
    ],
    "service": "cloudsql.googleapis.com"
  }
],

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices
- auditLogConfigs:
  - exemptedMembers:
    - 499862534253-compute@developer.s3ns-system.iam.gserviceaccount.com
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Configuraciones comunes

A continuación, se presentan algunas configuraciones de registros de auditoría comunes para proyectos de Trusted Cloud .

Habilita todos los registros de auditoría de acceso a los datos

En la siguiente sección de auditConfigs, se habilitan los registros de auditoría de acceso a los datos para todos los servicios y principales:

JSON

"auditConfigs": [
      {
        "service": "allServices",
        "auditLogConfigs": [
          { "logType": "ADMIN_READ" },
          { "logType": "DATA_READ"  },
          { "logType": "DATA_WRITE" },
        ]
      },
    ]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices

Habilita un tipo de información y servicio

La siguiente configuración habilita los registros de auditoría de DATA_WRITE acceso a los datos para Cloud SQL:

JSON

"auditConfigs": [
  {
    "service": "cloudsql.googleapis.com",
    "auditLogConfigs": [
      { "logType": "DATA_WRITE" },
    ]
  },
]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: DATA_WRITE
  service: cloudsql.googleapis.com

Inhabilita todos los registros de auditoría de acceso a los datos

Para inhabilitar todos los registros de auditoría de acceso a datos (excepto BigQuery) en un proyecto deTrusted Cloud , incluye una sección auditConfigs: vacía en tu nueva política de IAM:

JSON

"auditConfigs": [],

YAML

auditConfigs:

Si quitas la sección auditConfigs por completo de tu política nueva, setIamPolicy no cambia la configuración existente de los registros de auditoría de acceso a los datos. Para obtener más información, consulta la sección La máscara de actualización setIamPolicy.

No se pueden inhabilitar los registros de auditoría de acceso a los datos de BigQuery.

getIamPolicy y setIamPolicy

Usas los métodos getIamPolicy y setIamPolicy de la API de Cloud Resource Manager para leer y escribir tu política de IAM. Puedes elegir entre diferentes opciones para los métodos específicos que usarás:

  • La API de Cloud Resource Manager tiene los siguientes métodos:

    projects.getIamPolicy
    projects.setIamPolicy
    organizations.getIamPolicy
    organizations.setIamPolicy
    
  • Google Cloud CLI tiene los siguientes comandos de Resource Manager:

    gcloud projects get-iam-policy
    gcloud projects set-iam-policy
    gcloud resource-manager folders get-iam-policy
    gcloud resource-manager folders set-iam-policy
    gcloud organizations get-iam-policy
    gcloud organizations set-iam-policy
    gcloud beta billing accounts get-iam-policy
    gcloud beta billing accounts set-iam-policy
    

Independientemente de tu elección, sigue estos tres pasos:

  1. Lee la política actual mediante uno de los métodos getIamPolicy. Guarda la política en un archivo temporal.
  2. Edita la política en el archivo temporal. Cambia (o agrega) solo la sección auditConfigs.
  3. Escribe la política editada en el archivo temporal mediante uno de los métodos setIamPolicy.

setIamPolicy falla si Resource Manager detecta que otra persona cambió la política después de que la leíste en el primer paso. Si esto sucede, repite los tres pasos.

Ejemplos

En los siguientes ejemplos se muestra cómo configurar los registros de auditoría de acceso a datos de tu proyecto con el comando gcloud y la API de Cloud Resource Manager.

A fin de configurar los registros de auditoría de acceso a datos de la organización, reemplaza la versión de "proyectos" de los comandos y los métodos de la API con la versión de "organizaciones".

gcloud

Para configurar los registros de auditoría de acceso a datos con el comando gcloud projects, haz lo siguiente:

  1. Lee la política de IAM de tu proyecto y almacénala en un archivo.

    gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
    

    A continuación, se muestra la política devuelta. Esta política no tiene una sección auditConfigs:

    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  2. Edita tu política en /tmp/policy.yaml. Para ello, agrega o cambia solo la configuración de los registros de auditoría de acceso a datos.

    A continuación, se muestra un ejemplo de tu política editada, que habilita los registros de auditoría de acceso a los datos de escritura de datos de Cloud SQL:

    auditConfigs:
    - auditLogConfigs:
      - logType: DATA_WRITE
      service: cloudsql.googleapis.com
    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    

    Como se muestra en el ejemplo anterior, se agregaron cuatro líneas al principio de la política.

  3. Escribe tu nueva política de IAM:

    gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
    

    Si el comando anterior informa un conflicto con otro cambio, repite estos pasos y comienza con el primero.

JSON

Para trabajar con tu política de IAM en formato JSON en lugar de YAML, reemplaza los siguientes comandos gcloud en el ejemplo:

gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json

API

Para configurar tus registros de auditoría de acceso de datos mediante la API de Cloud Resource Manager, sigue estos pasos:

  1. Lee la política de IAM de tu proyecto en la que se especifican los siguientes parámetros del método de la API getIamPolicy:

    • Recurso: projects/PROJECT_ID
    • Cuerpo de la solicitud: vacío

    El método devuelve el objeto de la política actual:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    

    En el ejemplo anterior, se muestra que la política del proyecto no tiene una sección auditConfigs.

  2. Edita la política actual:

    • Cambia o agrega la sección auditConfigs.

      Si deseas inhabilitar tus registros de auditoría de acceso a los datos, incluye un valor vacío para la sección: auditConfigs:[].

    • Conserva el valor de etag.

    También puedes quitar toda la demás información del objeto de política nuevo, siempre y cuando tengas la precaución de configurar updateMask en el paso siguiente. A continuación, se muestra la política editada, que habilita los registros de auditoría de DATA_WRITE de Cloud SQL:

    {
      "policy": {
        "auditConfigs": [
          {
            "auditLogConfigs": [
              {
                "logType": "DATA_WRITE"
              }
            ],
            "service": "cloudsql.googleapis.com"
          }
        ],
        "etag": "BwXqwxkr40M="
      },
      "updateMask": "auditConfigs,etag"
    }
    
  3. Escribe la nueva política con el método de la API setIamPolicy y especifica los siguientes parámetros:

    • Recurso: projects/PROJECT_ID
    • Cuerpo de la solicitud: Incluye la política editada.

La máscara de actualización setIamPolicy

En esta sección, se explica la importancia del parámetro updateMask en el método setIamPolicy, y se explica por qué debes tener cuidado con el comando set-iam-policy de gcloud CLI para no causar daño accidental a tu organización o proyecto de Trusted Cloud .

El método de la API setIamPolicy usa un parámetro updateMask para controlar qué campos de la política se actualizan. Por ejemplo, si la máscara no contiene bindings, no puedes cambiar esa sección de la política por error. Por otro lado, si la máscara contiene bindings, esa sección siempre se actualiza. Si no incluyes un valor actualizado para bindings, esa sección se quita por completo de la política.

El comando gcloud projects set-iam-policy, que llama a setIamPolicy, no te permite especificar el parámetro updateMask. En su lugar, el comando calcula un valor para updateMask de la siguiente manera:

  • La updateMask siempre contiene los campos bindings y etag.
  • Si el objeto de política proporcionado en set-iam-policy contiene algún otro campo de nivel superior, como auditConfigs, esos campos se agregan a updateMask.

Como consecuencia de estas reglas, el comando set-iam-policy tiene los siguientes comportamientos:

  • Si omites la sección auditConfigs en tu política nueva, el valor anterior de la sección auditConfigs (si existe) no se modifica porque esa sección no está en la máscara de actualización. Esto es inofensivo, pero puede ser confuso.

  • Si omites bindings en tu nuevo objeto de política, la sección bindings se quitará de tu política, ya que esta sección aparece en la máscara de actualización. Esto es muy perjudicial, ya que, como consecuencia, todos los principales pierden acceso a tu proyecto de Trusted Cloud .

  • Si omites etag en tu nuevo objeto de política, esto inhabilita la verificación de cambios simultáneos en tu política y podría dar como resultado cambios que reemplacen de manera accidental los cambios de otra persona.