En esta página, se describen en detalle las entradas de registro de auditorá de Cloud: su estructura, cómo leerlas y cómo interpretarlas.
Los registros de auditoría de Cloud brindan los siguientes registros de auditoría para cada proyecto, carpeta y organización de Cloud:
- Registros de auditoría de actividad del administrador
- Registros de auditoría de acceso a los datos
- Registros de auditoría de eventos del sistema
- Registros de auditoría de política denegada
Para obtener una descripción general de Cloud Audit Logging, consulta Cloud Audit Logging.
Formato de las entradas de registro de auditoría
Una entrada de registro de auditoría es un tipo de entrada de registro de Cloud Logging. Al igual que todas las entradas de registro de Logging, se almacena en un objeto LogEntry
. Lo que distingue una entrada de registro de auditoría de otras entradas de registro es el campo protoPayload
. En las entradas de registro de auditoría, el campo protoPayload
de la entrada de registro contiene un objeto AuditLog
que almacena los datos.
En resumen, cada entrada de registro de auditoría se caracteriza por la siguiente información:
- El proyecto, la carpeta o la organización que posee la entrada de registro
- El recurso al que se aplica la entrada de registro. Esta información consiste en un tipo de recurso de la lista de recursos supervisados y valores adicionales que denotan una instancia específica. Por ejemplo, puedes ver las entradas de registro de auditoría de una sola instancia de VM de Compute Engine o de todas las instancias de VM
- Una marca de tiempo
Un servicio: Los servicios son productos individuales de Google Cloud, como Compute Engine, Cloud SQL o Pub/Sub. Cada servicio se identifica por un nombre: Compute Engine es
compute.googleapis.com
, Cloud SQL escloudsql.googleapis.com
, etcétera. Esta información aparece en el campoprotoPayload.serviceName
de la entrada de registro de auditoría.Los tipos de recursos pertenecen a un solo servicio, pero un servicio puede tener varios tipos de recursos. Para obtener una lista de servicios y recursos, ve a la página sobre cómo asignar servicios a recursos.
Una carga útil, que es del tipo
protoPayload
. La carga útil de cada entrada de registro de auditoría es un objeto de tipoAuditLog
, que define un conjunto de campos específicos de los registros de auditoría de Cloud, comoserviceName
yauthenticationInfo
. También tiene un campo opcional,serviceData
, que algunos servicios de Google Cloud usan para enumerar información específica del servicio en la entrada de registro de auditoría. Consulta Datos de auditoría específicos del servicio para obtener una lista de los servicios de Google Cloud que usan este campo.Nombre del registro: Las entradas de registro de auditoría pertenecen a registros dentro de proyectos, carpetas y organizaciones. A continuación, se enumeran los nombres de registros:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Dentro de un proyecto, una carpeta o una organización, estos nombres de registro suelen abreviarse como activity, data_access, system_event y policy..
Ejemplo de entrada de registro de auditoría
En esta sección, se usa una entrada de registro de auditoría de muestra para explicar cómo encontrar la información más importante en las entradas de registro de auditoría.
La siguiente muestra es una entrada del registro de auditoría de la actividad del administrador escrita por Resource Manager a fin de registrar un cambio en la política de administración de identidades y accesos (IAM) con PROJECT_ID my-gcp-project-id
. Por cuestiones de brevedad, se omitieron algunas partes de la entrada de registro y se destacaron algunos campos:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog", status: {}, authenticationInfo: { principalEmail: "user@example.com" }, serviceName: "appengine.googleapis.com", methodName: "SetIamPolicy", authorizationInfo: [...], serviceData: { @type: "type.googleapis.com/google.appengine.legacy.AuditData", policyDelta: { bindingDeltas: [ action: "ADD", role: "roles/logging.privateLogViewer", member: "user:user@example.com" ], } }, request: { resource: "my-gcp-project-id", policy: { bindings: [...], } }, response: { bindings: [ { role: "roles/logging.privateLogViewer", members: [ "user:user@example.com" ] } ], } }, insertId: "53179D9A9B559.AD6ACC7.B40604EF", resource: { type: "gae_app", labels: { project_id: "my-gcp-project-id" } }, timestamp: "2019-05-27T16:24:56.135Z", severity: "NOTICE", logName: "projects/my-gcp-project-id/logs/cloudaudit.googleapis.com%2Factivity", }
Esta es la consulta que se usó para seleccionar la muestra de entrada de registro de auditoría anterior.
Se puede usar en el Explorador de registros, la API de Logging o el SDK de Cloud.
El identificador de proyecto está en el nombre del registro, y la consulta es rápida porque el campo logName
está indexado:
resource.type = "gae_app" logName = "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity"
Si buscas registros de auditoría de una sola instancia de un tipo de recurso, como gce_instance
, agrega un calificador de instancias:
resource.type = "gce_instance" resource.instance_id = "INSTANCE_ID" logName = "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity"
Interpreta la entrada de registro de auditoría de muestra
En la muestra de entrada de registro de auditoría anterior, los campos protoPayload
, insertId
, resource
, timestamp
, severity
y logName
son parte del objeto LogEntry
. El valor del campo protoPayload
es un objeto AuditLog
. Encapsula los datos de registro de auditoría.
Si observas el ejemplo de entrada de registro de auditoría anterior, podrías tener algunas preguntas:
¿Es una entrada de registro de auditoría? Sí. Puedes distinguirla de estas dos formas:
El campo
protoPayload.@type
estype.googleapis.com/google.cloud.audit.AuditLog
.El campo
logName
incluye el dominiocloudaudit.googleapis.com
.
¿Qué servicio escribió el registro de auditoría? App Engine escribió el registro. Esta información aparece en el campo
protoPayload.serviceName
de la entrada de registro de auditoría.¿Qué operación se audita? Se audita
SetIamPolicy
, como se especifica en el campoprotoPayload.methodName
. Encontrarás más información sobre la operación auditada en el objetoAuditData
deprotoPayload.serviceData
.¿Qué recurso se audita? Se audita una aplicación que se ejecuta en App Engine, asociada a un proyecto
my-gcp-project-id
de Google Cloud. Puedes determinarlo desde el camporesource
, que especifica el tipo de recursogae_app
y el identificador del proyectomy-gcp-project-id
. En este ejemplo, encontrarás detalles sobre los tipos de recursos en la lista de tipos de recursos supervisados.
Para obtener más información, consulta el tipo LogEntry
, el tipo AuditLog
y el tipo AuditData
de IAM.
Entradas de registro de auditoría grandes o de larga duración
Una sola operación auditada se divide en varias entradas de registro si la operación se ejecuta de manera asíncrona o si genera un registro AuditLog
grande. Cuando hay más de una entrada de registro para la misma operación, el objeto LogEntry
contendrá un campo operation
, y las entradas para la misma operación tendrán el mismo valor de LogEntry.operation.id
y LogEntry.operation.producer
.
En la muestra de entrada de registro de auditoría anterior, el campo operation
no está presente, lo que significa que toda la información de auditoría se encuentra en una sola entrada de registro.
Datos de auditoría específicos del servicio
Para extender la información almacenada en su AuditLog
, algunos servicios colocan una estructura de datos complementaria en el campo serviceData
del registro de auditoría. En la siguiente tabla, se enumeran los servicios que usan el campo serviceData
y se proporciona un vínculo al tipo AuditData
.
Ver registros de auditoría
Si deseas encontrar y ver los registros de auditoría, debes conocer el identificador de la carpeta, la organización o el proyecto de Cloud de donde deseas ver la información de registro de auditoría. Además, puedes especificar otros campos LogEntry
indexados, como resource.type
. Para obtener más información, consulta Busca entradas de registro con rapidez.
A continuación, se muestran los nombres de los registros de auditoría, que incluyen variables para los identificadores del proyecto, la carpeta o la organización de Cloud:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Tienes varias opciones para ver las entradas de registro de auditoría.
Console
Puedes usar el explorador de registros en Cloud Console para recuperar las entradas de registro de auditoría del proyecto de Cloud:
En Cloud Console, ve a la página Logging > Explorador de registros.
En la página Explorador de registros, selecciona un proyecto de Cloud existente.
En el panel Compilador de consultas, sigue estos pasos:
En Recurso, selecciona el tipo de 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 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 la política.
Si no ves estas opciones, significa que no hay registros de auditoría de ese tipo disponibles en el proyecto de Cloud.
Para obtener más información sobre cómo consultar mediante el nuevo Explorador de registros, visita Compila consultas de registros.
gcloud
La herramienta de línea de comandos de gcloud
proporciona una interfaz de línea de comandos para la API de Cloud Logging. Proporciona un PROJECT_ID
, FOLDER_ID
o ORGANIZATION_ID
válido en cada uno de los nombres de registro.
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 obtener más información sobre el uso de la herramienta de gcloud
, consulta Lee las entradas de registro.
API
Cuando compiles tus búsquedas, reemplaza las variables por valores válidos, sustituye el nombre o los identificadores del registro de auditoría adecuados a nivel de proyecto, de carpeta o de organización según se enumeran en los nombres de registro de auditoría. Por ejemplo, si tu búsqueda incluye un PROJECT_ID, el identificador del proyecto que proporciones debe hacer referencia al proyecto de Cloud que se encuentra seleccionado.
Si deseas usar la API de Logging para ver tus entradas de registro de auditoría, haz lo siguiente:
Ve a la sección Try this API en la documentación del método
entries.list
.Ingresa lo siguiente en la parte Request body del formulario Try this API. Si haces clic en este formulario rellenado con anterioridad, 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 Execute.
Para obtener más detalles sobre las consultas, visita Lenguaje de consulta de registro.
Para obtener una entrada de registro de auditoría de muestra y aprender a buscar la información más importante en ella, consulta Comprende los registros de auditoría.