Un receptor agregado que no intercepta te permite enrutar entradas de registro de toda tu Google Cloud organización a una ubicación central y, al mismo tiempo, permite que los recursos secundarios enruten y almacenen sus propias copias de esos registros. En este instructivo, crearás un receptor agregado que no intercepta a nivel de la organización que enruta los registros de auditoría de tu organización a un Google Cloud proyecto, en el que un receptor a nivel del proyecto los enruta a un bucket de registros central. Luego, configurarás el acceso de lectura a una vista de registros en ese bucket y consultarás tus registros de auditoría agregados en el Explorador de registros.
También puedes configurar un receptor agregado para que intercepte si deseas controlar qué entradas de registro se pueden consultar o enrutar en los recursos secundarios. Para obtener más información, consulta Descripción general de los receptores agregados. Si estás configurando una organización nueva, también puedes configurar el almacenamiento de registros centralizado como parte del Google Cloud proceso de configuración.
Antes de comenzar
Asegúrate de que se cumpla lo siguiente:
-
Para obtener los permisos que necesitas para centralizar el almacenamiento mediante la creación de un receptor agregado a nivel de la organización que enruta las entradas de registro a un proyecto, pídele a tu administrador que te otorgue los siguientes roles de IAM:
-
Para crear el receptor agregado:
Escritor de configuración de registros (
roles/logging.configWriter) en tu organización -
Para otorgar roles de IAM a una cuenta de servicio y crear un bucket de registros:
Propietario (
roles/owner) en tu proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
-
Para crear el receptor agregado:
Escritor de configuración de registros (
-
En la Google Cloud consola de, activa Cloud Shell.
En la parte inferior de la Google Cloud consola de, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.
Crea un bucket de registros
Los buckets de registros almacenan las entradas de registro que se enrutan desde otros Google Cloud proyectos, carpetas o organizaciones. Para obtener más información, consulta Configura buckets de registros.
Para crear el bucket de registros en el Google Cloud proyecto en el que deseas agregar entradas de registro, completa los siguientes pasos:
Abre un shell.
Por ejemplo, para usar Cloud Shell, haz lo siguiente:
-
Ve a la Google Cloud consola de:
- En la barra de herramientas, haz clic en terminal Activar Cloud Shell.
-
En el shell, ejecuta el
gcloud logging buckets createcomando.Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
- BUCKET_NAME: El nombre del bucket de registros.
- LOCATION: La ubicación del bucket de registros. Después de crear tu bucket de registros, no puedes cambiar su ubicación.
- PROJECT_ID: El identificador del proyecto en el que se creará el bucket de registros.
Ejecuta el comando
gcloud logging buckets create:gcloud logging buckets create BUCKET_NAME \ --location=LOCATION --project=PROJECT_IDVerifica que se haya creado el bucket de registros:
gcloud logging buckets list --project=PROJECT_IDLa respuesta del comando es una lista de los buckets de registros de tu proyecto.
Los buckets de registros tienen períodos de retención configurables. Si deseas establecer el período de retención de las entradas de registro en tu bucket de registros, usa el comando
gcloud logging buckets update. Por ejemplo, el siguiente comando amplía la retención de las entradas de registro almacenadas en el bucket de registros a 365 días:gcloud logging buckets update BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID \ --retention-days=365Para obtener más información sobre las marcas, consulta
gcloud logging buckets update.
Crea el receptor de registros a nivel del proyecto
Para enrutar entradas de registro a un bucket de registros, crea un receptor. Un receptor incluye un filtro de inclusión, filtros de exclusión y un destino. En este instructivo, configurarás un filtro de inclusión y el destino a tu nuevo bucket de registros. Tu receptor no contiene ningún filtro de exclusión. Para obtener más información sobre los receptores, consulta Enruta registros a destinos admitidos.
Para crear un receptor que enrute las entradas de registro al bucket de registros que acabas de crear,
ejecuta el gcloud logging sinks create comando.
Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
- PROJECT_LEVEL_SINK_NAME: El nombre del receptor de registros a nivel del proyecto.
SINK_DESTINATION: El bucket de registros al que se enrutan tus entradas de registro. Los destinos del receptor deben usar el extremo global (
logging.googleapis.com); no se admiten los extremos regionales (REP) . El formato de la ruta de destino para un bucket de registros es el siguiente:logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAMEPROJECT_ID: El identificador del proyecto en el que se creará el receptor de registros. Configura esta marca en el mismo proyecto en el que creaste el bucket de registros.
Incluye las siguientes marcas:
--log-filter: Usa esta marca para establecer un filtro que coincida con las entradas de registro que deseas incluir en tu receptor. En este instructivo, el filtro está configurado para seleccionar todas las entradas de registro de auditoría. Si no estableces un filtro, todas las entradas de registro de tu Google Cloud proyecto se enrutan al destino.--description: Usa esta marca para describir el propósito o el caso de uso del receptor.
Ejecuta el comando gcloud logging sinks create:
gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION \
--project=PROJECT_ID \
--log-filter='logName:cloudaudit.googleapis.com' \
--description="Audit logs from my organization"
Crea el receptor agregado
Los receptores agregados combinan y enrutan las entradas de registro de los recursos que contiene una organización o carpeta a un destino.
En este instructivo, crearás un receptor agregado que no intercepta. Esto significa que cada entrada de registro que enruta el receptor agregado también la enrutan los receptores en el recurso en el que se origina la entrada de registro. Por ejemplo, un registro de auditoría que se origina en un proyecto es enrutado por el receptor agregado y los receptores de ese proyecto. Por lo tanto, es posible que almacenes varias copias de una entrada de registro.
También puedes crear receptores que interceptan. Para obtener más información, consulta Descripción general de los receptores agregados.
Configura el receptor a nivel de la organización
Para crear un receptor agregado que no intercepte y que enrute las entradas de registro a un proyecto, completa los siguientes pasos:
Ejecuta el
gcloud logging sinks createcomando.Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
- SINK_NAME: El nombre del receptor de registros. No puedes cambiar el nombre de un receptor después de crearlo.
- PROJECT_ID: El identificador del proyecto que almacena el bucket de registros.
- ORGANIZATION_ID: El identificador de la organización.
Ejecuta el comando
gcloud logging sinks create:gcloud logging sinks create SINK_NAME \ logging.googleapis.com/projects/PROJECT_ID \ --log-filter='logName:cloudaudit.googleapis.com' \ --description="Audit logs from my organization" \ --organization=ORGANIZATION_ID \ --include-childrenLa marca
--include-childrenes importante. Esta marca garantiza que se enruten las entradas de registro de todos los Google Cloud proyectos y carpetas de tu organización. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y de la carpeta a destinos admitidos destinos.Verifica si se creó el receptor:
gcloud logging sinks list --organization=ORGANIZATION_IDObtén el nombre de la cuenta de servicio:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_IDEl resultado es similar al siguiente:
writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.comCopia el valor del campo
serviceAccounten el portapapeles.
Otorga acceso al receptor
Después de crear el receptor agregado, debes otorgar permiso para que el receptor escriba entradas de registro en el proyecto que estableciste como destino. Puedes otorgar permiso con la Google Cloud consola o editando la política de Identity and Access Management (IAM), como se describe en Establece permisos de destino.
Si el proyecto de destino Google Cloud está protegido por un perímetro de servicio de Controles del servicio de VPC , también debes agregar una regla de entrada a l perímetro de destino que permita el acceso desde la cuenta de servicio del receptor. No necesitas configurar una regla de entrada para los receptores no agregados. Para obtener más información, consulta Recopila y enruta registros a nivel de la organización y de la carpeta a destinos admitidos: Limitaciones.
Para otorgar permiso a tu receptor para escribir entradas de registro, haz lo siguiente:
-
En la Google Cloud consola de, dirígete a la página IAM.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.
Selecciona el Google Cloud proyecto que contiene tu bucket de registros.
Haz clic en Otorgar acceso y agrega la cuenta de servicio como una principal nueva. No incluyas el prefijo
serviceAccount:.En el menú Seleccionar un rol, selecciona Escritor de registros.
Haz clic en Guardar.
Genera entradas de registro para ayudar a verificar el receptor
Para verificar que tu receptor agregado esté configurado correctamente, prueba lo siguiente:
Genera entradas de registro de auditoría que se deben enrutar a tu bucket de registros.
Si tienes muchos Google Cloud proyectos en tu organización, entonces es posible que tengas suficiente tráfico de registros de auditoría como para no tener que crear ninguno para fines de validación. Dirígete al paso siguiente.
De lo contrario, ve a otro proyecto, crea una instancia de VM de Compute Engine y, luego, borra la instancia que creaste. Los registros de auditoría se escriben cuando se crea, inicia y borra una VM.
Sigue los pasos que se indican en Visualiza entradas de registro en la página Explorador de registros para ver tus registros de auditoría. Asegúrate de seleccionar la vista
_AllLogs.
Configura el acceso de lectura a una vista de registros en un bucket de registros
Cuando creas un bucket de registros, Cloud Logging crea automáticamente una
vista de registros llamada _AllLogs.
Esta vista incluye todas las entrada de registro almacenadas en el bucket de registros.
Para restringir una principal para que solo tenga acceso a entradas de registro específicas, crea una vista de registros y, luego, haz una de las siguientes acciones:
Otórgale el rol Usuario con acceso a vistas de registros (
roles/logging.viewAccessor) junto con una condición de IAM que restrinja el otorgamiento a la vista de registros.En la política de IAM asociada con la vista de registros, otorga acceso a una principal. Te recomendamos este enfoque cuando creas una gran cantidad de vistas de registros.
Para obtener más información sobre estos dos enfoques, consulta Controla el acceso a una vista de registros.
En los siguientes pasos, otorgarás a una principal el rol Usuario con acceso a vistas de registros (roles/logging.viewAccessor) junto con una condición de IAM que restrinja el otorgamiento a la vista llamada _AllLogs:
-
En la Google Cloud consola de, dirígete a la página IAM.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es IAM y administrador.
Selecciona el Google Cloud proyecto que contiene el bucket de registros.
Haz clic en Agregar.
En el campo Principal nueva, agrega una principal.
En el menú Seleccionar un rol, selecciona Usuario con acceso a vistas de registros.
Si no agregas una condición a este rol, la principal tendrá acceso a todas las vistas de registros en todos los buckets de registros definidos por el usuario en el Google Cloud proyecto.
Agrega una condición de IAM a la vinculación:
- Haz clic en Agregar condición y, luego, ingresa un título y una descripción.
- En el menú Tipo de condición, ve a Recurso y, luego, selecciona Nombre.
- En el menú Operador, selecciona Finalizar con.
En el campo Valor, ingresa el nombre completo de la vista de registros:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogsHaz clic en Guardar para guardar la condición.
Haz clic en Guardar para guardar la vinculación.
Visualiza entradas de registro en la página Explorador de registros
Para ver las entradas de registro en tu bucket de registros, haz lo siguiente:
-
En la Google Cloud consola de, ve a la Explorador de registros del segmento:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Selecciona Define mejor el permiso.
En el panel Define mejor el permiso, selecciona Vista de registros.
Selecciona la vista de registros o las vistas de registros cuyas entradas de registro deseas ver. Por ejemplo, para ver todas las entradas de registro, selecciona la vista llamada
_AllLogs.Haz clic en Aplicar.
La página Explorador de registros se actualiza para mostrar las entradas de registro de tu bucket de registros. Para obtener más información sobre el uso del Explorador de registros, consulta Usa el Explorador de registros.