En este documento se describen los registros de auditoría creados por Controles de Servicio de VPC como parte de los registros de auditoría de Cloud.
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
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
Los siguientes tipos de registros de auditoría están disponibles en Controles de Servicio de VPC:
-
Registros de auditoría de denegación de acceso por infracción de las políticas
Identifica cuándo se deniega el acceso a un usuario o a una cuenta de servicio debido a una infracción de la política de seguridad. El nombre del servicio y el nombre del método de los registros de auditoría de política denegada indican los nombres del recurso al que se ha denegado el acceso al usuario o a la cuenta de servicio.
No puedes inhabilitar los registros de auditoría de denegación de acceso por infracción de las políticas. Sin embargo, puede añadir lo siguiente al filtro de exclusión de su sumidero
_Default
para excluir los registros de auditoría de Policy Denied:LOG_ID("cloudaudit.googleapis.com/policy")
. También puedes inhabilitar el sumidero_Default
de Cloud Logging, lo que evita que los registros se enruten al segmento_Default
.
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 tabla siguiente se resumen las operaciones de la API que corresponden a cada tipo de registro de auditoría en Controles de Servicio de VPC:
Categoría de registros de auditoría | Métodos de Controles de Servicio de VPC |
---|---|
Registros de auditoría de denegación de acceso por infracción de las políticas | Se admiten los métodos de los servicios que se integran con Controles de Servicio de VPC. |
Contenido de los registros de auditoría
Cada registro de auditoría contiene información que se puede dividir en dos categorías principales: la información sobre la llamada original y la información sobre las infracciones de la política de seguridad. La rellena la API Controles de Servicio de VPC de la siguiente manera:
Campo del registro de auditoría | Descripción |
---|---|
serviceName |
El servicio al que restringe el acceso un perímetro de servicio. La solicitud a este servicio ha infringido una comprobación de Controles de Servicio de VPC y ha provocado la creación de este registro de auditoría. |
methodName
|
El nombre de la llamada al método que ha provocado la infracción de la política de seguridad descrita en el registro. A menudo, methodName es el método asociado al servicio Google Cloud especificado en el campo serviceName .
|
authenticationInfo.principalEmail
|
Dirección de correo del usuario o de la cuenta de servicio que ha enviado la solicitud. Es posible que se haya ocultado alguna dirección de correo electrónico. Para obtener más información, consulta el artículo sobre las identidades de las llamadas en los registros de auditoría. |
resourceName
|
El Google Cloud recurso especificado en la solicitud original del cliente.
El resourceName puede ser un proyecto, una carpeta, una organización o un recurso, como un Google Cloud segmento.
|
requestMetadata.callerIp |
La dirección IP de la persona que llama.
Si la llamada se ha originado en Internet, Si la llamada se ha originado desde una máquina virtual de Compute Engine, Si la llamada se ha originado en la red de producción interna de Google,
el valor de este campo es |
request_metadata.caller_network
|
El nombre de la red de la persona que llama. Este valor solo se define si el proyecto host de la red pertenece a la misma organización o proyecto que el recurso al que se ha accedido. Google Cloud Para obtener más información, consulta el artículo sobre redes de VPC. |
status
|
El estado general de la gestión de una operación descrita en el registro. |
metadata
|
Información sobre la infracción de la política de seguridad. |
metadata.resourceNames |
Los nombres de los recursos implicados en la infracción de la política de seguridad descrita en el registro. |
metadata.dryRun
|
Valor booleano que es True si el registro de auditoría
corresponde a una comprobación de política de prueba. Para obtener más información, consulta Modo de prueba para perímetros de servicio.
|
metadata.vpcServiceControlsTroubleshootToken |
Un token de solución de problemas que te permite diagnosticar la infracción mediante el analizador de infracciones (vista previa). |
metadata.vpcServiceControlsUniqueId
|
Identificador único de la infracción de Controles de Servicio de VPC descrita en el registro. |
metadata.violationReason
|
El motivo de la infracción. Por ejemplo, RESOURCE_NOT_IN_SAME_SERVICE_PERIMETER significa que los recursos a los que se está accediendo no pertenecen al mismo perímetro de servicio.
|
metadata.securityPolicyInfo
|
El nombre del perímetro de servicio en el que se ha producido la infracción y el identificador único de la organización a la que pertenece el perímetro. |
metadata.egressViolations
|
Una infracción de salida suele producirse cuando una solicitud falla porque la fuente está protegida por un perímetro de servicio y el recurso de destino está fuera del perímetro. El origen puede ser un proyecto o una red de VPC. |
metadata.ingressViolations |
El tipo de infracción. A menudo, esta infracción se produce si la solicitud intenta acceder a un recurso de destino protegido por un perímetro de servicio. El origen puede ser un proyecto o una red de VPC. Este campo contiene una estructura que explica la infracción de entrada. |
metadata.servicePerimeter |
Nombre del perímetro de servicio implicado en la infracción. |
metadata.source |
Este campo contiene el origen de la solicitud, que puede ser un proyecto o una red de VPC. |
metadata.targetResource |
El recurso al que se ha dirigido la solicitud y que ha provocado la infracción. Este campo puede ser un proyecto. |
metadata.targetResourcePermissions |
Lista de los permisos de gestión de identidades y accesos necesarios para acceder al recurso de destino. Para resolver la infracción, configure reglas de entrada o salida para permitir los roles de gestión de identidades y accesos que contengan estos permisos. Si el permiso de gestión de identidades y accesos necesario es desconocido o procede de un servicio o método no admitido, Controles de Servicio de VPC registra |
metadata.accessLevels
|
Todos los niveles de acceso coincidentes de la organización que pertenecen a la misma política de acceso. Es posible que estos niveles de acceso no se especifiquen en el perímetro infractor y, por lo tanto, pueden provocar una infracción de NO_MATCHING_ACCESS_LEVEL .
|
metadata.intermediateServices
|
Lista de los servicios implicados en la cadena de solicitudes. Este campo está vacío en las solicitudes iniciadas por el usuario. |
metadata.deviceState
|
El estado del dispositivo que crea la solicitud cuando la política de dispositivos está habilitada. El valor predeterminado de este campo es Unknown .
|
Formato del registro de auditoría
Las entradas de los registros de auditoría incluyen los siguientes objetos:
La entrada de registro en sí, que es un objeto de tipo
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.Información de auditoría específica del servicio opcional, que es un objeto específico del servicio. En las integraciones anteriores, este objeto se encuentra en el campo
serviceData
del objetoAuditLog
. En las integraciones posteriores, se usa el campometadata
.
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 elGoogle Cloud proyecto u otra Google Cloud entidad propietaria de los registros de auditoría, así como si el registro contiene datos de registro de auditoría de actividad de administración, acceso a datos, denegación de políticas o eventos del sistema.
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 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 billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_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
Nombre del servicio
Los registros de auditoría de Controles de Servicio de VPC usan los nombres de los servicios que se integran con Controles de Servicio de VPC.
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 Controles de Servicio de VPC usan los tipos de recursos admitidos por los servicios que se integran con Controles de Servicio de VPC.
Para ver una lista de todos los tipos de recursos supervisados de Cloud Logging e información descriptiva, consulta Tipos de recursos supervisados.
Identidades de llamada
La dirección IP de la persona que llama se encuentra en el campo RequestMetadata.caller_ip
del objeto AuditLog
. Es posible que el registro oculte determinadas identidades de llamadas y direcciones IP.
Para obtener información sobre qué datos se ocultan en los registros de auditoría, consulta el artículo Identidades de las llamadas en los registros de auditoría.
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.
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 el contenedor_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 del segmento_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.
Consultas de ejemplo
Para usar las consultas de ejemplo de la siguiente tabla, sigue estos pasos:
Sustituye las variables de la expresión de consulta por la información de tu proyecto y, a continuación, copia la expresión con el icono del portapapeles content_copy.
-
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.
Habilita Mostrar consulta para abrir el campo del editor de consultas y, a continuación, pega la expresión en ese campo:
Haz clic en Realizar una consulta. Los registros que coinciden con tu consulta se muestran en el panel Resultados de la consulta.
Para encontrar registros de auditoría de Controles de Servicio de VPC, usa las siguientes consultas en el Explorador de registros:
Descripción de la consulta | Expresión |
---|---|
Detalles de la infracción según un ID de rechazo | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.metadata.vpcServiceControlsUniqueId="UNIQUE_ID" Sustituye |
Infracciones de una dirección IP | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.requestMetadata.callerIp="IP_ADDRESS" Sustituye |
Infracciones de un servicio | log_id("cloudaudit.googleapis.com/policy") severity=ERROR resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata" protoPayload.serviceName="SERVICE_NAME" Sustituye |
Se ha cambiado el nivel de acceso de un perímetro | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName="google.identity.accesscontextmanager.v1.AccessContextManager.UpdateServicePerimeter" -protoPayload.metadata.previousState:"ACCESS_LEVEL" protoPayload.request.servicePerimeter.status.accessLevels:"ACCESS_LEVEL" Sustituye |
Operaciones CRUD de perímetros | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.name=~".*PERIMETER_NAME$" PERIMETER_NAME por el nombre del perímetro. |
Operaciones CRUD de niveles de acceso | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" severity=NOTICE protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*AccessLevel" protoPayload.request.accessLevel.name=~".*ACCESS_LEVEL$" |
Crear y actualizar operaciones de reglas de entrada | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.ingressPolicies:"*" |
Crear y actualizar operaciones de reglas de salida | logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity" protoPayload.serviceName="accesscontextmanager.googleapis.com" protoPayload.methodName=~"google.identity.accesscontextmanager.v1.AccessContextManager.*ServicePerimeter" protoPayload.request.servicePerimeter.status.egressPolicies:"*" |
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 proyectos de la organización o de todos a la vez. Google Cloud
Para obtener instrucciones sobre cómo enrutar registros, consulta el artículo Enrutar registros a destinos admitidos.
Precios
Para obtener más información sobre los precios, consulta las secciones de Cloud Logging en la página Precios de Google Cloud Observability.