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 deGoogle Cloud escriben registros de auditoría que ayudan a responder preguntas relacionadas con tus recursos de Google Cloud sobre las acciones que se realizaron y sobre quién, cuándo y dónde las realizó. 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.
Tus proyectos de Google Cloud incluyen solo los registros de auditoría de los recursos que están directamente en el proyecto de Google Cloud . Otros recursos de Google Cloud , como las carpetas, las organizaciones y las cuentas de facturación, contienen los registros de auditoría correspondientes a la propia 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: Son entradas para las operaciones controladas por el usuario que modifican la configuración o los metadatos de los recursos de Cloud Storage.
Registros de auditoría de acceso a los datos: Entradas para operaciones controladas por el usuario 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 la configuración o los metadatos de los recursos de Cloud Storage.DATA_READ: Entradas para operaciones que leen datos de recursos de Cloud Storage proporcionados por el usuario.DATA_WRITE: Entradas para operaciones que modifican datos de recursos de Cloud Storage proporcionados por el usuario.
Para recibir registros de auditoría de acceso a los datos, debes habilitarlos de forma explícita.
Registros de auditoría de eventos del sistema: Entradas para operaciones que modifican recursos de Cloud Storage. Los sistemas de Google Cloud los generan, y no se basan en la acción del usuario.
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.
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 |
|
| Eventos del sistema |
|
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.
2 Estas operaciones implican lectura y escritura de datos. Como resultado, cada una de estas operaciones genera dos entradas de registro.
3 Es posible que la reubicación del bucket no comience inmediatamente después de la solicitud inicial. El registro de eventos del sistema se escribe cuando el proceso realmente comienza.
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 generados a partir de descargas autenticadas del navegador tienen sus campos
principalEmailycallerIpocultos cuando la descarga se produce 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
logNamecontiene el ID del recurso y el tipo de registro de auditoría. - El campo
resourcecontiene el objetivo de la operación auditada. - El campo
timestampcontiene la hora de la operación auditada. - El campo
protoPayloadcontiene la información auditada.
- El campo
Los datos de registro de auditoría, que son un objeto
AuditLogalojado en el campoprotoPayloadde la entrada de registro.Dentro del campo
protoPayload, el campometadataincluye información específica de Cloud Storage. Por ejemplo, el registro de la solicitud GET del objeto de una operación de reescritura incluye un campodestinationen el campometadatade su registro de auditoría para especificar el bucket en el que se copiaron los datos.Dentro del campo
protoPayload, se incluye información adicional de auditoría específica de Cloud Storage en los campos de solicitud y respuesta cuando se aplica el modo de registros de auditoría detallados. 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 los registros de Registros de auditoría de Cloud incluyen identificadores de recursos que indican el proyecto deGoogle Cloud o cualquier otra entidad de Google Cloud que posee esos registros de auditoría. Además, indican 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 roles
Los permisos y roles de IAM determinan tu capacidad para acceder a los datos de los 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, deberás considerar los factores siguientes:
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_Requiredy_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_Requiredy_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 sobre 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 uno en particular a través de su
nombre. El nombre del registro de auditoría incluye el
identificador del recurso
del proyecto de Google Cloud , la carpeta, la cuenta de facturación o
la organización cuya información de registros de auditoría quieres consultar.
En las consultas, puedes especificar campos LogEntry indexados.
Para obtener más información sobre cómo consultar registros,
visita Crea consultas en el Explorador de registros.
El Explorador de registros permite ver y filtrar entradas de registro individuales. Si quieres usar SQL para analizar grupos de entradas de registro, usa la página Análisis de registros. Para obtener más información, consulta las secciones siguientes:
- Consulta y visualiza registros en Análisis de registros
- Consultas de ejemplo de estadísticas de seguridad
- Resultados de consultas de gráficos
La mayoría de los registros de auditoría se pueden ver en Cloud Logging con la consola deGoogle Cloud , la Google Cloud CLI o la API de Logging. Sin embargo, para los registros de auditoría relacionados con la facturación, solo puedes usar la Google Cloud CLI o la API de Logging.
Consola
En la consola de Google Cloud , puedes usar el Explorador de registros para recuperar las entradas de registro de auditoría de tu organización, proyecto o carpeta de Google Cloud :
-
En la consola de Google Cloud , accede a la página Explorador de registros:
Accede al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Elige una organización, un proyecto o una carpeta de Google Cloud existentes.
Para que se muestren todos los registros de auditoría, ingresa cualquiera de las consultas siguientes en el campo del editor de consultas y, luego, haz clic en Ejecutar consulta:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Para que se muestren 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, elige el recurso de Google Cloud cuyos registros de auditoría quieres consultar.
En Nombre del registro, selecciona el tipo de registro de auditoría que quieres ver:
- En el caso de los registros de auditoría sobre la actividad del administrador, selecciona Actividad.
- 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 Política.
Haz clic en Ejecutar consulta.
Si no ves estas opciones, significa que no hay registros de auditoría de ese tipo disponibles en el proyecto, la carpeta o la organización de Google Cloud .
Si no puedes ver los registros en el Explorador de registros, consulta la información para solucionar problemas.
Para obtener más información sobre cómo hacer consultas con el Explorador de registros, visita Crea consultas en el Explorador de registros.
gcloud
La Google Cloud CLI proporciona una interfaz de línea de comandos a la API de Logging. Proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si la consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado en este momento.
Para leer las entradas de registros de auditoría a nivel de proyecto de Google Cloud , ejecuta el comando siguiente:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
--project=PROJECT_ID
Para leer las entradas de registros de auditoría a nivel de carpetas, ejecuta el comando siguiente:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
--folder=FOLDER_ID
Para leer las entradas de registros de auditoría a nivel de organización, ejecuta el comando siguiente:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
--organization=ORGANIZATION_ID
Para leer las entradas de registros de auditoría a nivel de la cuenta de Facturación de Cloud, ejecuta el comando siguiente:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
--billing-account=BILLING_ACCOUNT_ID
Agrega la marca --freshness
al comando para leer los registros que tienen más de 1 día de antigüedad.
Para obtener más información sobre el uso de la gcloud CLI, consulta
gcloud logging read.
REST
Cuando crees consultas, proporciona un identificador de recurso válido en cada uno de los nombres de registro. Por ejemplo, si la consulta incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Google Cloud seleccionado en este momento.
Por ejemplo, si quieres usar la API de Logging para ver las entradas de registros de auditoría a nivel de proyecto, haz lo siguiente:
Accede 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. Cuando haces clic en este formulario prepropagado, se completará automáticamente el cuerpo de la solicitud, 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 las solicitudes para que se incluya en los registros de auditoría 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, con la inclusión del prefijox-goog-custom-audit-, puede contener hasta 64 caracteres, mientras que cadaVALUEpuede 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-herex-goog-custom-audit-user: user ID test 1x-goog-custom-audit-internal-user-id: MATR2022-11x-goog-custom-audit-tracking-ticket: TT/1516512851x-goog-custom-audit-justification: Removed customer identity record at customer requestx-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. Con Pub/Sub, puedes enrutar a otras aplicaciones, a otros repositorios y a terceros.
- Para administrar los registros de auditoría en toda la organización, puedes crear receptores agregados que puedan enrutar 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 deGoogle 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.