Configura el control de acceso a funciones con IAM
El RBAC de funciones controla el acceso de los usuarios a funciones o funcionalidades específicas dentro de un sistema y determina a qué funciones pueden acceder los usuarios según sus roles. En esta página, se describe cómo puedes configurar el control de acceso a las funciones en Google Security Operations.
En este documento, el término RBAC heredado se usa para hacer referencia al sistema de control de acceso disponible anteriormente que se configura con Google SecOps y no con Identity and Access Management (IAM). El RBAC de funciones se usa para describir el control de acceso basado en funciones que configuras con IAM.
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 IAM que vinculen a los usuarios o grupos con roles predefinidos, o bien pueden crear roles personalizados de IAM. Esta función no controla el acceso a registros o campos específicos 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 funciones de los roles de RBAC heredados.
- Proporciona los pasos para migrar una instancia de Google SecOps al RBAC de funciones.
- Proporciona ejemplos de cómo asignar permisos con IAM.
- Resume los permisos y los roles predefinidos disponibles en IAM.
Para obtener una lista de los permisos de Google SecOps que se usan con frecuencia y los registros de auditoría que producen, consulta Permisos y métodos de API por grupo de recursos. Para obtener una lista de todos los permisos de Google SecOps, consulta la referencia de permisos de Identity and Access Management.
Cada permiso de Google SecOps está asociado con un recurso y un método de la API de Chronicle. Cuando se otorga un permiso a un usuario o grupo, este puede acceder a la función en Google SecOps y enviar una solicitud con el método de la API relacionado.
Cómo se integra Google SecOps con IAM
Para usar IAM, Google SecOps debe estar vinculado a un proyecto Google Cloudy configurado con Cloud Identity, Google Workspace o Google Cloud federación de identidades de personal como intermediario en el flujo de autenticación a un proveedor de identidad externo. Para obtener información sobre el flujo de autenticación de terceros, consulta Integra Google SecOps con un proveedor de identidad externo.
Google SecOps realiza los siguientes pasos para verificar y controlar el acceso a las funciones:
- Después de acceder a Google SecOps, el usuario accede a una página de la aplicación de Google SecOps. Como alternativa, el usuario puede enviar una solicitud a la API de Google SecOps.
- Google SecOps verifica los permisos otorgados en las políticas de IAM definidas para ese usuario.
- IAM devuelve la información de autorización. Si el usuario accedió a una página de la aplicación, Google SecOps habilita el acceso solo a las funciones a las que se le otorgó acceso al usuario.
- Si el usuario envió 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 muestra una respuesta estándar.
Google SecOps proporciona un conjunto de roles predefinidos con un conjunto definido de permisos que controlan si un usuario puede acceder a la función. La única política de IAM controla el acceso a la función a través de la interfaz web y la API.
Si hay otros Google Cloud servicios en el Google Cloud proyecto vinculados a Google SecOps y deseas limitar a un usuario con el rol de administrador de IAM del proyecto para que solo modifique los recursos de Google SecOps, asegúrate de agregar condiciones de IAM a la política de permisos. Consulta Cómo asignar roles a usuarios y grupos para ver un ejemplo de cómo hacerlo.
Los administradores adaptan el acceso a las funciones de Google SecOps según el rol de un empleado en tu organización.
Antes de comenzar
- Asegúrate de conocer Cloud Shell, el comando de la CLI de gcloud y la consola de Google Cloud .
- Familiarízate con IAM, incluidos los siguientes conceptos:
- Descripción general de IAM
- Descripción general de los roles y permisos, los roles predefinidos en comparación con los roles personalizados y la creación de roles personalizados
- Condiciones de IAM
- Realiza todos los pasos en Vincula Google SecOps a un proyecto para configurar un proyecto que se vincule a Google SecOps. Google Cloud
- Configura tu proveedor de identidad con una de las siguientes opciones:
- Configura un Google Cloud proveedor de identidad
- Realiza todos los pasos que se indican en Integra Google SecOps con un proveedor de identidad externo para configurar la autenticación a través de un proveedor de identidad (IdP) externo.
- Vincula un proyecto a tu instancia de Google SecOps y configura el proveedor de identidad.
- Asegúrate de tener los permisos para realizar los pasos de este documento. Para obtener información sobre los permisos necesarios para cada fase del proceso de incorporación, consulta Roles obligatorios.
Planifica tu implementación
Crea políticas de IAM que admitan 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 en función de 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 IAM que difieran de los roles predefinidos de Google SecOps, crea roles personalizados para satisfacer estos requisitos. Para obtener información sobre los roles personalizados de IAM, consulta Crea y administra roles personalizados.
Resumen de los roles y permisos de Google SecOps
En las siguientes secciones, se proporciona un resumen de alto nivel de los roles predefinidos.
La lista más actualizada de permisos de Google SecOps se encuentra en la referencia de permisos de IAM. En la sección Search for a permission, 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 IAM. 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 que se registra 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 IAM | Título | Descripción |
---|---|---|
roles/chronicle.admin |
Administrador de la API de Chronicle | Acceso completo a los servicios de la API y la aplicación de Google SecOps, incluida la configuración global. |
roles/chronicle.editor |
Editor de la API de Chronicle | Modifica el acceso a los recursos de la API y la aplicación de Google SecOps. |
roles/chronicle.viewer |
Visualizador de API de Chronicle | Acceso de solo lectura a los recursos de la API y la aplicación de Google SecOps |
roles/chronicle.limitedViewer |
Visualizador limitado de la API de Chronicle | Otorga acceso de solo lectura a los recursos de la API y la aplicación de Google SecOps, excepto las reglas del motor de detección y RetroHunt. |
Permisos de Google SecOps en IAM
Los permisos de Google SecOps 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 cuando se usa la aplicación web o la API. Las APIs de Google SecOps que se usan con IAM se encuentran en la etapa de lanzamiento alfa.
Los nombres de los permisos de Google SecOps siguen el formato SERVICE.FEATURE.ACTION
.
Por ejemplo, el nombre de permiso chronicle.dashboards.edit
consta de lo siguiente:
chronicle
: Es el nombre del servicio de la API de Chronicle.dashboards
: Es el nombre de la función.edit
: Es la acción que se puede realizar en el atributo.
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
.
Asigna roles a usuarios y grupos
En las siguientes secciones, se proporcionan ejemplos de casos de uso para crear políticas de IAM. El término <project>
se usa para representar el ID del proyecto que vinculaste a Google SecOps.
Después de habilitar la API de Chronicle, los roles y permisos predefinidos de Google SecOps estarán disponibles en IAM, y podrás crear políticas para satisfacer los requisitos de la organización.
Si tienes una instancia de SecOps de Google recién creada, comienza a crear políticas de IAM para cumplir con los requisitos de la organización.
Si se trata de una instancia existente de Google SecOps, consulta Migra Google SecOps a IAM para controlar el acceso a las funciones para obtener información sobre cómo migrar la instancia a IAM.
Ejemplo: Asigna el rol de administrador de IAM del proyecto en un proyecto dedicado
En este ejemplo, el proyecto está dedicado a tu instancia de Google SecOps. Otorgas el rol de Administrador de IAM del proyecto a un usuario para que pueda otorgar y modificar las vinculaciones de roles de IAM del proyecto. El usuario puede administrar todos los roles y permisos de Google SecOps en el proyecto, y realizar las tareas que otorga el rol de Administrador de IAM del proyecto.
Asigna el rol con la Google Cloud consola
En los siguientes pasos, se describe cómo otorgar un rol a un usuario con la consola de Google Cloud .
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Aparecerá el cuadro de diálogo Grant Access to
<project>
. - En la sección Agregar principales, ingresa la dirección de correo electrónico de la cuenta administrada en el campo Principales nuevas.
- En la sección Asignar roles, en el menú Seleccionar un rol, selecciona el rol Administrador de IAM del proyecto.
- Haz clic en Guardar.
- Abre la página IAM > Permisos para verificar que se le haya otorgado el rol correcto al usuario.
Asigna el rol con Google Cloud CLI
En el siguiente ejemplo de comando, se muestra cómo otorgar a un usuario el rol de chronicle.admin
cuando se usa la federación de identidades de personal.
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
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de personal creado para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
En el siguiente ejemplo de comando, se muestra cómo otorgar a un grupo el rol de chronicle.admin
cuando se usa Cloud Identity o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member "user:USER_EMAIL" \
--role=roles/chronicle.admin
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.USER_EMAIL
: la dirección de correo electrónico del usuario.
Ejemplo: Asigna el rol de administrador de IAM del 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 propósito.
En este caso, puedes otorgar el rol de Administrador de IAM del proyecto a un usuario para que pueda otorgar y modificar las vinculaciones de roles de IAM del proyecto, y configurar Google SecOps. También agregarás IAM al vínculo de rol para limitar su acceso solo a los roles relacionados con Google SecOps en el proyecto. Este usuario solo puede otorgar los roles especificados en la condición de IAM.
Para obtener más información sobre las condiciones de IAM, consulta Descripción general de las Condiciones de IAM y Administra las vinculaciones de roles condicionales.
Asigna el rol con la Google Cloud consola
En los siguientes pasos, se describe cómo otorgar un rol a un usuario con la consola de Google Cloud .
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Aparecerá el cuadro de diálogo Grant Access to
<project>
. - En el diálogo Grant Access to
<project>
, en la sección Add Principals, ingresa la dirección de correo electrónico del usuario en el campo New Principals. - En la sección Asignar roles, en el menú Seleccionar un rol, selecciona el rol de Administrador de IAM del proyecto.
- Haz clic en + Agregar condición de IAM.
- En el diálogo Agregar condición, ingresa la siguiente información:
- Ingresa un título para la condición.
- Selecciona el Editor de condiciones.
- Ingresa 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])
- Haz clic en Guardar en el cuadro de diálogo Agregar condición.
- Haz clic en Guardar en el diálogo Grant Access to
<project>
. - Abre la página IAM > Permisos para verificar que se le haya otorgado el rol correcto al usuario.
Asigna el rol con Google Cloud CLI
En el siguiente ejemplo de comando, se muestra cómo otorgar a un usuario el rol chronicle.admin
y aplicar condiciones de IAM cuando se usa la federación de identidad de personal.
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'
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de personal creado para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
En el siguiente ejemplo de comando, se muestra cómo otorgar a un grupo el rol de chronicle.admin
y aplicar condiciones de IAM cuando se usa 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'
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.USER_EMAIL
: La dirección de correo electrónico del usuario, comobob@example.com
.
Ejemplo: Asigna el rol de editor de la API de Chronicle a un usuario
En esta situación, quieres darle a un usuario la capacidad de modificar el acceso a los recursos de la API de Chronicle.
Asigna el rol con la Google Cloud consola
- Abre la Google Cloud consola.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Se abrirá el diálogo Grant Access to
<project>
. - En la sección Agregar principales, en el campo Principales nuevas, ingresa la dirección de correo electrónico del usuario.
- En la sección Asignar roles, en el menú Seleccionar un rol, selecciona el rol Editor de la API de Chronicle.
- Haz clic en Guardar en el diálogo Grant Access to
<project>
. - Abre la página IAM > Permisos para verificar que se le haya otorgado el rol correcto al usuario.
Asigna el rol con Google Cloud CLI
En el siguiente ejemplo de comando, se muestra cómo otorgar a un usuario el rol de chronicle.editor
cuando se usa la federación de identidad de la fuerza laboral.
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
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de personal creado para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.En el siguiente ejemplo de comando, se muestra cómo otorgar a un usuario el rol de
chronicle.editor
cuando se usa Cloud Identity o Google Workspace.
gcloud projects add-iam-policy-binding PROJECT_ID \
--member=user:USER_EMAIL \
--role=roles/chronicle.editor
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de personal creado para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
Ejemplo: Crea y asigna un rol personalizado a un grupo
Si los roles predefinidos de Google SecOps no proporcionan el grupo de permisos que satisfacen el caso de uso 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 Crea y administra roles personalizados.
Los siguientes pasos te permiten crear un rol personalizado llamado LimitedAdmin
.
Crea un archivo YAML o JSON que defina el rol personalizado, llamado
LimitedAdmin
, y los permisos otorgados a este rol. El siguiente es un ejemplo de un archivo YAML.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. En el siguiente ejemplo de comando de gcloud CLI, se muestra cómo crear este rol personalizado con el archivo YAML que creaste en el paso anterior.
gcloud iam roles create ROLE_NAME \ --project=PROJECT_ID \ --file=YAML_FILE_NAME
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.YAML_FILE_NAME
: Es el nombre del archivo que creaste en el paso anterior.ROLE_NAME
: Es el nombre del rol personalizado tal como se define en el archivo YAML.
Asigna el rol personalizado con Google Cloud CLI.
En el siguiente ejemplo de comando, se muestra cómo otorgar a un grupo de usuarios el rol personalizado
limitedAdmin
cuando se usa la federación de identidades de personal.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
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de Workforce creado para tu proveedor de identidad.GROUP_ID
: Es el identificador del grupo creado en la federación de identidades de personal. Consulta Representa a los usuarios del grupo de personal en políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidad de personal. Consulta Representa a los usuarios del grupo de personal en políticas de IAM para obtener información sobreGROUP_ID
.
En el siguiente ejemplo de comando, se muestra cómo otorgar a un grupo de usuarios el rol personalizado
limitedAdmin
cuando se usa Cloud Identity o .gcloud projects add-iam-policy-binding PROJECT_ID \ --member=groupid:GROUP_ID \ --role=projects/PROJECT_ID/roles/limitedAdmin
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps al proyecto Google Cloud . Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.WORKFORCE_POOL_ID
: Es el identificador del grupo de Workforce creado para tu proveedor de identidad.GROUP_ID
: Es el identificador del grupo creado en la federación de identidades de personal. Consulta Representa a los usuarios del grupo de personal en políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidad de personal. Consulta Representa a los usuarios del grupo de personal en políticas de IAM para obtener información sobreGROUP_ID
.
Verifica el registro de auditoría
Las acciones del usuario en Google SecOps y las solicitudes a la API de Chronicle se registran como registros de auditoría de Cloud. Para verificar que se escriban los registros, realiza los siguientes pasos:
- Accede a Google SecOps como un usuario con privilegios para acceder a cualquier función. Consulta Cómo acceder a Google SecOps para obtener más información.
- Realizar una acción, como una búsqueda
- En la Google Cloud consola, usa el Explorador de registros para ver los registros de auditoría en el proyecto de Cloud vinculado a Google SecOps. 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 la información de registro de auditoría de SecOps de Google.
A continuación, se muestra un ejemplo de registro escrito cuando el usuario alice@example.com
vio 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"
}
Migra Google SecOps para incluir RBAC de funciones para el control de acceso a funciones
Usa la información de estas secciones para migrar una instancia existente del SIEM de Google Security Operations del sistema RBAC heredado al RBAC basado en funciones.
Después de migrar al RBAC de funciones, también puedes auditar la actividad en la instancia de Google SecOps con los Registros de auditoría de Cloud.
Diferencias entre el RBAC heredado y el RBAC de funciones
Si bien los nombres de los roles predefinidos del RBAC de funciones son similares a los roles del RBAC heredado, los roles predefinidos del RBAC de funciones no proporcionan el mismo acceso a las funciones que los roles del RBAC heredado. Los permisos asignados a cada rol RBAC de función predefinida son ligeramente diferentes. Para obtener más información, consulta Cómo se asignan los roles de IAM de RBAC de funciones a los roles de RBAC heredados.
Puedes usar los roles predefinidos de Google SecOps tal como están, cambiar los permisos definidos en cada rol predefinido o crear roles personalizados y asignar un conjunto diferente de permisos.
Después de migrar la instancia de Google SecOps, puedes administrar los roles, los permisos y las políticas de RBAC de funciones con IAM en la consola de Google Cloud . Se modificaron las siguientes páginas de la aplicación de Google SecOps para dirigir a los usuarios a la consola de Google Cloud :
- Usuarios y grupos
- Funciones
En el RBAC heredado, cada permiso se describe con el nombre de la función y una acción. Los permisos de IAM en el RBAC de funciones se describen por el nombre del recurso y el método. En la siguiente tabla, se ilustra la diferencia con dos ejemplos, uno relacionado con los paneles y el segundo con los feeds.
Ejemplo de panel: Para controlar el acceso a los paneles, el RBAC heredado proporciona cinco acciones que puedes realizar en los paneles. El RBAC de funciones proporciona permisos de IAM similares con un permiso adicional,
dashboards.list
, que permite a un usuario enumerar los paneles disponibles.Ejemplo de Feeds: Para controlar el acceso a Feeds, el RBAC heredado proporciona siete acciones que puedes habilitar o inhabilitar. Con el RBAC de funciones, hay cuatro:
feeds.delete
,feeds.create
,feeds.update
yfeeds.view
.
Función | Permisos en el RBAC heredado | Permiso de IAM en el RBAC de funciones | Descripción de la acción del usuario |
---|---|---|---|
Paneles | Editar | chronicle.dashboards.edit |
Edita paneles |
Paneles | Copiar | chronicle.dashboards.copy |
Cómo copiar paneles |
Paneles | Crear | chronicle.dashboards.create |
Crea paneles |
Paneles | Programar | chronicle.dashboards.schedule |
Cómo programar informes |
Paneles | Borrar | chronicle.dashboards.delete |
Borrar informes |
Paneles | Ninguno Esta opción solo está disponible en el RBAC de funciones. | chronicle.dashboards.list |
Enumera los paneles disponibles |
Feeds | DeleteFeed | chronicle.feeds.delete |
Borra 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 más feeds. |
Feeds | GetFeed | chronicle.feeds.view |
Devuelve uno o más feeds. |
Pasos para migrar los permisos de control de acceso existentes
Después de completar los pasos para migrar una instancia existente de Google SecOps, también puedes migrar la configuración del control de acceso a las funciones.
Google SecOps proporciona comandos generados automáticamente que crean políticas de IAM de RBAC de funciones nuevas equivalentes a tu RBAC heredado, que se configura en Google SecOps, en la página Configuración del SIEM > Usuarios y grupos.
Asegúrate de tener los permisos necesarios que se describen en Configura un proyecto de Google Cloud para Google SecOps y, luego, sigue los pasos que se indican en Migra los permisos y roles existentes a IAM.
Cómo se asignan los roles de IAM de RBAC de funciones a los roles de RBAC heredados
La información de asignación de esta sección ilustra algunas de las diferencias en el acceso para los roles predefinidos antes y después de la migración. Si bien los nombres de los roles de RBAC heredados son similares a los roles predefinidos de IAM de RBAC de funciones, las acciones a las que cada uno proporciona acceso son diferentes. En esta sección, se proporciona una introducción a algunas de estas diferencias.
Visualizador limitado de la API de Chronicle
Este rol otorga acceso de solo lectura a los recursos de la API y la aplicación de Google SecOps, excepto las reglas del motor de detección y RetroHunt. El nombre del rol es chronicle.limitedViewer
.
Para obtener una lista detallada de los permisos, consulta Chronicle API Viewer.
Visualizador de API de Chronicle
Este rol proporciona acceso de solo lectura a los recursos de la API y la aplicación de Google SecOps. El nombre del rol es chronicle.viewer
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles similares de RBAC heredado y RBAC de funciones. Para obtener una lista detallada de los permisos, consulta el Visor de la API de Chronicle.
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 de Chronicle
Este rol permite a los usuarios modificar el acceso a los recursos de la API y la aplicación de Google SecOps. El nombre del rol es chronicle.editor
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles similares de RBAC heredado y RBAC de funciones. Para obtener una lista detallada de los permisos, consulta Editor de la API 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 los servicios de la API y la aplicación de Google SecOps, incluida la configuración global. El nombre del rol es chronicle.admin
.
Los siguientes permisos ilustran algunas de las diferencias entre los roles similares de RBAC heredado y RBAC de funciones. Para obtener una lista detallada de los permisos, consulta Administrador de la API de 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? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.