Configura el control de acceso a las funciones con la IAM
Google Security Operations se integra a la Identity and Access Management (IAM) de Google Cloud 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 a roles predefinidos, o bien pueden crear roles de IAM personalizados. Esta función no controla el acceso a campos o registros específicos de la AUA.
En este documento, se hace lo siguiente:
- Describe cómo se integra Google SecOps a la 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 IAM.
- Resume los permisos y roles predefinidos disponibles en IAM.
Para ver una lista de los permisos de Google SecOps de uso general y la y los registros que producen, consulta Permisos y métodos de la API por grupo de recursos. Para obtener una lista de todos los permisos de SecOps de Google, consulta la referencia de permisos de Identity and Access Management.
Es posible que estés en proceso de migrar tus instancias de Google SecOps desde la implementación original del RBAC de funciones. En este documento, se usa el nombre RBAC de funciones 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 atributos que configuras con IAM.
Cada permiso de Google SecOps está asociado con una API de Google SecOps. recurso y método. Cuando se le 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 la IAM, Google SecOps debe estar vinculado 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 a un proveedor de identidad externo. Para obtener información sobre la autenticación de terceros consulta Integra Google SecOps con un proveedor de identidad de terceros.
El equipo de SecOps de Google realiza los siguientes pasos para verificar y controlar el acceso a las funciones:
- Luego de acceder a Google SecOps, un usuario accede a un servicio de página de la aplicación. Como alternativa, el usuario puede enviar una solicitud a la API a Google SecOps.
- Google SecOps verifica los permisos otorgados en la IAM políticas definidas para ese usuario.
- IAM muestra 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.
- 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 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 personalizan el acceso a las funciones de Google SecOps según la solicitud 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 roles y permisos, roles predefinidos frente a los roles personalizados y la creación de roles personalizados.
- 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 Cómo integrar 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 para realizar los pasos de 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 los requisitos de implementació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 deberían 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 admitir estos requisitos. Para obtener información sobre de IAM personalizados, 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 reciente de los permisos de SecOps de Google 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
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, en la las páginas en las que se usan los permisos y la información que se encuentra 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 completo a los servicios de API y de la aplicación de Google Security Operations, 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 los recursos de la API y la aplicación de Google Security Operations, 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 Google SecOps. Cada permiso de Google SecOps habilita una acción específica en un 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 Alpha.
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:
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 la función.
El nombre del permiso describe la acción que puedes realizar en la función en
SecOps de Google. 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 respaldar los requisitos de la organización.
Si tienes una instancia de Google SecOps creada recientemente, comienza a crear políticas de IAM para cumplir con los requisitos de la organización.
Si esta es una instancia existente de Google SecOps, consulta Cómo migrar Google SecOps a IAM para el control de acceso a 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 exclusivo
En este ejemplo, el proyecto está dedicado a tu instancia de Google SecOps. Otorgas al Administrador de IAM del proyecto rol de IAM a un usuario para que pueda otorgar y modificar el rol de IAM del proyecto y vinculaciones de IAM. 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 de proyectos.
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 Administrador.
- 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 se le haya otorgado al usuario el rol correcto.
Asigna el rol con Google Cloud CLI
En el siguiente comando de ejemplo, se muestra cómo otorgarle a un usuario el rol chronicle.admin
cuando se usa la integración de identidades 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.admin
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto vinculado a Google SecOps que creaste en Cómo vincular 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 el rol chronicle.admin
a un grupo
cuando uses 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. proyecto 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 de administrador de IAM del proyecto en un proyecto compartido
En este ejemplo, el proyecto se usa para varias aplicaciones. Está vinculado 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 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 roles de IAM a la vinculación de roles para limitar su acceso solo a 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 roles 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 Administrador.
- 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, elige el 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 pestaña IAM > Permisos para verificar que el usuario tenga el rol correcto.
Asigna el rol con Google Cloud CLI.
En el siguiente comando de ejemplo, se muestra cómo otorgar chronicle.admin
a un usuario
y aplicar condiciones de IAM cuando se use 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
: El ID del proyecto vinculado a Google SecOps que creaste en Cómo vincular 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 de la fuerza de trabajo. 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 otorgarle a un grupo el rol 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. proyecto 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 darle a un usuario la capacidad de modificar 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 Administrador.
- 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 pestaña IAM > Permisos para verificar que el usuario tenga el rol correcto.
Asigna el rol con Google Cloud CLI
En el siguiente comando de ejemplo, se muestra cómo otorgarle a un usuario el rol 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
: El ID del proyecto vinculado a Google SecOps que creaste en Cómo vincular 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 la función
chronicle.editor
a un usuario cuando uses 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. proyecto 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 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. Tú asignas 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 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. El siguiente comando de ejemplo de gcloud CLI demuestra cómo crear este rol personalizado con el archivo YAML que creaste en del 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. proyecto 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 del rol personalizado 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 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
: El ID del proyecto vinculado a Google SecOps que creaste en Cómo vincular 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 Workforce creado para tu proveedor de identidad.GROUP_ID
: Es el identificador de grupo creado en la federación de identidades de personal. Consulta Representa a los usuarios del grupo de personal 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 a los usuarios del grupo de trabajadores en las políticas de IAM para obtener más información. acerca de laGROUP_ID
.
En el siguiente comando de ejemplo, 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. proyecto 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 de grupo creado en la federación de identidades de personal. Consulta Representa a los usuarios del grupo de personal 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 a los usuarios del grupo de personal en políticas de IAM para obtener información sobreGROUP_ID
.
Verifica el registro de auditoría
Acciones de los usuarios en Google SecOps y solicitudes a la API de Google SecOps se registran como Registros de auditoría de Cloud. Para verificar que se escriban los registros, realiza sigue estos 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 realizar una búsqueda
- En la consola de Google Cloud, usa el Explorador de registros para ver los registros de auditoría en la
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 más información sobre cómo visualizar los Registros de auditoría de Cloud, consulta la información de los registros de auditoría de Google SecOps.
El siguiente es 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 a IAM para el control de acceso a funciones
Usa la información de estas secciones para migrar una SIEM existente de Google Security Operations del control de acceso basado en atributos 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 Registros de auditoría de Cloud.
Diferencias entre el RBAC de funciones y la IAM
Aunque los nombres de los roles predefinidos de IAM son similares a los grupos de RBAC de funciones, los roles predefinidos de IAM no proporcionan acceso a funciones idéntico al de los grupos de RBAC de funciones originales. Los permisos asignados a cada rol predefinido de IAM son ligeramente diferentes. Para obtener más información, consulta Cómo se asignan los permisos de IAM a cada grupo original de RBAC de funciones.
Puedes usar los roles predefinidos de Google SecOps tal como están, cambiar los permisos definidos en cada uno de ellos o crear roles personalizados y asignar un conjunto diferente de permisos.
Después de migrar la instancia de Google SecOps, administras los roles, los permisos y las políticas de IAM con la 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 RBAC de funciones, cada permiso se describe con el nombre de la función y una acción. Los permisos de IAM se describen según el nombre y el método del recurso. 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 de funciones proporciona cinco acciones que puedes realizar en los paneles. IAM proporciona permisos similares con un elemento adicional,
dashboards.list
, que permite que un usuario enumere 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 | Programar | chronicle.dashboards.schedule |
Programar informes |
Paneles | Borrar | chronicle.dashboards.delete |
Borrar informes |
Paneles | Ninguno Esta opción solo está disponible en IAM. | chronicle.dashboards.list |
Muestra 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 a las funciones.
Google SecOps proporciona comandos generados automáticamente que crean nuevas políticas de IAM equivalentes al RBAC basado en atributos anterior, que se configura en Google SecOps, en la sección 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 permisos y roles existentes a IAM.
Cómo se asignan los permisos de IAM a cada grupo de RBAC de funciones
En esta sección, se ilustran algunas de las diferencias en el acceso para roles predefinidos antes y después de la migración. Aunque el RBAC de funciones los nombres de los roles son similares a los roles predefinidos de IAM, 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 la aplicación de Google SecOps y a los recursos de la API, excepto a las reglas del motor de detección y a los retrohunts. El nombre de la función es chronicle.limitedViewer
.
Este rol es nuevo. Para obtener una lista detallada de los permisos, consulta Visor 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
.
Los siguientes permisos ilustran algunas de las diferencias entre los IAM y el grupo de RBAC de las funciones Para obtener una lista detallada de los permisos, consulta Visor 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
Este rol permite a los usuarios modificar el acceso a la aplicación y a los recursos de la API de Google SecOps. El nombre del rol es chronicle.editor
.
Los siguientes permisos ilustran algunas de las diferencias entre el grupo similar de RBAC de funciones y IAM. Para obtener una lista detallada de los permisos, consulta 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 del rol es chronicle.admin
.
Los siguientes permisos ilustran algunas de las diferencias entre el grupo similar de RBAC de funciones y IAM. 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. |