Integra IAM con Google SecOps

En este documento, se explica cómo integrar Identity and Access Management con Google Security Operations.

Casos de uso

La integración de IAM admite los siguientes casos de uso:

  • Administración automatizada del ciclo de vida de las cuentas de servicio: Crea, habilita o inhabilita automáticamente las cuentas de servicio durante los procesos de incorporación y baja para garantizar que el acceso se otorgue solo cuando sea necesario.

  • Respuesta rápida ante incidentes de identidad: Durante un incidente de seguridad, borra o inhabilita de inmediato las cuentas de servicio y los roles vulnerados para evitar el acceso no autorizado a los recursos de la nube.

  • Administración y enriquecimiento de identidades: Enriquecer las entidades de usuario en Google SecOps con metadatos detallados de la cuenta de servicio, como nombres visibles y IDs de proyectos, para proporcionar a los analistas contexto inmediato durante las investigaciones

  • Auditoría y aplicación de políticas: Recupera y audita las políticas de control de acceso para garantizar que se alineen con el principio de privilegio mínimo, y establece nuevas políticas de forma programática para corregir los cambios no autorizados.

  • Administración del control de acceso basado en roles (RBAC): Crea y administra roles personalizados de IAM con conjuntos de permisos específicos en toda tu organización para mantener un control detallado sobre el acceso al entorno de la nube.

Antes de comenzar

Antes de configurar la integración de IAM en Google SecOps, completa los siguientes pasos previos:

  1. Crea un rol personalizado de IAM: Define un rol con los permisos específicos necesarios para administrar cuentas de servicio y roles.

  2. Crea una cuenta de servicio: Crea la identidad que usa la integración para realizar acciones.

  3. Selecciona un método de autenticación: Elige entre Workload Identity recomendado o una clave JSON de cuenta de servicio.

Crea y configura un rol de IAM personalizado

Para mantener el principio de privilegio mínimo, completa los siguientes pasos para crear un rol personalizado que contenga solo los permisos específicos necesarios para esta integración:

  1. En la consola de Google Cloud , ve a IAM y administración > Roles.

    Ir a Funciones

  2. Haz clic en agregarCrear rol personalizado.

  3. Proporciona un Título, una Descripción y un ID.

  4. Establece la etapa de lanzamiento del rol en General Availability.

  5. Haz clic en Agregar permisos y agrega los siguientes permisos específicos:

    • iam.serviceAccounts.list
    • iam.serviceAccounts.create
    • iam.serviceAccounts.get
    • iam.serviceAccounts.getIamPolicy
    • iam.serviceAccounts.setIamPolicy
    • iam.serviceAccounts.disable
    • iam.serviceAccounts.enable
    • iam.serviceAccounts.delete
    • iam.roles.list
    • iam.roles.get
    • iam.roles.create
    • iam.roles.delete
  6. Haz clic en Crear.

Crea una cuenta de servicio

La integración usa una cuenta de servicio para autenticar y ejecutar acciones de IAM dentro de tu proyecto.

Para crear una cuenta de servicio, completa los siguientes pasos:

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Haz clic en addCrear cuenta de servicio.

  3. Ingresa un nombre y una descripción, y haz clic en Crear y continuar.

  4. En la sección Otorga a esta cuenta de servicio acceso al proyecto, asigna el rol personalizado que creaste en el paso anterior a esta cuenta de servicio. Haz clic en Listo.

Selecciona y configura un método de autenticación

Google SecOps admite dos rutas de autenticación para esta integración:

  • Opción 1: Workload Identity (recomendado): Este método usa tokens de corta duración con la identidad temporal como cuenta de servicio. Es más seguro, ya que elimina la necesidad de claves JSON de larga duración.

  • Opción 2: Clave JSON de cuenta de servicio: Este método usa un archivo de claves estático. Usa esta opción solo si no hay una Workload Identity disponible en tu entorno.

Autentica con Workload Identity (recomendado)

Para usar Workload Identity, debes autorizar a tu instancia de Google SecOps a suplantar la cuenta de servicio que creaste.

  1. En Google SecOps, ve a Content Hub > Integraciones de respuesta.

  2. Selecciona la integración de IAM.

  3. Ingresa el correo electrónico de tu cuenta de servicio en el campo Correo electrónico de Workload Identity.

  4. Haz clic en Guardar y, luego, en Probar. Se espera que la prueba falle inicialmente.

  5. Haz clic en close_small junto a la prueba fallida para ver el mensaje de error.

  6. Busca la dirección de correo electrónico única (con el formato gke-init-python@... o soar-python@...) que se encuentra cerca del final del mensaje de error. Copia esta dirección.

Cómo otorgar permisos de uso de identidad

Una vez que recuperes la identidad única de tu instancia de Google SecOps, debes autorizarla para que acceda a tus recursos de Google Cloud . Este paso habilita la identidad temporal como cuenta de servicio, lo que permite que la plataforma genere tokens de corta duración y actúe en tu nombre sin necesidad de claves estáticas.

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio.

    Ir a Cuentas de servicio

  2. Selecciona la cuenta de servicio que creaste para esta integración.

  3. Ve a la pestaña Permisos y haz clic en Otorgar acceso.

  4. Pega la dirección de correo electrónico única que copiaste en el campo Principales nuevas.

  5. Asigna el rol de Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) y haz clic en Guardar.

Autentica con una clave JSON

Si no puedes usar Workload Identity en tu entorno, puedes autenticar la integración con una clave JSON de cuenta de servicio. Este método se basa en un archivo secreto estático de larga duración para establecer la conexión entre la plataforma y tus recursos de Google Cloud .

  1. En la consola de Google Cloud , ve a IAM y administración > Cuentas de servicio y selecciona tu cuenta de servicio.

    Ir a Cuentas de servicio

  2. Ve a la pestaña Claves.

  3. Haz clic en Agregar clave > Crear clave nueva.

  4. Selecciona JSON como el tipo de clave y haz clic en Crear. El archivo se descargará en tu computadora.

  5. Copia todo el contenido del archivo JSON.

  6. Cuando configures esta integración en la plataforma, pega el contenido en el campo Service Account Json File Content.

Parámetros de integración

La integración de IAM requiere los siguientes parámetros:

Parámetro Descripción
API Root

Es opcional.

Es la URL base de la instancia de IAM.

El valor predeterminado es https://iam.googleapis.com.

Account Type

Es opcional.

Es el tipo de cuenta de Google Cloud .

Este valor corresponde al parámetro type del archivo JSON de autenticación.

El valor predeterminado es service_account.

Project ID

Es opcional.

Es el ID del proyecto de la cuenta de Google Cloud .

Este valor corresponde al parámetro project_id en el archivo JSON de autenticación.

Quota Project ID

Es opcional.

Es el ID del proyecto que se usa para la cuota y la facturación cuando se realizan solicitudes a la API.

Private Key ID

Es opcional.

Es el ID de la clave privada de la cuenta de Google Cloud .

Este valor corresponde al parámetro private_key_id en el archivo JSON de autenticación.

Private Key

Es opcional.

Es la clave privada de la cuenta de Google Cloud .

Este valor corresponde al parámetro private_key en el archivo JSON de autenticación.

Client Email

Es opcional.

Es el correo electrónico del cliente de la cuenta de Google Cloud .

Este valor corresponde al parámetro client_email en el archivo JSON de autenticación.

Client ID

Es opcional.

Es el ID de cliente de la cuenta de Google Cloud .

Este valor corresponde al parámetro client_id en el archivo JSON de autenticación.

Auth URI

Es opcional.

Es el URI de autenticación de la cuenta de Google Cloud .

Este valor corresponde al parámetro auth_uri en el archivo JSON de autenticación.

El valor predeterminado es https://accounts.google.com/o/oauth2/auth.

Token URI

Es opcional.

Es el URI del token de la cuenta de Google Cloud .

Este valor corresponde al parámetro token_uri en el archivo JSON de autenticación.

El valor predeterminado es https://oauth2.googleapis.com/token.

Auth Provider X509 URL

Es opcional.

Es la URL del certificado X.509 del proveedor de autenticación.

Este valor corresponde al parámetro auth_provider_x509_cert_url del archivo JSON de autenticación.

El valor predeterminado es https://www.googleapis.com/oauth2/v1/certs.

Client X509 URL

Es opcional.

Es la URL del certificado X.509 del cliente.

Este valor corresponde al parámetro client_x509_cert_url en el archivo JSON de autenticación.

Organization ID

Es opcional.

Es el identificador único de tu organización de Google Cloud .

Service Account Json File Content

Es opcional.

Es el contenido JSON completo del archivo de claves de la cuenta de servicio.

Si se proporciona este parámetro, se ignoran los parámetros de conexión individuales (como Private Key ID y Private Key).

Workload Identity Email

Es opcional.

Es la dirección de correo electrónico asociada a la cuenta de servicio de Workload Identity.

Verify SSL

Es opcional.

Si se selecciona, la integración valida el certificado SSL cuando se conecta al servidor de IAM.

Habilitada de forma predeterminada.

Si quieres obtener instrucciones para configurar una integración en Google SecOps, consulta Configura integraciones.

Si es necesario, puedes hacer cambios más adelante. Después de configurar una instancia de integración, puedes usarla en los playbooks. Para obtener más información sobre cómo configurar y admitir varias instancias, consulta Compatibilidad con varias instancias.

Acciones

Para obtener más información sobre las acciones, consulta Cómo responder a las acciones pendientes desde Tu escritorio y Cómo realizar una acción manual.

Crear rol

Crea un rol de Identity and Access Management.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
ID del rol String N/A Sí Especifica el ID del rol de Identity and Access Management recién creado.
Definición del rol String N/A Sí Especifica el documento de política JSON que se usará como definición del rol.

Ejecutar en

La acción no se ejecuta en entidades.

Ejemplo de JSON de política de rol

{
   "name": "projects/silver-shift-275007/roles/iam_test_role_api",
   "title": "iam_test_role_api",
   "description": "test role",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "BwXBu1RHiPw="
}

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]"
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si la acción se ejecutó correctamente (is_success=true)

    • Se creó correctamente el rol <roleid> de Identity and Access Management.

  • Si el role_id proporcionado ya existe(is_success =false)

    • El ID de rol proporcionado<role_id> ya existe.

  • Si el JSON del rol proporcionado no es válido (is_success =false)

    • El documento JSON de definición del rol proporcionado <role json> no es válido.

La acción debería fallar y detener la ejecución de la guía:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Create Role". Reason: {0}''.format(error.Stacktrace)

General

Crear una cuenta de servicio.

Crea una cuenta de servicio de Identity and Access Management.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
ID de la cuenta de servicio String String Sí Especifica el ID de la cuenta de servicio que se creará.
Nombre visible de la cuenta de servicio String String No Especifica el nombre visible de la cuenta de servicio que se creará.
Descripción de la cuenta de servicio String String No Especifica la descripción de la cuenta de servicio que se creará.

Ejecutar en

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "name": "projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "projectId": "PROJECT_ID",
   "uniqueId": "UNIQUE_ID",
   "email": "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com",
   "displayName": "SERVICE_ACCOUNT_DISPLAY_NAME",
   "etag": "ETAG_VALUE",
   "description": "SERVICE_ACCOUNT_DESCRIPTION",
   "oauth2ClientId": "UNIQUE_ID"
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si la acción se ejecutó correctamente (is_success=true)

    • Google Cloud Se creó correctamente la cuenta de servicio <ID único>.
  • Si no se pudo ejecutar la acción porque ya existe la cuenta de servicio proporcionada(is_success =false)

    • Ya existe la cuenta de servicio <ID único> proporcionada.

La acción debería fallar y detener la ejecución de la guía:

Si se trata de un error fatal o del SDK, como credenciales incorrectas, falta de conexión con el servidor o algún otro: "Error al ejecutar la acción "Crear cuenta de servicio". Reason: {0}''.format(error.Stacktrace)

General

Borrar rol

Borra un rol de Identity and Access Management.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
ID del rol String N/A Sí Especifica el ID del rol de Identity and Access Management recién creado.

Ejecutar en

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "name": "projects/[PROJECT_ID]/roles/[ROLE_NAME]",
   "title": "[ROLE_TITLE]",
   "description": "[ROLE_DESCRIPTION]",
   "includedPermissions": [
       "storagetransfer.projects.getServiceAccount"
   ],
   "stage": "GA",
   "etag": "[ETAG_VALUE]",
   "deleted": true
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si la acción se ejecutó correctamente (is_success=true)

    • Se borró correctamente Identity and Access Management <roleid>.

  • If provided role_id not exists(is_success =false)

    • No existe el ID de rol proporcionado<role_id>.

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal o un error del SDK, como credenciales incorrectas, falta de conexión al servidor o algún otro problema, "Error al ejecutar la acción "Borrar rol". Reason: {0}''.format(error.Stacktrace)

General

Borrar cuenta de servicio

Borra la cuenta de servicio. La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de usuario de Google SecOps.

Ejecutar en

Esta acción se ejecuta en la entidad User.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • if successful at least one of the provided entities: "Successfully deleted the following service accounts: {0}".format([entity.Identifier]).

  • Si no se pueden borrar todas las entidades proporcionadas: "No se borró ninguna cuenta de servicio".

  • Si no se encuentran datos en Identity and Access Management para borrar entidades específicas: "Action was not able to find a match in Identity and Access Management for the provided entities: {0}".format([entity.identifier])

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal o un error del SDK, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema: "Error al ejecutar la acción "Borrar cuenta de servicio". Reason: {0}''.format(error.Stacktrace)

General

Inhabilita la cuenta de servicio

Inhabilita la cuenta de servicio. La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de usuario de Google SecOps.

Ejecutar en

Esta acción se ejecuta en la entidad User.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • if successful at least one of the provided entities: "Successfully disabled the following service accounts: {0}".format([entity.Identifier]).

  • Si no se pueden inhabilitar todas las entidades proporcionadas: "No se inhabilitó ninguna cuenta de servicio".

  • Si no se encuentran datos en Google Cloud IAM para inhabilitar entidades específicas: "Action was not able to find a match in Google Cloud IAM for the provided entities: {0}".format([entity.identifier])

La acción debería fallar y detener la ejecución de la guía:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Disable Service Account". Reason: {0}''.format(error.Stacktrace)

General

Habilitar la cuenta de servicio.

Habilita la cuenta de servicio. La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de usuario de Google SecOps.

Ejecutar en

Esta acción se ejecuta en la entidad User.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • if successful at least one of the provided entities: "Se habilitaron correctamente las siguientes cuentas de servicio: {0}".format([entity.Identifier]).

  • Si no se pueden habilitar todas las entidades proporcionadas: "No se habilitó ninguna cuenta de servicio".

  • Si no se encuentran datos en Identity and Access Management para habilitar entidades específicas: "La acción no pudo encontrar una coincidencia en Identity and Access Management para las entidades proporcionadas: {0}".format([entity.identifier])

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal o un error del SDK, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema, se mostrará el mensaje "Error al ejecutar la acción "Habilitar cuenta de servicio". Reason: {0}''.format(error.Stacktrace)

General

Enriquece entidades

Enriquecer las entidades de usuario de Google SecOps con información de las cuentas de servicio de Identity and Access Management La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de usuario de Google SecOps.

Ejecutar en

Esta acción se ejecuta en la entidad User.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
  "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "projectId": "[PROJECT_ID]",
  "uniqueId": "[UNIQUE_ID]",
  "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
  "displayName": "[DISPLAY_NAME]",
  "etag": "[ETAG]",
  "description": "[DESCRIPTION]",
  "oauth2ClientId": "[UNIQUE_ID]"
}
Enriquecimiento de entidades
Nombre del campo de enriquecimiento Lógica: Cuándo aplicar
Google_IAM_name
Google_IAM_project_id ..
Google_IAM_unique_id
Google_IAM_email
Google_IAM_display_name
Google_IAM_description
Google_IAM_oauth2_client_id
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si la operación se realiza correctamente y se enriqueció al menos una de las entidades proporcionadas: "Successfully enriched entities: {0}".format([entity.Identifier]).
  • Si no se pueden enriquecer todas las entidades proporcionadas: "No se enriqueció ninguna entidad".
  • Si no se encuentran datos en Identity and Access Management para enriquecer entidades específicas: "Action was not able to find a match in Identity and Access Management to enrich provided entities: {0}".format([entity.identifier])

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal o un error del SDK, como credenciales incorrectas, falta de conexión con el servidor o algún otro problema, se muestra el mensaje "Error al ejecutar la acción "Enrich Entities". Reason: {0}''.format(error.Stacktrace)

General
Tabla (enriquecimiento)

Nombre de la tabla: Tabla de enriquecimiento {entity}

Columnas: Clave, Valor

Entidad

Obtén la política de IAM de la cuenta de servicio

Obtiene la política de control de acceso de la cuenta de servicio. La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de usuario de Google SecOps. Ten en cuenta que la política puede estar vacía si no se le asignó ninguna política a la cuenta de servicio.

Ejecutar en

Esta acción se ejecuta en la entidad User.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si la acción se ejecutó correctamente (is_success=true)

    • "Se recuperó correctamente la política de Identity and Access Management para las siguientes Google Cloud cuentas de servicio: <ID de correo electrónico 1, ID de correo electrónico 2…>".
  • Si la acción no encontró información sobre la entidad (por ejemplo, no existe en el correo electrónico de Google Identity and Access Management proporcionado):

    • La acción no pudo recuperar la política de Identity and Access Management de las Google Cloud siguientes cuentas de servicio: <ID de correo electrónico 1, ID de correo electrónico 2…>
  • Si no se encuentra la política de Identity and Access Management para todas las entidades proporcionadas: "No se encontró la política de Identity and Access Management para ninguna de las entidades proporcionadas".

La acción debería fallar y detener la ejecución de la guía:

if fatal error, SDK error, like wrong credentials, no connection to server, other: "Error executing action "Get Service Account IAM Policy". Reason: {0}''.format(error.Stacktrace)

General

Enumera roles

Enumera los roles de Identity and Access Management según los criterios de búsqueda especificados. Ten en cuenta que la acción no funciona en las entidades de Google SecOps.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
Ver DDL Básico No Especifica qué vista se debe usar para devolver la información del rol.
Cantidad máxima de filas que se devolverán Número entero 50 No Especifica cuántos roles debe devolver la acción.
¿Solo roles personalizados del proyecto? Casilla de verificación Desmarcado No Si se habilita, la acción solo devolverá los roles personalizados definidos para el ID del proyecto actual.
Mostrar borradas Casilla de verificación Desmarcado No Si se habilita, la acción también devolverá los roles borrados.

Ejecutar en

La acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "roles": [
       {
           "name": "roles/accessapproval.approver",
           "title": "Access Approval Approver",
           "description": "Ability to view or act on access approval requests and view configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       },
       {
           "name": "roles/accessapproval.configEditor",
           "title": "Access Approval Config Editor",
           "description": "Ability update the Access Approval configuration",
           "stage": "BETA",
           "etag": "[ETAG_VALUE]"
       }
   ]
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • If successfully listed roles(is_success = true): "Successfully fetched Identity and Access Management roles."

  • Si no hay valores disponibles(is_success = false): "No se devolvieron roles para los parámetros de entrada especificados".

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal, una zona no válida, un error del SDK (como credenciales incorrectas, falta de conexión con el servidor o algún otro error): "Error al ejecutar la acción "List Roles". Reason: {0}''.format(error.Stacktrace)

General
Tabla

Nombre de la tabla: Roles de IAM

Columnas de la tabla:

Nombre del rol

Título del rol

Descripción del Cargo

Etapa del rol

ETag del rol

Permisos del rol

General

Enumerar cuentas de servicio

Enumera las cuentas de servicio de Identity and Access Management según los criterios de búsqueda especificados. Ten en cuenta que la acción no funciona en las entidades de Google SecOps.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
Nombre visible de la cuenta de servicio String N/A No Especifica el nombre visible de la cuenta de servicio que se devolverá. El parámetro acepta varios valores como una cadena separada por comas.
Correo electrónico de la cuenta de servicio String N/A No Especifica el correo electrónico de la cuenta de servicio que se devolverá. El parámetro acepta varios valores como una cadena separada por comas.
Cantidad máxima de filas que se devolverán Número entero 50 No Especifica cuántos roles debe devolver la acción.

Ejecutar en

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
  "accounts": [
    {
      "name": "projects/[PROJECT_ID]/serviceAccounts/[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "projectId": "[PROJECT_ID]",
      "uniqueId": "[UNIQUE_ID]",
      "email": "[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com",
      "displayName": "[DISPLAY_NAME]",
      "etag": "[ETAG_VALUE]",
      "description": "[SERVICE_ACCOUNT_DESCRIPTION]",
      "oauth2ClientId": "[UNIQUE_ID]"
    }
  ]
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si se enumeraron correctamente las cuentas de servicio (is_success = true):
    "Se recuperaron correctamente Google Cloud cuentas de servicio".
  • Si no hay valores disponibles(is_success = false): "No se devolvió ninguna cuenta de servicio para los parámetros de entrada especificados".

La acción debería fallar y detener la ejecución de la guía:

if fatal error, invalid zone, SDK error, like wrong credentials, no connection to server, other: "Error executing action "List Service Accounts". Reason: {0}''.format(error.Stacktrace)

General
Tabla

Nombre de la tabla: Google Cloud Cuentas de servicio

Columnas de la tabla:

Nombre de la cuenta de servicio

ID único de la cuenta de servicio

Correo electrónico de la cuenta de servicio

Nombre visible de la cuenta de servicio

Descripción de la cuenta de servicio

ID de cliente de OAuth2 de la cuenta de servicio

General

Ping

Prueba la conectividad con el servicio de Identity and Access Management con los parámetros proporcionados en la página de configuración de la integración en la pestaña Google Security Operations Marketplace.

Parámetros

N/A

Ejecutar en

Esta acción no se ejecuta en entidades.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • if successful: "Se conectó correctamente al servicio de Identity and Access Management con los parámetros de conexión proporcionados".

La acción debería fallar y detener la ejecución de la guía:

  • Si se produce un error crítico, como credenciales incorrectas o pérdida de conectividad: "No se pudo conectar al servicio de Identity and Access Management. Error is {0}".format(exception.stacktrace)
General

Rota las claves de la cuenta de servicio

Usa la acción Rotate Service Account Keys para rotar las claves administradas por el usuario asociadas a una cuenta de servicio. Durante la rotación, se borran todas las claves existentes y se crea una nueva.

Esta acción se ejecuta en las siguientes entidades de Google SecOps:

  • Deployment

  • Username

Entradas de acción

La acción Rotate Service Account Keys requiere los siguientes parámetros:

Parámetro Descripción
Service Account

Es opcional.

Es una lista separada por comas de las cuentas de servicio para las que se rotarán las claves.

Este parámetro funciona junto con las entidades. Si se proporcionan, la acción rota las claves de estas cuentas específicas, además de las entidades de cuentas de servicio identificadas en el alcance de la acción.

Resultados de la acción

La acción Rotate Service Account Keys proporciona los siguientes resultados:

Tipo de salida de la acción Disponibilidad
Adjunto del muro de casos No disponible
Vínculo al muro de casos No disponible
Tabla del muro de casos No disponible
Tabla de enriquecimiento No disponible
Resultado de JSON Disponible
Mensajes de salida Disponible
Resultado de secuencia de comandos Disponible
Resultado de JSON

En el siguiente ejemplo, se muestra el resultado JSON que se recibe cuando se usa la acción Rotate Service Account Keys:

[
    {
       "Entity": "123",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    },
    {
       "Entity": "1234",
       "EntityResult": {
               "name": "projects/example-project/serviceAccounts/sample-sa@example-project.iam.gserviceaccount.com/keys/b333bbda7826af991a4d4cc4e3f83325103580ca",
               "validAfterTime": "2023-09-12T11:02:31Z",
               "validBeforeTime": "9999-12-31T23:59:59Z",
               "keyAlgorithm": "KEY_ALG_RSA_2048",
               "keyOrigin": "GOOGLE_PROVIDED",
               "keyType": "USER_MANAGED"
        }
    }
]
Mensajes de salida

La acción Rotate Service Account Keys puede devolver los siguientes mensajes de salida:

Mensaje de salida Descripción del mensaje

Successfully rotated keys for service account SERVICE_ACCOUNT_EMAIL in IAM.

The following service accounts were not found in IAM: SERVICE_ACCOUNT_KEYS.

None of the provided service accounts were found in IAM.

La acción se realizó correctamente.
Error executing action "Rotate Service Account Keys". Reason: ERROR_REASON

No se pudo realizar la acción.

Verifica la conexión al servidor, los parámetros de entrada o las credenciales.

Resultado de secuencia de comandos

En la siguiente tabla, se indica el valor del resultado de la secuencia de comandos cuando se usa la acción Rotate Service Account Keys:

Nombre del resultado de la secuencia de comandos Valor
is_success true o false

Configura la política de IAM de la cuenta de servicio

Establece la política de control de acceso en la cuenta de servicio especificada. La acción espera el correo electrónico de la cuenta de servicio de Identity and Access Management como una entidad de cuenta de Google SecOps. Ten en cuenta que la política proporcionada en la acción reemplaza cualquier política existente.

Parámetros

Nombre visible del parámetro Tipo Valor predeterminado Is Mandatory Descripción
Política String N/A Sí Especifica el documento de política JSON que se configurará para la cuenta de servicio.

Ejecutar en

Esta acción se ejecuta en la entidad Account.

Resultados de la acción

Resultado de secuencia de comandos
Nombre del resultado de la secuencia de comandos Opciones de valor
is_success is_success=False
is_success is_success=True
Resultado de JSON
{
   "version": 1,
   "etag": "[ETAG_VALUE]",
   "bindings": [
       {
           "role": "roles/iam.securityReviewer",
           "members": [
               "user:[USER_EMAIL]"
           ]
       }
   ]
}
Muro de casos
Tipo de resultado Valor/Descripción Tipo
Mensaje de salida*

La acción no debe fallar ni detener la ejecución de una guía:

  • Si algunas se completan correctamente (is_success=True):

    • Se configuró correctamente la política de Identity and Access Management para las siguientes Google Cloud cuentas de servicio: <ID de correo electrónico 1, ...>

  • Si fallaron algunas:

    • No se pudo establecer la política de Identity and Access Management para las siguientes cuentas de servicio de Google Cloud : <ID de correo electrónico 1, …>

  • Si todo falló, haz lo siguiente:

    • No se configuraron políticas de Identity and Access Management de la cuenta de servicio.

  • Si el JSON de política proporcionado no es válido (is_success =false)

    • El documento JSON de política proporcionado <policy> no es válido.

La acción debería fallar y detener la ejecución de la guía:

Si se produce un error fatal o un error del SDK, como credenciales incorrectas, falta de conexión al servidor o algún otro problema, "Error al ejecutar la acción "Establecer la política de IAM de la cuenta de servicio". Reason: {0}''.format(error.Stacktrace)

General

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.