En este documento se describe cómo gestionar las entradas de registro generadas por los recursos contenidos en tu organización Google Cloud mediante un receptor agregado que no intercepte.
Puedes configurar un receptor agregado para que intercepte o no, en función de si quieres controlar qué entradas de registro se pueden consultar o enrutar a través de los receptores de los recursos secundarios. En este tutorial, crearás un sumidero agregado que dirigirá los registros de auditoría de tu organización a unGoogle Cloud proyecto, que a su vez dirigirá los registros de auditoría agregados a un segmento de registros. Para obtener más información, consulta la información general sobre los receptores agregados.
En este tutorial, seguirás estos pasos:
Para empezar, crea un segmento de registro y un receptor de registro en elGoogle Cloud proyecto en el que quieras almacenar las entradas de registro agregadas.
A continuación, crea un sumidero agregado no interceptor a nivel de organización para enrutar las entradas de registro al Google Cloud proyecto que contiene el cubo de registro.
A continuación, configura el acceso de lectura a las vistas de registro en el nuevo contenedor de registros.
Por último, consulta y ve tus entradas de registro en la página Explorador de registros.
Antes de empezar
Asegúrate de lo siguiente:
-
Para obtener los permisos que necesitas para configurar un receptor agregado, pide a tu administrador que te conceda los siguientes roles de IAM en tu organización:
-
Para crear segmentos y sumideros de registros en un proyecto, sigue estos pasos:
Editor de configuración de registros (
roles/logging.configWriter
) - tu proyecto -
Para crear un sumidero agregado, sigue estos pasos:
Editor de configuración de registros (
roles/logging.configWriter
): tu organización -
Para asignar roles a principales, sigue estos pasos:
Propietario (
roles/owner
): tu proyecto
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
-
Para crear segmentos y sumideros de registros en un proyecto, sigue estos pasos:
Editor de configuración de registros (
- Si usas Controles de Servicio de VPC, debes añadir una regla de entrada al perímetro de servicio. Para obtener más información sobre las limitaciones de Controles de Servicio de VPC, consulta Limitaciones de los receptores agregados y de Controles de Servicio de VPC.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crear un segmento de registro
Los segmentos de registros almacenan las entradas de registro que se enrutan desde otrosGoogle Cloud proyectos, carpetas u organizaciones. Para obtener más información, consulta el artículo sobre cómo configurar segmentos de registro.
Para crear el bucket de registro en el proyecto Google Cloud en el que quieras agregar entradas de registro, sigue estos pasos:
Abre una shell.
Por ejemplo, para usar Cloud Shell, haz lo siguiente:
-
Ve a la Google Cloud consola:
- En la barra de herramientas, haz clic en terminal Activar Cloud Shell.
-
En el shell, ejecuta el comando
gcloud logging buckets create
.Antes de ejecutar el siguiente comando, haz los siguientes cambios:
- BUCKET_NAME: el nombre del segmento de registro.
- LOCATION: la ubicación del segmento de registro. Una vez que hayas creado el segmento de registro, no podrás cambiar su ubicación.
- PROJECT_ID: el identificador del proyecto en el que se va a crear el contenedor de registro.
Ejecuta el comando
gcloud logging buckets create
:gcloud logging buckets create BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID
Comprueba que se haya creado el registro:
gcloud logging buckets list --project=PROJECT_ID
La respuesta del comando es una lista de los segmentos de registro de tu proyecto.
Los segmentos de registros tienen periodos de conservación configurables. Si quieres definir el periodo de conservación de las entradas de registro de tu segmento de registro, usa el comando
gcloud logging buckets update
. Por ejemplo, el siguiente comando amplía la conservación de las entradas de registro almacenadas en el segmento de registros a 365 días:gcloud logging buckets update BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID \ --retention-days=365
Para obtener más información sobre las opciones, consulta
gcloud logging buckets update
.
Crear el sumidero de registro a nivel de proyecto
Para enrutar entradas de registro a un segmento de registro, debes crear un receptor. Un sumidero incluye un filtro de inclusión, filtros de exclusión y un destino. En este tutorial, configurará un filtro de inclusión y el destino de su nuevo segmento de registro. Tu receptor no contiene ningún filtro de exclusión. Para obtener más información sobre los receptores, consulta Dirigir registros a destinos admitidos.
Para crear un sumidero que enrute las entradas de registro al segmento de registro que acabas de crear, ejecuta el comando gcloud logging sinks create
.
Antes de ejecutar el siguiente comando, haz los siguientes cambios:
- PROJECT_LEVEL_SINK_NAME: nombre del receptor de registro a nivel de proyecto.
SINK_DESTINATION: el contenedor de registro al que se dirigen tus entradas de registro. El formato de la ruta de destino de un segmento de registro es el siguiente:
logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
PROJECT_ID: identificador del proyecto en el que se va a crear el receptor de registro. Define esta opción en el mismo proyecto en el que creaste el contenedor de registro.
Incluye las siguientes opciones:
--log-filter
: usa esta opción para definir un filtro que coincida con las entradas de registro que quieras incluir en tu sumidero. En este tutorial, el filtro se ha configurado para seleccionar todas las entradas del registro de auditoría. Si no defines ningún filtro, todas las entradas de registro de tu proyecto Google Cloud se dirigirán al destino.--description
: usa esta opción para describir el propósito o el caso práctico 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" \
Crear el sumidero agregado
Los receptores agregados combinan y dirigen las entradas de registro de los recursos contenidos en una organización o una carpeta a un destino.
En este tutorial, creará un receptor agregado que no intercepta. Esto significa que cada entrada de registro que se enruta mediante el sumidero agregado también se enruta mediante los sumideros del recurso en el que se origina la entrada de registro. Por ejemplo, un registro de auditoría que se origina en un proyecto se enruta mediante el receptor agregado y los receptores de ese proyecto. Por lo tanto, puedes almacenar varias copias de una entrada de registro.
Puedes crear sinks interceptores. Para obtener más información, consulta la información general sobre los receptores agregados.
Configurar el sumidero a nivel de organización
Para crear un receptor agregado que no intercepte y que dirija las entradas de registro a un proyecto, sigue estos pasos:
Ejecuta el comando
gcloud logging sinks create
.Antes de ejecutar el siguiente comando, haz los siguientes cambios:
- SINK_NAME: el nombre del sumidero de registros. No puedes cambiar el nombre de un receptor después de crearlo.
- PROJECT_ID: identificador del proyecto que almacena el segmento de registro.
- ORGANIZATION_ID: 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-children
La opción
--include-children
es importante. Esta opción asegura que se enruten las entradas de registro de todos losGoogle Cloud proyectos y carpetas de tu organización. Para obtener más información, consulta el artículo Recopilar y enrutar registros a nivel de organización a destinos admitidos.Comprueba que se haya creado el sumidero:
gcloud logging sinks list --organization=ORGANIZATION_ID
Obtén el nombre de la cuenta de servicio:
gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
El resultado es similar al siguiente:
writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
Copia el valor del campo
serviceAccount
en el portapapeles.
Conceder acceso al receptor
Después de crear el receptor agregado, debes conceder permiso para que el receptor escriba entradas de registro en el proyecto que hayas definido como destino. Puedes conceder permisos mediante la Google Cloud consola o editando la política de Gestión de Identidades y Accesos (IAM), tal como se describe en Definir permisos de destino.
Para conceder a tu receptor permiso para escribir entradas de registro, haz lo siguiente:
-
En la Google Cloud consola, ve a la página Gestión de identidades y accesos:
Ve a Gestión de identidades y accesos.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea IAM y administrador.
Selecciona el Google Cloud proyecto que contiene tu segmento de registro.
Haz clic en
Conceder acceso y añade la cuenta de servicio como un nuevo principal. No incluyas el prefijo serviceAccount:.En el menú Selecciona un rol, elige Escritor de registros.
Haz clic en Guardar.
Generar entradas de registro para ayudar en la verificación del sumidero
Para verificar que el receptor agregado está configurado correctamente, prueba lo siguiente:
Genera entradas de registro de auditoría que deban enrutarse a tu segmento de registro.
Si tienes muchos proyectos en tu organización, es posible que tengas suficiente tráfico de registros de auditoría como para no tener que crear ninguno con fines de validación. Google Cloud Ir al siguiente paso
Si no es así, ve a otro proyecto, crea una instancia de VM de Compute Engine y, a continuación, elimina la instancia que has creado. Los registros de auditoría se escriben cuando se crea, se inicia y se elimina una VM.
Sigue el procedimiento que se indica en la sección Ver registros en la página Explorador de registros para ver tus registros de auditoría. Asegúrate de seleccionar la vista
_AllLogs
.
Configurar el acceso de lectura a una vista de registro en un segmento de registro
Cuando creas un segmento de registro, Cloud Logging crea automáticamente una vista de registro llamada _AllLogs
.
Esta vista incluye todas las entradas de registro almacenadas en el segmento de registro.
Para restringir el acceso de una entidad de seguridad a entradas de registro específicas, crea una vista de registro y, a continuación, haz una de las siguientes acciones:
Asígnales el rol de
roles/logging.viewAccessor
junto con una condición de gestión de identidades y accesos que restrinja la concesión a la vista de registro.En la política de gestión de identidades y accesos asociada a la vista de registro, concede acceso a una entidad principal. Recomendamos este método cuando creas un gran número de vistas de registro.
Para obtener más información sobre estos dos enfoques, consulta Controlar el acceso a una vista de registro.
En los siguientes pasos, asignarás al principal el rol roles/logging.viewAccessor
junto con una condición de gestión de identidades y accesos que restringe la concesión a la vista llamada _AllLogs
:
-
En la Google Cloud consola, ve a la página Gestión de identidades y accesos:
Ve a Gestión de identidades y accesos.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea IAM y administrador.
Selecciona el Google Cloud proyecto que contiene el segmento de registro.
Haz clic en
Añadir.En el campo Nuevo principal, añade un principal.
En el menú Seleccionar un rol, selecciona Accessor de vistas de registros.
Si no añades ninguna condición a este rol, la principal tendrá acceso a todas las vistas de registro de todos los cubos de registro definidos por el usuario del proyecto Google Cloud .
Añade una condición de gestión de identidades y accesos a la vinculación:
- Haz clic en Añadir condición, escribe un título y una descripción.
- En el menú Tipo de condición, desplázate hasta Recurso y, a continuación, selecciona Nombre.
- En el menú Operador, selecciona Termina por.
En el campo Valor, introduce el nombre completo de la vista de registro:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Haz clic en Guardar para guardar la condición.
Haz clic en Guardar para guardar la vinculación.
Ver entradas de registro en la página Explorador de registros
Para ver las entradas de registro de tu contenedor de registro, sigue estos pasos:
-
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 Refinar ámbito.
En el panel Acotar, selecciona Vista de registro.
Selecciona la vista de registro o las vistas de registro cuyas entradas quieras ver. Por ejemplo, para ver todas las entradas de registro, selecciona la vista
_AllLogs
.Haz clic en Aplicar.
El Explorador de registros se actualiza para mostrar las entradas de registro de tu bucket de registros. Para obtener información sobre cómo usar el Explorador de registros, consulta el artículo Usar el Explorador de registros.