En esta página, se proporciona información adicional para el uso de Registros de auditoría de Cloud con Cloud Storage. Usa Registros de auditoría de Cloud si quieres generar registros para las operaciones de API que se realizan en Cloud Storage.
Descripción general
Los servicios de Google Cloud escriben registros de auditoría para ayudarte a responder las preguntas “¿Quién hizo qué, dónde y cuándo?”. dentro de tus recursos de Google Cloud. También puedes adjuntar información personalizada a los registros de auditoría para obtener información más detallada sobre cómo se accede a tus recursos.
Los proyectos de Google Cloud contienen solo los registros de auditoría de los recursos que están de forma directa dentro del proyecto de Google Cloud. Otros recursos de Google Cloud, como las carpetas, organizaciones y cuentas de facturación, contienen los registros de auditoría correspondientes a la entidad.
Consulta la descripción general de los Registros de auditoría de Cloud para conocer más al respecto. Para comprender mejor el formato del registro de auditoría, consulta Información de los registros de auditoría.
Registros de auditoría disponibles
Los siguientes tipos de registros de auditoría están disponibles para Cloud Storage:
Registros de auditoría de actividad del administrador: entradas para operaciones que modifican el acceso a los recursos de Cloud Storage y entradas para operaciones que crean, borran o modifican buckets, carpetas administradas o configuraciones de informes de inventario. No puedes inhabilitar los registros de auditoría de actividad del administrador.
Registros de auditoría de acceso a los datos: entradas para operaciones a las que no se les realiza un seguimiento en los registros de auditoría de actividad del administrador. Hay distintos subtipos de registros de auditoría de acceso a los datos:
ADMIN_READ
: entradas para operaciones que leen configuraciones de acceso, leen metadatos de buckets o enumeran buckets dentro de un proyecto.DATA_READ
: entradas para operaciones que leen o enumeran recursos de Cloud Storage que no sean buckets.DATA_WRITE
: entradas para operaciones que crean, modifican, borran o restablecen objetos o que crean, modifican o borran cargas multiparte de la API de XML.
Para recibir registros de auditoría de acceso a los datos, debes habilitarlos de forma explícita.
Además de los registros de auditoría de Cloud Storage, los registros de auditoría de Cloud pueden crear registros de auditoría para Storage Insights. Los registros de auditoría de Storage Insights se generan cada vez que se crean, se actualizan y se recuperan las configuraciones de informes de inventario y cuando se recuperan los informes de inventario.
Para obtener descripciones más completas de los tipos de registros de auditoría, consulta Tipos de registros de auditoría.
Operaciones auditadas
En la siguiente tabla, se resumen las operaciones de Cloud Storage que corresponden a cada tipo de registro de auditoría:
Tipo de registro de auditoría | Subtipo | Operaciones de Cloud Storage |
---|---|---|
Actividad del administrador | ADMIN_WRITE |
|
Acceso a los datos | ADMIN_READ |
|
Acceso a los datos | DATA_READ |
|
Acceso a los datos | DATA_WRITE |
|
1 Los registros de auditoría de actividad del administrador no se generan si las LCA se configuran de forma inicial en la creación del objeto. Además, si una LCA de objeto se configura como pública, los registros de auditoría no se generan para lecturas o escrituras en ese objeto ni su LCA.
2 Estas operaciones implican lectura y escritura de datos. Como resultado, cada una de estas operaciones genera dos entradas de registro.
Restricciones
Las siguientes restricciones se aplican a Registros de auditoría de Cloud con Cloud Storage:
- Registros de auditoría de Cloud no realiza un seguimiento del acceso a objetos públicos.
- Registros de auditoría de Cloud no realiza un seguimiento de los cambios que realizan las funciones Administración del ciclo de vida de los objetos o Autoclass.
- Los registros de acceso a los datos hacen que fallen las descargas autenticadas del navegador cuando se intentan descargar objetos no públicos fuera de la consola de Google Cloud.
Si necesitas capacidades de registro en uno de estos casos, considera usar registros de uso de Cloud Storage.
Formato del registro de auditoría
Las entradas del registro de auditoría incluyen los siguientes componentes:
La entrada de registro en sí, que es un objeto
LogEntry
. Los campos útiles incluyen los siguientes:- El campo
logName
contiene el ID del recurso y el tipo de registro de auditoría. - El campo
resource
contiene el objetivo de la operación auditada. - El campo
timestamp
contiene la hora de la operación auditada. - El campo
protoPayload
contiene la información auditada.
- El campo
Los datos de registro de auditoría, que son un objeto
AuditLog
alojado en el campoprotoPayload
de la entrada de registro.Información opcional de auditoría específica de Cloud Storage, que incluye información detallada de la solicitud y la respuesta. Para obtener más información, consulta Modo detallado del registro de auditoría. Ten en cuenta que no necesitas aplicar un registro de auditoría detallado para adjuntar información personalizada a los registros de auditoría.
Para obtener información de otros campos en estos objetos, además de cómo interpretarlos, consulta Información de los registros de auditoría.
Nombre del registro
Los nombres de registro de los Registros de auditoría de Cloud incluyen identificadores de recursos que indican el proyecto de Google Cloud u otra entidad de Google Cloud que posee los registros de auditoría, y si el registro contiene datos de registro de auditoría de acceso a los datos o de actividad del administrador.
A continuación, se muestran los nombres de los registros de auditoría, incluidas las variables para los identificadores de recursos:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Nombre del servicio
Los registros de auditoría de Cloud Storage usan el nombre de servicio storage.googleapis.com
.
Los registros de auditoría Storage Insights usan el nombre de servicio storageinsights.googleapis.com
.
Para obtener una lista de los nombres de los servicios de la API de Cloud Logging y su tipo de recurso supervisado correspondiente, consulta Asigna servicios a recursos.
Tipos de recursos
Los registros de auditoría de Cloud Storage usan el tipo de recurso gcs_bucket
.
Para obtener una lista de todos los tipos de recursos supervisados de Cloud Logging y la información descriptiva, consulta Tipos de recursos supervisados.
Habilita el registro de auditoría
Los registros de auditoría de actividad del administrador siempre están habilitados; no puedes inhabilitarlos.
Los registros de auditoría de acceso a los datos están inhabilitados de forma predeterminada y no se escriben, a menos que se habiliten de manera explícita.
Si deseas obtener más información para habilitar algunos o todos tus registros de auditoría de acceso a los datos, consulta Configura registros de auditoría de acceso a los datos.
Permisos y funciones
Los permisos y los roles de IAM determinan tu capacidad para acceder a los datos de registros de auditoría en los recursos de Google Cloud.
Cuando decidas qué roles y permisos específicos de Logging se aplican a tu caso de uso, considera lo siguiente:
El rol visor de registros (
roles/logging.viewer
) te otorga acceso de solo lectura a los registros de auditoría de la actividad del administrador, la política denegada y los eventos del sistema. Si solo tienes esta función, no podrás ver los registros de auditoría de acceso a los datos que se encuentran en los buckets_Required
y_Default
.La función Visor de registros privados (
(roles/logging.privateLogViewer
) incluye los permisos que contieneroles/logging.viewer
, además de la capacidad de leer registros de auditoría de acceso a los datos de los buckets_Required
y_Default
.Ten en cuenta que si estos registros privados se almacenan en buckets definidos por el usuario, cualquier usuario que tenga permisos para leer registros en esos buckets puede leer los registros privados. Para obtener más información de los buckets de registros, consulta Descripción general del enrutamiento y el almacenamiento.
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.
Visualiza los registros
Puedes consultar todos los registros de auditoría o puedes consultar los registros por su nombre de registro de auditoría. El nombre del registro de auditoría incluye el identificador de recursos del proyecto de Google Cloud, la carpeta, la cuenta de facturación o la organización cuya información de registro de auditoría deseas ver.
Tus consultas pueden especificar los campos LogEntry
indexados, y si usas la página Log Analytics, que admite consultas de SQL, puedes visualizar los resultados de consultas con un gráfico.
Para obtener más información para consultar tus registros, consulta las siguientes páginas:
- Crea consultas en el Explorador de registros.
- Consulta y visualiza registros en Análisis de registros.
- Consultas de muestra para estadísticas de seguridad.
Console
En la consola de Google Cloud, puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría de tu carpeta, organización o proyecto de Google Cloud:
-
En la consola de Google Cloud, ve a la página Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Selecciona una organización, una carpeta o un proyecto existente de Google Cloud.
Para mostrar todos los registros de auditoría, ingresa cualquiera de las siguientes consultas en el campo de editor de consultas y, luego, haz clic en Ejecutar consulta:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Para mostrar los registros de auditoría de un recurso específico y un tipo de registro de auditoría, en el panel Compilador de consultas, haz lo siguiente:
En Tipo de recurso, selecciona el recurso de Google Cloud cuyos registros de auditoría deseas ver.
En Nombre del registro, selecciona el tipo de registro de auditoría que deseas ver:
- En el caso de los registros de auditoría de la actividad del administrador, selecciona activity.
- En los registros de auditoría de acceso a los datos, selecciona data_access.
- En el caso de los registros de auditoría de eventos del sistema, selecciona system_event.
- En el caso de los registros de auditoría de política denegada, selecciona policy.
Haz clic en Ejecutar consulta.
Si no ves estas opciones, significa que no hay registros de auditoría de ese tipo disponibles en la carpeta, la organización o el proyecto de Google Cloud.
Si tienes problemas cuando intentas ver registros en el Explorador de registros, consulta la información acerca de la solución de problemas.
Para obtener más información de las consultas con el Explorador de registros, visita Compila consultas en el Explorador de registros. Para obtener información acerca de cómo resumir las entradas de registro en el Explorador de registros a través de Gemini, consulta Resume entradas de registro con la asistencia de Gemini.
gcloud
Google Cloud CLI proporciona una interfaz de línea de comandos para la API de Logging. Proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud que se encuentra seleccionado.
Para leer las entradas de registro de auditoría a nivel de proyecto de Google Cloud, ejecuta el siguiente comando:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Para leer las entradas del registro de auditoría a nivel de las carpetas, ejecuta el siguiente comando:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Para leer las entradas del registro de auditoría a nivel de organización, ejecuta el siguiente comando:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Para leer las entradas del registro de auditoría a nivel de la cuenta de Facturación de Cloud, ejecuta el siguiente comando:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Agrega la marca --freshness
a tu comando para leer los registros que tienen más de 1 día de antigüedad.
Para obtener más información del uso de gcloud CLI, consulta gcloud logging read
.
API
Cuando compiles tus consultas, proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si tu consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud que se encuentra seleccionado.
Por ejemplo, si quieres usar la API de Logging para ver las entradas del registro de auditoría a nivel de proyecto, haz lo siguiente:
Ve a la sección Probar esta API en la documentación del método
entries.list
.Ingresa lo siguiente en el cuerpo de la solicitud del formulario Prueba esta API. Si haces clic en este formulario prepropagado, se completará el cuerpo de la solicitud de manera automática, pero deberás proporcionar un PROJECT_ID válido para cada nombre de registro.
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Haz clic en Ejecutar.
Agrega información personalizada a los registros de auditoría
Puedes adjuntar información personalizada a los registros de auditoría a las solicitudes si incluyes el encabezado x-goog-custom-audit-KEY: VALUE
en tu solicitud. Además, las solicitudes a la API de XML admiten el uso de un parámetro de consulta x-goog-custom-audit-KEY=VALUE
. Se agrega información personalizada al campo metadata
de protoPayload
en la entrada de registro de auditoría.
Cuando agregues información de auditoría personalizada, ten en cuenta las siguientes consideraciones:
Cada
KEY
puede contener hasta 64 caracteres, mientras que cadaVALUE
puede contener hasta 1,200 caracteres.Cada solicitud puede contener hasta 4 entradas de encabezado o parámetros combinadas.
Ejemplos de entradas de encabezado
En la siguiente lista, se muestran ejemplos de pares clave-valor que puedes incluir en las entradas de encabezado:
x-goog-custom-audit-job: test-job-id-here
x-goog-custom-audit-user: user ID test 1
x-goog-custom-audit-internal-user-id: MATR2022-11
x-goog-custom-audit-tracking-ticket: TT/1516512851
x-goog-custom-audit-justification: Removed customer identity record at customer request
x-goog-custom-audit-customer-id: USCU12315154
Solicitudes de ejemplo
Línea de comandos
gcloud storage hash gs://example_bucket/example_object.jpeg --additional-headers=x-goog-custom-audit-job="job name",x-goog-custom-audit-user="test user"
Bibliotecas cliente
C++
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
C#
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
Go
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
Java
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
Node.js
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
PHP
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
Python
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
Ruby
Para obtener información acerca de cómo agregar encabezados personalizados a las solicitudes, consulta Agrega encabezados personalizados.
API de REST
API de JSON
curl -X GET "https://storage.googleapis.com/storage/v1/b/example_bucket/o/example_object" \ -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
API de XML
curl -X GET "https://storage.googleapis.com/example_bucket/example_object" \ -H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
Solicitudes de URL firmadas
curl -X GET 'storage.googleapis.com/example_bucket?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host,x-goog-custom-audit-job,x-goog-custom-audit-user&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7' \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
Ten en cuenta que los encabezados de auditoría personalizados también se deben incluir en X-Goog-SignedHeaders
.
Para crear una solicitud de URL firmada que admita la adición de encabezados de auditoría personalizados, los encabezados de auditoría personalizados que deseas usar en la solicitud también se deben incluir cuando generas la URL firmada. Por ejemplo:
gcloud storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --headers=x-goog-custom-audit-job:"job name",x-goog-custom-audit-user="test user"
También puedes usar bibliotecas cliente para generar la URL firmada cuando configuras encabezados personalizados.
Como alternativa al uso de encabezados firmados, puedes usar parámetros de búsqueda para pasar entradas de auditoría personalizadas.
curl -X GET 'storage.googleapis.com/example_bucket?X-Goog-Custom-Audit-Key=Value&X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7'
Estos parámetros de consulta se deben incluir cuando generas la URL firmada. Por ejemplo:
gcloud storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --query-params=x-goog-custom-audit-job=job_name,x-goog-custom-audit-user=test_user
Ejemplo de una entrada de registro
protoPayload: { @type: "type.googleapis.com/google.cloud.audit.Auditlog", ... metadata: { audit_context: { app_context: "EXTERNAL", audit_info: { x-goog-custom-audit-job: "job name", x-goog-custom-audit-user: "test user" } } } }
Para obtener más información de los campos incluidos en el objeto protoPayload
con el tipo type.googleapis.com/google.cloud.audit.Auditlog
, consulta la documentación de referencia de AuditLog
.
Enruta registros de auditoría
Puedes enrutar registros de auditoría a destinos compatibles de la misma manera en la que enrutas otros tipos de registros. Estos son algunos de los motivos por los que es posible que quieras enrutar tus registros de auditoría:
- Para mantener los registros de auditoría por un período más extenso o usar capacidades de búsqueda más potentes, puedes enrutar copias de tus registros de auditoría a Cloud Storage, BigQuery o Pub/Sub. Puedes enrutar a otras aplicaciones, otros repositorios y a terceros a través de Pub/Sub.
- Para administrar los registros de auditoría en toda la organización, puedes crear receptores agregados que puedan exportar registros desde cualquier proyecto de Google Cloud de la organización o desde todos los proyectos.
- Si tus registros de auditoría de acceso a los datos habilitados hacen que tus proyectos de Google Cloud superen la asignación gratuita, puedes crear receptores que excluyan los registros de auditoría de acceso a los datos de Logging.
Si deseas obtener instrucciones para enrutar los registros, consulta Configura y administra receptores.
Precios
Para obtener información sobre los precios de Cloud Logging, consulta Precios de observabilidad de Google Cloud: Cloud Logging.
¿Qué sigue?
- Prueba el instructivo [Situaciones para exportar Cloud Logging] [22].