Configurar el control de acceso a funciones con la gestión de identidades y accesos
El RBAC de funciones controla el acceso de los usuarios a funciones específicas de un sistema y determina a qué funciones pueden acceder los usuarios en función de sus roles. En esta página se describe cómo puede configurar el control de acceso a las funciones en Google Security Operations.
En este documento, el término RBAC antiguo se usa para hacer referencia al sistema de control de acceso disponible anteriormente que se configura mediante Google SecOps y no mediante Gestión de Identidades y Accesos (IAM). El RBAC de funciones se usa para describir el control de acceso basado en funciones que se configura con la gestión de identidades y accesos.
Google SecOps se integra con Google Cloud IAM para proporcionar permisos y roles predefinidos específicos de Google SecOps. Los administradores de SecOps de Google pueden controlar el acceso a las funciones creando políticas de gestión de identidades y accesos que vinculen usuarios o grupos a roles predefinidos, o bien crear roles de gestión de identidades y accesos personalizados. Esta función no controla el acceso a registros de UDM específicos ni a campos de un registro de UDM.
En este documento se hace lo siguiente:
- Describe cómo se integra Google SecOps con IAM.
- Explica en qué se diferencian los roles de RBAC de las funciones de los roles de RBAC antiguos.
- Proporciona los pasos para migrar una instancia de Google SecOps a la función de control de acceso basado en roles.
- Proporciona ejemplos de cómo asignar permisos mediante la gestión de identidades y accesos.
- Resume los permisos y los roles predefinidos disponibles en IAM.
Para ver una lista de los permisos de Google SecOps que se usan con frecuencia y los registros de auditoría que generan, consulta Permisos y métodos de API por grupo de recursos. Para ver una lista de todos los permisos de Google SecOps, consulta la referencia de permisos de gestión de identidades y accesos.
Cada permiso de Google SecOps está asociado a un recurso y a un método de la API Chronicle. Cuando se concede un permiso a un usuario o a un grupo, el usuario puede acceder a la función en Google SecOps y enviar una solicitud mediante el método de API relacionado.
Cómo se integra Google SecOps con IAM
Para usar IAM, Google SecOps debe estar vinculado a un Google Cloud proyecto y debe configurarse con Cloud Identity, Google Workspace o Google Cloud federación de identidades de la fuerza de trabajo como intermediario en el flujo de autenticación a un proveedor de identidades externo. Para obtener información sobre el flujo de autenticación de terceros, consulta el artículo Integrar Google SecOps con un proveedor de identidades de terceros.
Google SecOps sigue estos pasos para verificar y controlar el acceso a las funciones:
- Después de iniciar sesión en Google SecOps, un usuario accede a una página de la aplicación Google SecOps. Como alternativa, el usuario puede enviar una solicitud de API a Google SecOps.
- El equipo de operaciones de seguridad de Google verifica los permisos concedidos en las políticas de gestión de identidades y accesos definidas para ese usuario.
- IAM devuelve la información de autorización. Si el usuario ha accedido a una página de la aplicación, Google SecOps solo le permitirá acceder a las funciones a las que se le haya concedido acceso.
- Si el usuario ha enviado una solicitud a la API y no tiene permiso para realizar la acción solicitada, la respuesta de la API incluye un error. De lo contrario, se devuelve una respuesta estándar.
Google SecOps proporciona un conjunto de roles predefinidos con un conjunto de permisos definidos que controlan si un usuario puede acceder a la función. La política de gestión de identidades y accesos única controla el acceso a la función mediante la interfaz web y la API.
Si hay otros Google Cloud servicios en el Google Cloud proyecto vinculados a Google SecOps y quieres limitar a un usuario con el rol Administrador de gestión de identidades y accesos del proyecto para que solo pueda modificar los recursos de Google SecOps, asegúrate de añadir condiciones de gestión de identidades y accesos a la política de permisos. Consulta un ejemplo de cómo hacerlo en el artículo Asignar roles a usuarios y grupos.
Los administradores adaptan el acceso a las funciones de Google SecOps en función del rol de cada empleado en la organización.
Antes de empezar
- Familiarízate con Cloud Shell, el comando de la CLI de gcloud y la Google Cloud consola.
- Familiarízate con la gestión de identidades y accesos, incluidos los siguientes conceptos:
- Descripción general de la gestión de identidades y accesos
- Descripción general de los roles y permisos, los roles predefinidos en comparación con los roles personalizados y cómo crear roles personalizados.
- Condiciones de gestión de identidades y accesos.
- Sigue todos los pasos que se indican en Vincular Google SecOps a un Google Cloud proyecto para configurar un proyecto que se vincule a Google SecOps.
- Configure su proveedor de identidades con una de las siguientes opciones:
- Configurar un Google Cloud proveedor de identidades
- Sigue todos los pasos que se indican en el artículo Integrar Google SecOps con un proveedor de identidades externo para configurar la autenticación a través de un proveedor de identidades externo.
- Vincula un proyecto a tu instancia de Google SecOps y configura el proveedor de identidades.
- Asegúrate de que tienes los permisos necesarios para llevar a cabo los pasos que se indican en este documento. Para obtener información sobre los permisos necesarios en cada fase del proceso de incorporación, consulta Roles necesarios.
Planificar la implementación
Crea políticas de gestión de identidades y accesos que se ajusten a los requisitos de implementación de tu organización. Puedes usar los roles predefinidos de Google SecOps o los roles personalizados que crees.
Revisa la lista de roles y permisos predefinidos de Google SecOps para comprobar si se ajustan a los requisitos de tu organización. Identifica qué miembros de tu organización deben tener acceso a cada función de Google SecOps. Si tu organización requiere políticas de gestión de identidades y accesos que difieran de los roles de SecOps de Google predefinidos, crea roles personalizados para cumplir estos requisitos. Para obtener información sobre los roles personalizados de IAM, consulta el artículo Crear y gestionar roles personalizados.
Resumen de los roles y permisos de Google SecOps
En las siguientes secciones se ofrece un resumen general de los roles predefinidos.
La lista más actualizada de permisos de Google SecOps se encuentra en la referencia de permisos de gestión de identidades y accesos. En la sección Buscar un permiso, busca el término chronicle
.
La lista más actualizada de roles predefinidos de Google Security Operations se encuentra en la referencia de roles básicos y predefinidos de gestión de identidades y accesos. En la sección Roles predefinidos, selecciona el servicio Roles de la API de Chronicle o busca el término chronicle
.
Para obtener información sobre los métodos y permisos de la API, las páginas en las que se usan los permisos y la información registrada en los registros de auditoría de Cloud cuando se llama a la API, consulta Permisos de Chronicle en IAM.
Roles predefinidos de Google SecOps en IAM
Google SecOps proporciona los siguientes roles predefinidos tal como aparecen en IAM.
Rol predefinido en gestión de identidades y accesos | Título | Descripción |
---|---|---|
roles/chronicle.admin |
Administrador de la API de Chronicle | Acceso completo a los servicios de aplicaciones y APIs de Google SecOps, incluidos los ajustes globales. |
roles/chronicle.editor |
Editor de la API Chronicle | Modificar el acceso a la aplicación y a los recursos de la API de Google SecOps. |
roles/chronicle.viewer |
Visor de la API Chronicle | Acceso de solo lectura a los recursos de la aplicación y la API de Google SecOps |
roles/chronicle.limitedViewer |
Visor limitado de la API Chronicle | Concede acceso de solo lectura a la aplicación y a los recursos de la API de Google SecOps, excepto a las reglas del motor de detección y a las búsquedas retrospectivas. |
Permisos de Google SecOps en gestión de identidades y accesos
Los permisos de Google SecOps se corresponden uno a uno con los métodos de la API de Chronicle. Cada permiso de Google SecOps habilita una acción específica en una función específica de Google SecOps al usar la aplicación web o la API. Las APIs de Google SecOps que se usan con IAM están en la fase de lanzamiento alfa.
Los nombres de los permisos de Google SecOps siguen el formato SERVICE.FEATURE.ACTION
.
Por ejemplo, el nombre del permiso chronicle.dashboards.edit
consta de lo siguiente:
chronicle
: el nombre del servicio de la API Chronicle.dashboards
: el nombre de la función.edit
: la acción que se puede realizar en la función.
El nombre del permiso describe la acción que puedes realizar en la función de Google SecOps. Todos los permisos de Google SecOps tienen el nombre de servicio chronicle
.
Asignar roles a usuarios y grupos
En las siguientes secciones se muestran ejemplos de casos prácticos para crear políticas de gestión de identidades y accesos. El término <project>
se usa para representar el ID del proyecto que has vinculado a Google SecOps.
Después de habilitar la API de Chronicle, los roles y permisos predefinidos de Google SecOps estarán disponibles en Gestión de Identidades y Accesos (IAM), y podrás crear políticas para cumplir los requisitos de la organización.
Si tienes una instancia de Google SecOps recién creada, empieza a crear políticas de IAM para cumplir los requisitos de la organización.
Si se trata de una instancia de Google SecOps, consulta Migrar Google SecOps a IAM para controlar el acceso a las funciones para obtener información sobre cómo migrar la instancia a IAM.
Ejemplo: Asignar el rol Administrador de gestión de identidades y accesos de proyectos en un proyecto específico
En este ejemplo, el proyecto está dedicado a tu instancia de Google SecOps. Asigna el rol Administrador de gestión de identidades y accesos del proyecto a un usuario para que pueda asignar y modificar las vinculaciones de roles de gestión de identidades y accesos del proyecto. El usuario puede administrar todos los roles y permisos de Google SecOps del proyecto y realizar las tareas que le concede el rol Administrador de gestión de identidades y accesos del proyecto.
Asigna el rol mediante la Google Cloud consola.
En los pasos que se indican a continuación se describe cómo asignar un rol a un usuario mediante la consola de Google Cloud .
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Conceder acceso. Aparecerá la opción Conceder acceso a
<project>
. - En la sección Añadir principales, introduce la dirección de correo de la cuenta gestionada en el campo Principales nuevos.
- En la sección Asignar roles, en el menú Seleccionar un rol, elige el rol Administrador de IAM de proyectos.
- Haz clic en Guardar.
- Abre la página Gestión de identidades y accesos > Permisos para verificar que se ha asignado el rol correcto al usuario.
Asignar el rol mediante Google Cloud CLI
El siguiente comando de ejemplo muestra cómo asignar el rol chronicle.admin
a un usuario cuando se usa la federación de identidades de la fuerza de trabajo.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.USER_EMAIL
: la dirección de correo del usuario.
El siguiente comando de ejemplo muestra cómo asignar el rol chronicle.admin
a un grupo al usar Cloud Identity o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.USER_EMAIL
: la dirección de correo del usuario.
Ejemplo: Asignar el rol Administrador de gestión de identidades y accesos de proyecto en un proyecto compartido
En este ejemplo, el proyecto se usa para varias aplicaciones. Está vinculada a una instancia de Google SecOps y ejecuta servicios que no están relacionados con Google SecOps. Por ejemplo, un recurso de Compute Engine que se usa para otro fin.
En este caso, puedes asignar el rol Administrador de IAM de proyecto a un usuario para que pueda asignar y modificar las vinculaciones de roles de gestión de identidades y accesos del proyecto, así como configurar Google SecOps. También añadirás IAMs a la vinculación de roles para limitar su acceso a los roles relacionados con Google SecOps en el proyecto. Este usuario solo puede conceder los roles especificados en la condición de gestión de identidades y accesos.
Para obtener más información sobre las condiciones de gestión de identidades y accesos, consulta los artículos Descripción general de las condiciones de gestión de identidades y accesos y Gestionar las vinculaciones de roles condicionales.
Asigna el rol mediante la Google Cloud consola.
En los pasos que se indican a continuación se describe cómo asignar un rol a un usuario mediante la consola de Google Cloud .
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Conceder acceso. Aparecerá la opción Conceder acceso a
<project>
. - En el cuadro de diálogo Grant Access to
<project>
(Conceder acceso a<project>
), en la sección Add Principals (Añadir principales), escribe la dirección de correo del usuario en el campo New Principals (Nuevos principales). - En la sección Asignar roles, en el menú Seleccionar un rol, selecciona el rol Administrador de IAM de proyectos.
- Haz clic en + Añadir condición de IAM.
- En el cuadro de diálogo Añadir condición, introduce la siguiente información:
- Introduce un Título para la condición.
- Selecciona el editor de condiciones.
- Introduce la siguiente condición:
api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])
- En el cuadro de diálogo Añadir condición, haz clic en Guardar.
- Haz clic en Guardar en el cuadro de diálogo Conceder acceso a
<project>
. - Abre la página Gestión de identidades y accesos > Permisos para verificar que se ha asignado el rol correcto al usuario.
Asignar el rol mediante Google Cloud CLI
El siguiente comando de ejemplo muestra cómo asignar a un usuario el rol chronicle.admin
y aplicar condiciones de gestión de identidades y accesos al usar la federación de identidades de la plantilla.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.USER_EMAIL
: la dirección de correo del usuario.
El siguiente comando de ejemplo muestra cómo conceder a un grupo el rol chronicle.admin
y aplicar condiciones de gestión de identidades y accesos al usar Cloud Identity o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.admin\
--condition=^:^'expression=api.getAttribute(iam.googleapis.com/modifiedGrantsByRole,[]).hasOnly([roles/chronicle.googleapis.com/limitedViewer, roles/chronicle.googleapis.com/viewer, roles/chronicle.googleapis.com/editor, roles/chronicle.googleapis.com/admin])':'title=Chronicle Role Admin'
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.USER_EMAIL
: la dirección de correo del usuario, comobob@example.com
.
Ejemplo: Asignar el rol de editor de la API de Chronicle a un usuario
En esta situación, quieres dar a un usuario la posibilidad de modificar el acceso a los recursos de la API de Chronicle.
Asigna el rol mediante la Google Cloud consola.
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Conceder acceso. Se abrirá el cuadro de diálogo Dar acceso a
<project>
. - En la sección Añadir principales, en el campo Principales nuevos, introduce la dirección de correo del usuario.
- En la sección Assign Roles (Asignar roles), en el menú Select a role (Seleccionar un rol), elige el rol Chronicle API Editor (Editor de la API de Chronicle).
- Haz clic en Guardar en el cuadro de diálogo Conceder acceso a
<project>
. - Abre la página Gestión de identidades y accesos > Permisos para verificar que se ha asignado el rol correcto al usuario.
Asignar el rol mediante Google Cloud CLI
El siguiente comando de ejemplo muestra cómo asignar el rol chronicle.editor
a un usuario cuando se usa la federación de identidades de la fuerza de trabajo.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_EMAIL \
--role=roles/chronicle.editor
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.USER_EMAIL
: la dirección de correo del usuario.El siguiente comando de ejemplo muestra cómo asignar el rol
chronicle.editor
a un usuario cuando se usa Cloud Identity o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.USER_EMAIL
: la dirección de correo del usuario.
Ejemplo: crear y asignar un rol personalizado a un grupo
Si los roles predefinidos de Google SecOps no proporcionan el grupo de permisos que se ajusta al caso práctico de tu organización, puedes crear un rol personalizado y asignarle permisos de Google SecOps. Asigna el rol personalizado a un usuario o grupo. Para obtener más información sobre los roles personalizados de IAM, consulta el artículo Crear y gestionar roles personalizados.
Con los pasos que se indican a continuación, puedes crear un rol personalizado llamado LimitedAdmin
.
Crea un archivo YAML o JSON que defina el rol personalizado, llamado
LimitedAdmin
, y los permisos concedidos a este rol. A continuación, se muestra un archivo YAML de ejemplo.title: "LimitedAdmin" description: "Admin role with some permissions removed" stage: "ALPHA" includedPermissions: - chronicle.collectors.create - chronicle.collectors.delete - chronicle.collectors.get - chronicle.collectors.list - chronicle.collectors.update - chronicle.dashboards.copy - chronicle.dashboards.create - chronicle.dashboards.delete - chronicle.dashboards.get - chronicle.dashboards.list - chronicle.extensionValidationReports.get - chronicle.extensionValidationReports.list - chronicle.forwarders.create - chronicle.forwarders.delete - chronicle.forwarders.generate - chronicle.forwarders.get - chronicle.forwarders.list - chronicle.forwarders.update - chronicle.instances.get - chronicle.instances.report - chronicle.legacies.legacyGetCuratedRulesTrends - chronicle.legacies.legacyGetRuleCounts - chronicle.legacies.legacyGetRulesTrends - chronicle.legacies.legacyUpdateFinding - chronicle.logTypeSchemas.list - chronicle.multitenantDirectories.get - chronicle.operations.cancel - chronicle.operations.delete - chronicle.operations.get - chronicle.operations.list - chronicle.operations.wait - chronicle.parserExtensions.activate - chronicle.parserExtensions.create - chronicle.parserExtensions.delete - chronicle.parserExtensions.generateKeyValueMappings - chronicle.parserExtensions.get - chronicle.parserExtensions.legacySubmitParserExtension - chronicle.parserExtensions.list - chronicle.parserExtensions.removeSyslog - chronicle.parsers.activate - chronicle.parsers.activateReleaseCandidate - chronicle.parsers.copyPrebuiltParser - chronicle.parsers.create - chronicle.parsers.deactivate - chronicle.parsers.delete - chronicle.parsers.get - chronicle.parsers.list - chronicle.parsers.runParser - chronicle.parsingErrors.list - chronicle.validationErrors.list - chronicle.validationReports.get - resourcemanager.projects.get
Crea el rol personalizado. El siguiente comando de la CLI de gcloud muestra cómo crear este rol personalizado con el archivo YAML que has creado en el paso anterior.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.YAML_FILE_NAME
: el nombre del archivo que has creado en el paso anterior.ROLE_NAME
: el nombre del rol personalizado tal como se define en el archivo YAML.
Asigna el rol personalizado con la CLI de Google Cloud.
El siguiente comando de ejemplo muestra cómo conceder a un grupo de usuarios el rol personalizado
limitedAdmin
al usar la federación de identidades de la plantilla.gcloud projects add-iam-policy-binding PROJECT_ID \ --member=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.GROUP_ID
: el identificador de grupo creado en la federación de identidades para los trabajadores. Consulta Representar a los usuarios del grupo de trabajo en las políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidades de Workforce. Consulta Representar a los usuarios de un grupo de trabajadores en políticas de gestión de identidades y accesos para obtener información sobreGROUP_ID
.
El siguiente comando de ejemplo muestra cómo asignar el rol personalizado
limitedAdmin
a un grupo de usuarios cuando se usa Cloud Identity o .gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto de Google SecOps que has creado en Asociar una instancia de Google SecOps a un proyecto Google Cloud . Consulta el artículo sobre cómo crear y gestionar proyectos para ver una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: el identificador del grupo de Workforce creado para tu proveedor de identidades.GROUP_ID
: el identificador de grupo creado en la federación de identidades para los trabajadores. Consulta Representar a los usuarios del grupo de trabajo en las políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidades de Workforce. Consulta Representar a los usuarios de un grupo de trabajadores en políticas de gestión de identidades y accesos para obtener información sobreGROUP_ID
.
Verificar el registro de auditoría
Las acciones de los usuarios en Google SecOps y las solicitudes a la API de Chronicle se registran como registros de auditoría de Cloud. Para comprobar que se están escribiendo registros, sigue estos pasos:
- Inicia sesión en Google SecOps como usuario con privilegios para acceder a cualquier función. Consulta más información en el artículo Iniciar sesión en Google SecOps.
- Realizar una acción, como una búsqueda.
- En la consola, usa el Explorador de registros para ver los registros de auditoría del proyecto de Cloud vinculado a Google SecOps. Google Cloud Los registros de auditoría de Google SecOps tienen el siguiente nombre de servicio:
chronicle.googleapis.com
.
Para obtener más información sobre cómo ver los registros de auditoría de Cloud, consulta el artículo Registros de auditoría de Google SecOps.
A continuación, se muestra un ejemplo de registro escrito cuando el usuario alice@example.com
ha visto la lista de extensiones del analizador en Google SecOps.
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"authenticationInfo": {
"principalEmail": "alice@example.com"
},
"requestMetadata": {
"callerIp": "private",
"callerSuppliedUserAgent": "abc_client",
"requestAttributes": {
"time": "2023-03-27T21:09:43.897772385Z",
"reason": "8uSywAYeWhxBRiBhdXRoIFVwVGljay0-REFUIGV4Y2abcdef",
"auth": {}
},
"destinationAttributes": {}
},
"serviceName": "chronicle.googleapis.com",
"methodName": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"authorizationInfo": [
{
"resource": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"permission": "chronicle.parserExtensions.list",
"granted": true,
"resourceAttributes": {}
}
],
"resourceName": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-",
"numResponseItems": "12",
"request": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsRequest",
"parent": "projects/100000000000/locations/us/instances/aaaa0aa0-000A-00a0-0000-0000a0aa0a1/logTypes/-"
},
"response": {
"@type": "type.googleapis.com/google.cloud.chronicle.v1main.ListParserExtensionsResponse"
}
},
"insertId": "1h0b0e0a0",
"resource": {
"type": "audited_resource",
"labels": {
"project_id": "dev-sys-server001",
"method": "google.cloud.chronicle.v1main.ParserService.ListParserExtensions",
"service": "chronicle.googleapis.com"
}
},
"timestamp": "2023-03-27T21:09:43.744940164Z",
"severity": "INFO",
"logName": "projects/dev-sys-server001/logs/cloudaudit.googleapis.com%2Fdata_access",
"receiveTimestamp": "2023-03-27T21:09:44.863100753Z"
}
Migrar Google SecOps para que incluya RBAC para el control de acceso a funciones
Usa la información de estas secciones para migrar una instancia de SIEM de Google Security Operations del sistema RBAC antiguo al RBAC de funciones.
Después de migrar al control de acceso basado en roles de funciones, también puedes auditar la actividad en la instancia de Google SecOps mediante Cloud Audit Logs.
Diferencias entre el control de acceso basado en roles antiguo y el control de acceso basado en roles de funciones
Aunque los nombres de los roles predefinidos de RBAC de funciones son similares a los de los roles de RBAC antiguos, los roles predefinidos de RBAC de funciones no proporcionan el mismo acceso a las funciones que los roles de RBAC antiguos. Los permisos asignados a cada rol RBAC de función predefinido son ligeramente diferentes. Para obtener más información, consulta Cómo se asignan los roles de gestión de identidades y accesos de RBAC de funciones a los roles de RBAC antiguos.
Puedes usar los roles predefinidos de Google SecOps tal cual, cambiar los permisos definidos en cada rol predefinido o crear roles personalizados y asignar un conjunto de permisos diferente.
Después de migrar la instancia de Google SecOps, puedes gestionar los roles, los permisos y las políticas de RBAC de las funciones mediante IAM en la consola de Google Cloud . Se han modificado las siguientes páginas de la aplicación Google SecOps para dirigir a los usuarios a la Google Cloud consola:
- Usuarios y grupos
- Roles
En el control de acceso basado en roles antiguo, cada permiso se describe mediante el nombre de la función y una acción. Los permisos de gestión de identidades y accesos en el control de acceso basado en roles de las funciones se describen mediante el nombre del recurso y el método. En la siguiente tabla se ilustra la diferencia con dos ejemplos, uno relacionado con los paneles de control y el otro con los feeds.
Ejemplo de panel de control: para controlar el acceso a los paneles de control, el RBAC antiguo proporciona cinco acciones que puedes realizar en los paneles de control. El control de acceso basado en roles de funciones proporciona permisos de gestión de identidades y accesos similares con un permiso adicional,
dashboards.list
, que permite a un usuario enumerar los paneles de control disponibles.Ejemplo de feeds: para controlar el acceso a los feeds, el antiguo control de acceso basado en roles ofrece siete acciones que puede habilitar o inhabilitar. Con la función de control de acceso basado en roles, hay cuatro:
feeds.delete
,feeds.create
,feeds.update
yfeeds.view
.
Función | Permiso en el control de acceso basado en roles antiguo | Permiso de gestión de identidades y accesos en RBAC de funciones | Descripción de la acción del usuario |
---|---|---|---|
Paneles de control | Editar | chronicle.dashboards.edit |
Editar paneles de control |
Paneles de control | Copiar | chronicle.dashboards.copy |
Copiar paneles |
Paneles de control | Crear | chronicle.dashboards.create |
Crear paneles de control |
Paneles de control | Programar | chronicle.dashboards.schedule |
Programar informes |
Paneles de control | Eliminar | chronicle.dashboards.delete |
Eliminar informes |
Paneles de control | Ninguno Esta opción solo está disponible en el control de acceso basado en roles de funciones. | chronicle.dashboards.list |
Mostrar los paneles disponibles |
Feeds | DeleteFeed | chronicle.feeds.delete |
Eliminar un feed. |
Feeds | CreateFeed | chronicle.feeds.create |
Crea un feed. |
Feeds | UpdateFeed | chronicle.feeds.update |
Actualiza un feed. |
Feeds | EnableFeed | chronicle.feeds.update |
Actualiza un feed. |
Feeds | DisableFeed | chronicle.feeds.update |
Actualiza un feed. |
Feeds | ListFeeds | chronicle.feeds.view |
Devuelve uno o varios feeds. |
Feeds | GetFeed | chronicle.feeds.view |
Devuelve uno o varios feeds. |
Pasos para migrar permisos de control de acceso
Después de completar los pasos para migrar una instancia de Google SecOps, también puedes migrar la configuración de control de acceso a funciones.
Google SecOps proporciona comandos generados automáticamente que crean políticas de IAM de RBAC de funciones nuevas equivalentes a tu RBAC antiguo, que se configura en Google SecOps, en la página Configuración de SIEM > Usuarios y grupos.
Asegúrate de que tienes los permisos necesarios que se describen en Configurar un proyecto de Google Cloud Google SecOps y, a continuación, sigue los pasos que se indican en Migrar permisos y roles a gestión de identidades y accesos.
Cómo se asignan los roles de gestión de identidades y accesos de RBAC de las funciones a los roles de RBAC antiguos
La información de asignación de esta sección muestra algunas de las diferencias en el acceso de los roles predefinidos antes y después de la migración. Aunque los nombres de los roles de RBAC antiguos son similares a los roles predefinidos de gestión de identidades y accesos de RBAC de funciones, las acciones a las que proporciona acceso cada uno son diferentes. En esta sección se ofrece una introducción a algunas de estas diferencias.
Visor limitado de la API Chronicle
Este rol concede acceso de solo lectura a los recursos de la aplicación y la API de Google SecOps, excepto a las reglas del motor de detección y a las búsquedas retroactivas. El nombre del rol es chronicle.limitedViewer
.
Para ver una lista detallada de los permisos, consulta Chronicle API Viewer.
Visor de la API Chronicle
Este rol proporciona acceso de solo lectura a los recursos de la aplicación y la API de Google SecOps. El nombre del rol es chronicle.viewer
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles de control de acceso basado en roles antiguos y los de control de acceso basado en roles de funciones. Para ver una lista detallada de los permisos, consulta Chronicle API Viewer.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.get |
Viewer |
chronicle.ruleDeployments.list |
Viewer |
chronicle.rules.verifyRuleText |
Viewer |
chronicle.rules.get |
Viewer |
chronicle.rules.list |
Viewer |
chronicle.legacies.legacyGetRuleCounts |
Viewer |
chronicle.legacies.legacyGetRulesTrends |
Viewer |
chronicle.rules.listRevisions |
Viewer |
chronicle.legacies.legacyGetCuratedRulesTrends |
Viewer |
chronicle.ruleExecutionErrors.list |
Viewer |
chronicle.curatedRuleSets.get |
Viewer |
chronicle.curatedRuleSetDeployments.get |
Viewer |
chronicle.curatedRuleSets.list |
Viewer |
chronicle.curatedRuleSetDeployments.list |
Viewer |
chronicle.curatedRuleSetCategories.get |
Viewer |
chronicle.curatedRuleSetCategories.list |
Viewer |
chronicle.curatedRuleSetCategories.countAllCuratedRuleSetDetections |
Viewer |
chronicle.curatedRuleSets.countCuratedRuleSetDetections |
Viewer |
chronicle.curatedRules.get |
Viewer |
chronicle.curatedRules.list |
Viewer |
chronicle.referenceLists.list |
Viewer |
chronicle.referenceLists.get |
Viewer |
chronicle.referenceLists.verifyReferenceList |
Viewer |
chronicle.retrohunts.get |
Viewer |
chronicle.retrohunts.list |
Viewer |
chronicle.dashboards.schedule |
Editor |
chronicle.operations.get |
None. This is available in feature RBAC only. |
chronicle.operations.list |
None. This is available in feature RBAC only. |
chronicle.operations.wait |
None. This is available in feature RBAC only. |
chronicle.instances.report |
None. This is available in feature RBAC only. |
chronicle.collectors.get |
None. This is available in feature RBAC only. |
chronicle.collectors.list |
None. This is available in feature RBAC only. |
chronicle.forwarders.generate |
None. This is available in feature RBAC only. |
chronicle.forwarders.get |
None. This is available in feature RBAC only. |
chronicle.forwarders.list |
None. This is available in feature RBAC only. |
Editor de la API Chronicle
Este rol permite a los usuarios modificar el acceso a los recursos de la aplicación y la API de Google SecOps. El nombre del rol es chronicle.editor
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles de control de acceso basado en roles antiguos y los de control de acceso basado en roles de funciones. Para ver una lista detallada de los permisos, consulta Editor de APIs de Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.ruleDeployments.update |
Editor |
chronicle.rules.update |
Editor |
chronicle.rules.create |
Editor |
chronicle.referenceLists.create |
Editor |
chronicle.referenceLists.update |
Editor |
chronicle.rules.runRetrohunt |
Editor |
chronicle.retrohunts.create |
Editor |
chronicle.curatedRuleSetDeployments.batchUpdate |
Editor |
chronicle.curatedRuleSetDeployments.update |
Editor |
chronicle.dashboards.copy |
Editor |
chronicle.dashboards.edit |
Editor |
chronicle.dashboards.create |
Editor |
chronicle.legacies.legacyUpdateFinding |
Editor |
chronicle.dashboards.delete |
Editor |
chronicle.operations.delete |
None. This is available in feature RBAC only. |
Administrador de la API de Chronicle
Este rol proporciona acceso completo a la aplicación Google SecOps y a los servicios de la API, incluida la configuración global. El nombre del rol es chronicle.admin
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles de control de acceso basado en roles antiguos y los de control de acceso basado en roles de funciones. Para ver una lista detallada de los permisos, consulta Administrador de la API Chronicle.
Feature RBAC IAM permission | Equivalent permission is mapped to this legacy RBAC role |
---|---|
chronicle.parserExtensions.delete |
Admin |
chronicle.parsers.copyPrebuiltParser |
Admin |
chronicle.extensionValidationReports.get |
Admin |
chronicle.extensionValidationReports.list |
Admin |
chronicle.validationErrors.list |
Admin |
chronicle.parsers.runParser |
Admin |
chronicle.parserExtensions.get |
Admin |
chronicle.parserExtensions.list |
Admin |
chronicle.validationReports.get |
Admin |
chronicle.parserExtensions.create |
Admin |
chronicle.parserExtensions.removeSyslog |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parserExtensions.activate |
Admin |
chronicle.parsers.activateReleaseCandidate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parsers.deactivate |
Admin |
chronicle.parserExtensions.generateKeyValuechronicle.Mappings |
Admin |
chronicle.parserExtensions.legacySubmitParserExtension |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.activate |
Admin |
chronicle.parsers.list |
Admin |
chronicle.parsers.create |
Admin |
chronicle.parsers.delete |
Admin |
chronicle.feeds.delete |
Admin |
chronicle.feeds.create |
Admin |
chronicle.feeds.update |
Admin |
chronicle.feeds.enable |
Admin |
chronicle.feeds.disable |
Admin |
chronicle.feeds.list |
Admin |
chronicle.feeds.get |
Admin |
chronicle.feedSourceTypeSchemas.list |
Admin |
chronicle.logTypeSchemas.list |
Admin |
chronicle.operations.cancel |
Editor |
chronicle.collectors.create |
None. This is available in feature RBAC only. |
chronicle.collectors.delete |
None. This is available in feature RBAC only. |
chronicle.collectors.update |
None. This is available in feature RBAC only. |
chronicle.forwarders.create |
None. This is available in feature RBAC only. |
chronicle.forwarders.delete |
None. This is available in feature RBAC only. |
chronicle.forwarders.update |
None. This is available in feature RBAC only. |
chronicle.parsingErrors.list |
None. This is available in feature RBAC only. |
¿Necesitas más ayuda? Recibe respuestas de los miembros de la comunidad y de los profesionales de Google SecOps.