En esta página se proporciona información complementaria sobre el uso de registros de auditoría de Cloud con Cloud Storage. Usa los registros de auditoría de Cloud para generar registros de las operaciones de la API realizadas en Cloud Storage.
Información general
LosGoogle Cloud servicios cuentan con registros de auditoría para ayudarte a responder a las preguntas sobre quién hizo qué, dónde lo hizo y cuándo lo hizo. 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.
Tus Google Cloud proyectos solo contienen los registros de auditoría de los recursos que están directamente en el Google Cloud proyecto. Otros Google Cloud recursos, como carpetas, organizaciones y cuentas de facturación, contienen los registros de auditoría de la propia entidad.
Para obtener una descripción general de los registros de auditoría de Cloud, consulta el artículo Información general sobre los registros de auditoría de Cloud. Para obtener más información sobre el formato de los registros de auditoría, consulta el artículo Interpretar los registros de auditoría.
Registros de auditoría disponibles
En Cloud Storage están disponibles los siguientes tipos de registros de auditoría:
Registros de auditoría de actividad de administración: entradas de operaciones iniciadas por usuarios que modifican la configuración o los metadatos de los recursos de Cloud Storage.
Registros de auditoría de acceso a datos: entradas de operaciones iniciadas por los usuarios que no se registran en los registros de auditoría de actividad de administración. Hay varios subtipos de registros de auditoría de acceso a datos:
ADMIN_READ
: entradas de operaciones que leen la configuración o los metadatos de los recursos de Cloud Storage.DATA_READ
: entradas de operaciones que leen datos de recursos de Cloud Storage proporcionados por el usuario.DATA_WRITE
: entradas de operaciones que modifican datos de recursos de Cloud Storage proporcionados por el usuario.
Para recibir registros de auditoría de acceso a datos, debes habilitarlos explícitamente.
Registros de auditoría de eventos del sistema: entradas de operaciones que modifican recursos de Cloud Storage. Se generan por Google Cloud sistemas y no se activan por la acción del usuario.
Además de los registros de auditoría de Cloud Storage, Registros de auditoría de Cloud puede crear registros de auditoría de Estadísticas de almacenamiento.
Para obtener descripciones más detalladas 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 |
|
Evento del sistema |
|
1 Los registros de auditoría de actividad de administración no se generan si las listas de control de acceso se definen inicialmente al crear un objeto.
2 Estas operaciones implican tanto la lectura como la escritura de datos. Por lo tanto, cada una de estas operaciones genera dos entradas de registro.
3 Es posible que la reubicación del contenedor no se inicie inmediatamente después de la solicitud inicial. El registro de eventos del sistema se escribe cuando el proceso empieza.
Restricciones
Se aplican las siguientes restricciones a los registros de auditoría de Cloud con Cloud Storage:
- Registros de auditoría de Cloud no monitoriza el acceso a objetos públicos.
- Registros de auditoría de Cloud no registra los cambios realizados por las funciones Gestión del ciclo de vida de los objetos o Autoclass.
- Los registros de acceso a datos generados a partir de descargas autenticadas del navegador tienen los campos
principalEmail
ycallerIp
redactados cuando la descarga se produce fuera de la consola Google Cloud .
Si necesitas funciones de registro en alguno de estos casos, puedes usar los registros de uso de Cloud Storage.
Formato del registro de auditoría
Las entradas de los registros de auditoría incluyen los siguientes componentes:
La entrada de registro en sí, que es un objeto
LogEntry
. Entre los campos útiles se incluyen los siguientes:- El
logName
contiene el ID del recurso y el tipo de registro de auditoría. - El
resource
contiene el objetivo de la operación auditada. - El
timestamp
contiene la hora de la operación auditada. - El
protoPayload
contiene la información auditada.
- El
Los datos de registro de auditoría, que son un objeto
AuditLog
que se encuentra en el campoprotoPayload
de la entrada de registro.En el campo
protoPayload
, el campometadata
incluye información específica de Cloud Storage. Por ejemplo, el registro de la solicitud GET de un objeto de una operación de reescritura incluye un campodestination
en el campometadata
de su registro de auditoría para especificar el contenedor en el que se han copiado los datos.En el campo
protoPayload
, se incluye información de auditoría adicional específica de Cloud Storage en los campos de solicitud y respuesta cuando se aplica el modo de registro de auditoría detallado. Ten en cuenta que no es necesario que apliques el registro de auditoría detallado para adjuntar información personalizada a los registros de auditoría.
Si quieres ver otros campos de estos objetos y cómo interpretarlos, consulta el artículo Interpretar los registros de auditoría.
Nombre del registro
Los nombres de los registros de auditoría de Cloud incluyen identificadores de recursos que indican laGoogle Cloud entidad (proyecto u otra) Google Cloud propietaria de los registros de auditoría y si el registro contiene datos de registro de auditoría de actividad de administración o de acceso a los datos.
A continuación se indican los nombres de los registros de auditoría, incluidas las variables de 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 de Storage Insights usan el nombre de servicio
storageinsights.googleapis.com
.
Para ver una lista de todos los nombres de servicio de la API Cloud Logging y sus tipos de recursos supervisados correspondientes, consulta Asignar servicios a recursos.
Tipos de recursos
Los registros de auditoría de Cloud Storage usan el tipo de recurso gcs_bucket
.
Para ver una lista de todos los tipos de recursos supervisados de Cloud Logging e información descriptiva, consulta Tipos de recursos supervisados.
Habilitar el registro de auditoría
Los registros de auditoría de actividad de administración están siempre habilitados y no se pueden inhabilitar.
Los registros de auditoría de acceso a datos están inhabilitados de forma predeterminada y no se escriben a menos que se habiliten explícitamente.
Para obtener información sobre cómo habilitar algunos registros de auditoría de acceso a datos o todos ellos, consulta el artículo sobre cómo configurar registros de auditoría de acceso a datos.
Permisos y roles
Los permisos y roles de IAM determinan tu capacidad para acceder a los datos de los registros de auditoría de los Google Cloud recursos.
Cuando decidas qué permisos y roles específicos de registro se aplican a tu caso práctico, ten en cuenta lo siguiente:
El rol Lector de registros (
roles/logging.viewer
) te da acceso de solo lectura a los registros de auditoría de actividad de administrador, de denegación de acceso por infracción de las políticas y de eventos del sistema. Si solo tienes este rol, no puedes ver los registros de auditoría de acceso a datos que se encuentran en los contenedores_Required
y_Default
.El rol Visualizador de registros privados
(roles/logging.privateLogViewer
) incluye los permisos deroles/logging.viewer
, además de la capacidad de leer los registros de auditoría de acceso a datos en los contenedores_Required
y_Default
.Ten en cuenta que, si estos registros privados se almacenan en segmentos definidos por el usuario, cualquier usuario que tenga permisos para leer registros en esos segmentos podrá leer los registros privados. Para obtener más información sobre los segmentos de registro, consulta la información general sobre el enrutamiento y el almacenamiento.
Para obtener más información sobre los permisos y roles de gestión de identidades y accesos que se aplican a los datos de los registros de auditoría, consulta el artículo sobre el control de acceso con gestión de identidades y accesos.
Ver registros
Puede consultar todos los registros de auditoría o buscar registros por su nombre. El nombre del registro de auditoría incluye el identificador de recurso del Google Cloud proyecto, la carpeta, la cuenta de facturación o la organización de los que quieras ver la información del registro de auditoría.
En tus consultas puedes especificar campos LogEntry
indexados.
Para obtener más información sobre cómo consultar tus registros, consulta el artículo Crear consultas en el Explorador de registros.
Explorador de registros te permite ver y filtrar entradas de registro concretas. Si quieres usar SQL para analizar grupos de entradas de registro, utiliza la página Analíticas de registros. Para obtener más información, consulta estos artículos:
- Consultar y ver registros en Analíticas de registros
- Consultas de ejemplo para obtener información valiosa sobre seguridad
- Resultados de la consulta del gráfico.
La mayoría de los registros de auditoría se pueden ver en Cloud Logging mediante laGoogle Cloud consola, la CLI de Google Cloud o la API de Logging. Sin embargo, para los registros de auditoría relacionados con la facturación, solo puedes usar la CLI de Google Cloud o la API Logging.
Consola
En la Google Cloud consola, puedes usar el Explorador de registros para obtener las entradas del registro de auditoría de tu Google Cloud proyecto, carpeta u organización:
-
En la Google Cloud consola, ve a la página Explorador de registros:
Ve al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuya sección sea Registro.
Selecciona un proyecto, una carpeta o una organización Google Cloud .
Para mostrar todos los registros de auditoría, introduce una de las siguientes consultas en el campo del editor de consultas y 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 y un tipo de registro de auditoría específicos, haz lo siguiente en el panel Generador de consultas:
En Tipo de recurso, selecciona el Google Cloud recurso cuyos registros de auditoría quieras ver.
En Nombre del registro, selecciona el tipo de registro de auditoría que quieras ver:
- En el caso de los registros de auditoría de actividad de administración, selecciona activity.
- En el caso de los registros de auditoría de acceso a datos, selecciona data_access.
- En el caso de los registros de auditoría de los eventos del sistema, selecciona system_event.
- En Registros de auditoría de denegación de acceso por infracción de las políticas, selecciona policy.
Haz clic en Realizar una 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. Google Cloud
Si tienes problemas para ver los registros en el Explorador de registros, consulta la información sobre solución de problemas.
Para obtener más información sobre cómo hacer consultas con el Explorador de registros, consulta el artículo Crear consultas en el Explorador de registros.
gcloud
La CLI de Google Cloud proporciona una interfaz de línea de comandos a la API Logging. Indica 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 de proyecto que proporciones debe hacer referencia al proyectoGoogle Cloud seleccionado.
Para leer las entradas del 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 carpeta, 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 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
Añade la marca --freshness
al comando para leer los registros que tengan más de un día.
Para obtener más información sobre el uso de la herramienta de línea de comandos gcloud, consulta gcloud logging read
.
REST
Cuando cree sus consultas, proporcione 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 de proyecto que proporciones debe hacer referencia al proyectoGoogle Cloud seleccionado.
Por ejemplo, para usar la API Logging y ver las entradas de registro de auditoría de tu proyecto, haz lo siguiente:
Ve a la sección Probar esta API de la documentación del método
entries.list
.Incluye lo siguiente en la parte Cuerpo de la solicitud del formulario Probar esta API. Si haces clic en este formulario rellenado automáticamente, se rellenará automáticamente el cuerpo de la solicitud, pero debes proporcionar un PROJECT_ID válido en cada uno de los nombres de registro.
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Haz clic en la opción para ejecutar.
Añadir información personalizada a los registros de auditoría
Puede adjuntar información personalizada a las solicitudes de inclusión en los registros de auditoría incluyendo el encabezado x-goog-custom-audit-KEY: VALUE
en su solicitud. Las solicitudes de API XML también admiten el uso de un parámetro de consulta x-goog-custom-audit-KEY=VALUE
. Se añade información personalizada al campo metadata
de la protoPayload
en la entrada del registro de auditoría.
Cuando añada información de auditoría personalizada, tenga en cuenta lo siguiente:
Cada
KEY
, incluido el prefijox-goog-custom-audit-
, puede contener hasta 64 caracteres, mientras que cadaVALUE
puede contener hasta 1200 caracteres.Cada solicitud puede contener hasta 4 entradas de encabezado o parámetro 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 de cliente
C++
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
C#
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
Go
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
Java
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
Node.js
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
PHP
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
Python
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
Ruby
Para saber cómo añadir encabezados personalizados a las solicitudes, consulta Añadir encabezados personalizados.
APIs REST
API 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 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 deben incluirse en X-Goog-SignedHeaders
.
Para crear una solicitud de URL firmado que admita la adición de encabezados de auditoría personalizados, los encabezados de auditoría personalizados que quieras usar en la solicitud también deben incluirse cuando generes 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 de cliente para generar la URL firmada cuando definas encabezados personalizados.
Como alternativa a los encabezados firmados, puede usar parámetros de consulta para enviar 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 deben incluirse cuando genere 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 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 sobre 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
.
Registros de auditoría de rutas
Puede enrutar registros de auditoría a destinos admitidos de la misma forma que puede enrutar otros tipos de registros. Estos son algunos motivos por los que puede que quieras enrutar tus registros de auditoría:
- Si quieres conservar los registros de auditoría durante un periodo más extenso o usar funciones de búsqueda más potentes, puedes enrutar copias de los registros de auditoría a Cloud Storage, BigQuery o Pub/Sub. Mediante Pub/Sub, puedes dirigir a otras aplicaciones, otros repositorios y a terceros.
- Si quieres gestionar los registros de auditoría de toda una organización, puedes crear sumideros agregados que puedan enrutar registros de cualquiera de los Google Cloud proyectos de la organización o de todos a la vez.
- Si los registros de auditoría de acceso a los datos habilitados están haciendo que tus Google Cloud proyectos sobrepasen tu asignación gratuita, puedes crear receptores que excluyan los registros de auditoría de acceso a los datos de Logging.
Para obtener instrucciones sobre cómo enrutar registros, consulta Configurar y gestionar receptores .
Precios
Para obtener información sobre los precios de Cloud Logging, consulta la página Precios de Google Cloud Observability: Cloud Logging.