Configura el control de acceso a las funciones con la IAM
Google Security Operations se integra en la administración de identidades y accesos (IAM) de Google Cloud para proporcionar permisos y funciones predefinidas específicas de Google SecOps. Los administradores de Google SecOps pueden controlar el acceso a las funciones mediante la creación de políticas de IAM que vinculan a usuarios o grupos con roles predefinidos o pueden crear roles de IAM personalizados. Esta función no controla el acceso a registros o campos de UDM específicos en un registro de UDM.
En este documento, se hace lo siguiente:
- Describe cómo Google SecOps se integra en IAM.
- Explica en qué se diferencian los roles predefinidos de IAM de los grupos originales de RBAC de atributos.
- Proporciona pasos para migrar una instancia de Google SecOps a IAM.
- Proporciona ejemplos de cómo asignar permisos con la IAM.
- Resume los permisos y roles predefinidos disponibles en IAM.
Para ver una lista de los permisos de Google SecOps de uso general 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.
Es posible que estés en proceso de migrar instancias de Google SecOps de la implementación de RBAC de la función original. En este documento, el nombre RBAC de funciones se usa cuando se hace referencia al control de acceso basado en funciones disponible anteriormente que se configura con Google SecOps y no con IAM. IAM se usa para describir el control de acceso basado en funciones que configuras mediante IAM.
Cada permiso de Google SecOps está asociado con un recurso y método de la API de Google SecOps. Cuando se otorga un permiso a un usuario o grupo, el usuario 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 en la IAM
Para usar IAM, Google SecOps debe vincularse a un proyecto de Google Cloud y debe configurarse con Cloud Identity, Google Workspace o la federación de identidades de personal de Google Cloud como intermediario en el flujo de autenticación de un proveedor de identidad de terceros. Para obtener información sobre el flujo de autenticación de terceros, consulta Integra Google SecOps con un proveedor de identidad de terceros.
Google SecOps realiza los siguientes pasos para verificar y controlar el acceso a las funciones:
- Después de acceder a Google SecOps, un usuario accede a una página de la aplicación de Google SecOps. Como alternativa, el usuario puede enviar una solicitud a la API a Google SecOps.
- Google SecOps verifica los permisos otorgados en las políticas de IAM definidas para ese usuario.
- IAM muestra la información de autorización. Si el usuario accedió a la página de una aplicación, Google SecOps habilita el acceso solo a aquellas 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 mediante la interfaz web y la API.
Si hay otros servicios de Google Cloud en el proyecto de Google Cloud vinculados a Google SecOps y deseas limitar a un usuario con el rol de administrador de IAM del proyecto para modificar solo los recursos de Google SecOps, asegúrate de agregar condiciones de IAM a la política de permiso. Consulta Asigna funciones a usuarios y grupos para ver un ejemplo de cómo hacerlo.
Los administradores personalizan 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 estar familiarizado con Cloud Shell, el comando de gcloud CLI y la consola de Google Cloud.
- Familiarízate con IAM, incluidos los siguientes conceptos:
- Descripción general de IAM.
- Descripción general de funciones y permisos, funciones predefinidas frente a funciones personalizadas y creación de funciones personalizadas.
- Condiciones de IAM.
- Realiza todos los pasos de Vincula Google SecOps con un proyecto de Google Cloud para configurar un proyecto que se vincule a Google SecOps.
- Configura tu proveedor de identidad mediante una de las siguientes opciones:
- Configura un proveedor de identidad de Google Cloud
- Realiza todos los pasos que se indican en Integra Google SecOps con un proveedor de identidad de terceros para configurar la autenticación a través de un proveedor de identidad (IdP) de terceros.
- Vincula un proyecto a tu instancia de Google SecOps y configura el proveedor de identidad.
- Asegúrate de tener los permisos necesarios para realizar los pasos que se indican en este documento. Para obtener información sobre los permisos necesarios para cada fase del proceso de integración, consulta Roles obligatorios.
Planifica la implementación
Creas políticas de IAM que respaldan 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 la organización deben tener acceso a cada función. Si tu organización requiere políticas de IAM que difieren de las funciones predefinidas de Google SecOps, crea funciones personalizadas para admitir estos requisitos. Para obtener información sobre las funciones personalizadas de IAM, consulta Crea y administra funciones personalizadas.
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 reciente de permisos de Google SecOps se encuentra en la referencia de permisos de IAM. En la sección Buscar un permiso, busca el término chronicle
.
La lista más reciente de roles predefinidos de Google SecOps se encuentra en la referencia de roles básicos y predefinidos de IAM. En la sección Funciones predefinidas, selecciona el servicio Funciones 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 Security Operations 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 total a la aplicación de Google Security Operations y a los servicios de la API, incluida la configuración global. |
roles/chronicle.editor |
Editor de la API de Chronicle | Modificar el acceso a la aplicación y los recursos de la API de Google Security Operations. |
roles/chronicle.viewer |
Visualizador de API de Chronicle | Acceso de solo lectura a la aplicación de Google Security Operations y a los recursos de la API |
roles/chronicle.limitedViewer |
Visualizador limitado de la API de Chronicle | Otorga acceso de solo lectura a la aplicación de Google Security Operations y a los recursos de la API, excepto las reglas del motor de detección y las búsquedas retro. |
Permisos de Google SecOps en IAM
Los permisos de Google SecOps se corresponden uno a uno con los métodos de la API de Google SecOps. 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 la 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 Google SecOps.dashboards
: Es el nombre del componente.edit
: Es la acción que se puede realizar en el componente.
El nombre del permiso describe la acción que puedes realizar en la función en 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 casos de uso de ejemplo 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 admitir los requisitos de la organización.
Si tienes una instancia de Google SecOps 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 Cómo migrar Google SecOps a IAM para obtener control de acceso a las funciones.
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 la función de administrador de IAM del proyecto a un usuario para que pueda otorgar y modificar las vinculaciones de la función de IAM del proyecto. El usuario puede administrar todas las funciones y los permisos de Google SecOps en el proyecto y realizar tareas que otorga la función de administrador de IAM del proyecto.
Asigna el rol con la consola de Google Cloud
En los siguientes pasos, se describe cómo otorgar un rol a un usuario con la consola de Google Cloud.
- Abre la consola de Google Cloud.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Aparecerá la opción Otorgar acceso a
<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ú Selecciona un rol, selecciona el rol Administrador de IAM del proyecto.
- Haz clic en Guardar.
- Abre la página IAM > Permisos para verificar que al usuario se le otorgó el rol correcto.
Asigna el rol con Google Cloud CLI.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un usuario la función 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 a un proyecto de 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 trabajadores que se creó para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un grupo la función 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 a un proyecto de 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 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 a la vinculación de rol para limitar su acceso a solo los roles relacionados con Google SecOps en el proyecto. Este usuario solo puede otorgar 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 funciones condicionales.
Asigna el rol con la consola de Google Cloud
En los siguientes pasos, se describe cómo otorgar un rol a un usuario con la consola de Google Cloud.
- Abre la consola de Google Cloud.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Aparecerá la opción Otorgar acceso a
<project>
. - En el diálogo Otorgar acceso a
<project>
, en la sección Agregar principales, ingresa la dirección de correo electrónico del usuario en el campo Principales nuevas. - En la sección Asignar roles, en el menú Selecciona un rol, selecciona el rol 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 diálogo Agregar condición.
- Haz clic en Guardar en el diálogo Otorgar acceso a
<project>
. - Abre la página IAM > Permisos para verificar que al usuario se le otorgó el rol correcto.
Asigna el rol con Google Cloud CLI.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un usuario la función chronicle.admin
y aplicar condiciones de IAM 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\
--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 a un proyecto de 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 trabajadores creado para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un grupo la función 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 a un proyecto de Google Cloud. Consulta Crea y administra proyectos para obtener una descripción de los campos que identifican un proyecto.USER_EMAIL
: Es 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 permitir que un usuario modifique el acceso a los recursos de la API de Google SecOps.
Asigna el rol con la consola de Google Cloud
- Abre la consola de Google Cloud.
- Selecciona el proyecto vinculado a Google SecOps.
- Selecciona IAM y administración.
- Selecciona Otorgar acceso. Se abrirá el diálogo Otorgar acceso a
<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ú Selecciona un rol, elige el rol Editor de la API de Google SecOps.
- Haz clic en Guardar en el diálogo Otorgar acceso a
<project>
. - Abre la página IAM > Permisos para verificar que al usuario se le otorgó el rol correcto.
Asigna el rol con Google Cloud CLI.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un usuario la función chronicle.editor
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.editor
Reemplaza lo siguiente:
PROJECT_ID
: Es el ID del proyecto vinculado a Google SecOps que creaste en Vincula una instancia de Google SecOps a un proyecto de 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 trabajadores que se creó para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.En el siguiente comando de ejemplo, se muestra cómo otorgar a un usuario la función
chronicle.editor
cuando usas 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 a un proyecto de 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 trabajadores que se creó para tu proveedor de identidad.USER_EMAIL
: la dirección de correo electrónico del usuario.
Ejemplo: Crea un rol personalizado y asígnalo a un grupo
Si los roles predefinidos de Google SecOps no proporcionan el grupo de permisos que se ajustan al caso de uso de tu organización, puedes crear un rol personalizado y asignarle permisos de Google SecOps. El rol personalizado se asigna a un usuario o grupo. Para obtener más información sobre las funciones personalizadas de IAM, consulta Crea y administra funciones personalizadas.
Los siguientes pasos te permiten crear un rol personalizado llamado LimitedAdmin
.
Crea un archivo YAML o JSON que defina la función personalizada, llamada
LimitedAdmin
, y los permisos otorgados a esta función. El siguiente es un ejemplo de 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.getIamPolicy
Crea el rol personalizado. En el siguiente ejemplo de comando de gcloud CLI, se muestra cómo crear esta función personalizada 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 a un proyecto de 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 de la función personalizada como se define en el archivo YAML.
Asignar el rol personalizado con Google Cloud CLI
En el siguiente comando de ejemplo, se muestra cómo otorgar a un grupo de usuarios la función personalizada,
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 a un proyecto de 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 trabajadores que se creó 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 trabajadores en las políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidades de personal. Consulta Representa usuarios del grupo de trabajadores en las políticas de IAM para obtener información sobreGROUP_ID
.
En el siguiente comando de ejemplo, se muestra cómo otorgar a un grupo de usuarios la función personalizada,
limitedAdmin
cuando se usa Cloud Identity ogcloud 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 a un proyecto de 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 trabajadores que se creó 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 trabajadores en las políticas de IAM para obtener información sobre el identificador de grupo creado en la federación de identidades de personal. Consulta Representa usuarios del grupo de trabajadores en las políticas de IAM para obtener información sobreGROUP_ID
.
Verifica el registro de auditoría
Las acciones de los usuarios en Google SecOps y las solicitudes a la API de Google SecOps se registran como registros de auditoría de Cloud. Para verificar que se escriban los registros, sigue estos pasos:
- Ingresa a Google SecOps como un usuario con privilegios para acceder a cualquier función. Consulta Accede a Google SecOps para obtener más información.
- Realizar una acción, como realizar una búsqueda
- En la consola de Google Cloud, 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
.
Si quieres obtener más información para ver los Registros de auditoría de Cloud, consulta Información sobre el registro de auditoría de Google SecOps.
El siguiente es un registro de ejemplo escrito cuando el usuario alice@example.com
vio la lista de extensiones de analizadores 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 a IAM para el control de acceso a las funciones
Usa la información de estas secciones para migrar una instancia existente de SIEM de Google Security Operations del control de acceso basado en funciones anterior (RBAC de funciones) a IAM.
Después de migrar a IAM, también puedes auditar la actividad en la instancia de Google SecOps con los Registros de auditoría de Cloud.
Diferencias entre IAM y el RBAC de funciones
Aunque los nombres de funciones predefinidas de IAM son similares a los grupos de RBAC de funciones, las funciones predefinidas de IAM no proporcionan el mismo acceso a las funciones que los grupos originales de RBAC de funciones. Los permisos asignados a cada función de IAM predefinida son un poco diferentes. Para obtener más información, consulta Cómo se asignan los permisos de IAM a cada grupo de RBAC de atributos original.
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 IAM con IAM en la consola de Google Cloud. Las siguientes páginas de la aplicación de Google SecOps se modificaron para dirigir a los usuarios a la consola de Google Cloud:
- Usuarios y grupos
- Funciones
En RBAC de funciones, cada permiso se describe con el nombre de la función y una acción. Los permisos de IAM se describen mediante el nombre y el método del recurso. En la siguiente tabla, se ilustra la diferencia en 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 de funciones proporciona cinco acciones que puedes realizar en los paneles. IAM proporciona permisos similares con un
dashboards.list
adicional, que permite a una lista de usuarios crear una lista de los paneles disponibles.Ejemplo de feeds: Para controlar el acceso a los feeds, el RBAC de funciones proporciona siete acciones que puedes habilitar o inhabilitar. Con IAM, existen cuatro:
feeds.delete
,feeds.create
,feeds.update
yfeeds.view
.
Atributo | Permiso en RBAC de funciones | Permisos de IAM | Descripción de la acción del usuario |
---|---|---|---|
Paneles | Editar | chronicle.dashboards.edit |
Edita paneles |
Paneles | Copiar | chronicle.dashboards.copy |
Copiar paneles |
Paneles | Crear | chronicle.dashboards.create |
Crea paneles |
Paneles | Programa | chronicle.dashboards.schedule |
Programar informes |
Paneles | Borrar | chronicle.dashboards.delete |
Borrar informes |
Paneles | Ninguno Solo está disponible en IAM. | 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 |
Muestra uno o más feeds. |
Feeds | GetFeed | chronicle.feeds.view |
Muestra 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 de control de acceso de las funciones.
Google SecOps proporciona comandos generados automáticamente que crean nuevas políticas de IAM equivalentes a tu RBAC anterior basado en funciones, que se configura en Google SecOps, en la página Configuración de SIEM > Usuarios y grupos.
Asegúrate de contar con los permisos necesarios que se describen en Configura un proyecto de Google Cloud para Google SecOps y, luego, sigue los pasos en Migra permisos y roles existentes a IAM.
Cómo se asignan los permisos de IAM a cada grupo de RBAC de funciones
En la información de asignación de esta sección, se ilustran algunas de las diferencias en el acceso para funciones predefinidas antes y después de la migración. Aunque los nombres de funciones de RBAC de funciones son similares a las funciones predefinidas de IAM, las acciones a las que cada una 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 la aplicación de Google SecOps y a los recursos de la API, excluyendo las reglas del motor de detección y las cazas retro. El nombre de la función es chronicle.limitedViewer
.
Este rol es nuevo. Para obtener una lista detallada de los permisos, consulta Visualizador de la API de Chronicle.
Visualizador de API de Chronicle
Este rol proporciona acceso de solo lectura a la aplicación de Google SecOps y a los recursos de la API. El nombre de la función es chronicle.viewer
.
En los siguientes permisos, se ilustran algunas de las diferencias entre IAM y el grupo similar de RBAC de funciones. Para obtener una lista detallada de los permisos, consulta Visualizador de la API de Chronicle.
Google SecOps permission | Equivalent permission is mapped to this Feature 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 IAM only. |
chronicle.operations.list |
None. This is available in IAM only. |
chronicle.operations.wait |
None. This is available in IAM only. |
chronicle.instances.report |
None. This is available in IAM only. |
chronicle.collectors.get |
None. This is available in IAM only. |
chronicle.collectors.list |
None. This is available in IAM only. |
chronicle.forwarders.generate |
None. This is available in IAM only. |
chronicle.forwarders.get |
None. This is available in IAM only. |
chronicle.forwarders.list |
None. This is available in IAM only. |
Editor de la API de Chronicle
Esta función permite a los usuarios modificar el acceso a los recursos de la API y la aplicación de Google SecOps. El nombre de la función es chronicle.editor
.
En los siguientes permisos, se ilustran algunas de las diferencias entre IAM y el grupo similar de RBAC de funciones. Para obtener una lista detallada de los permisos, consulta el Editor de la API de Chronicle.
Google SecOps permission | Equivalent permission is mapped to this Feature 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 IAM only. |
Administrador de la API de Chronicle
Este rol proporciona acceso completo a la aplicación de Google SecOps y a los servicios de la API, incluida la configuración global. El nombre de la función es chronicle.admin
.
En los siguientes permisos, se ilustran algunas de las diferencias entre IAM y el grupo similar de RBAC de funciones. Para obtener una lista detallada de los permisos, consulta Administrador de la API de Chronicle.
Google SecOps permission | Equivalent permission is mapped to this Feature 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 IAM only. |
chronicle.collectors.delete |
None. This is available in IAM only. |
chronicle.collectors.update |
None. This is available in IAM only. |
chronicle.forwarders.create |
None. This is available in IAM only. |
chronicle.forwarders.delete |
None. This is available in IAM only. |
chronicle.forwarders.update |
None. This is available in IAM only. |
chronicle.parsingErrors.list |
None. This is available in IAM only. |