Conéctate a Microsoft Azure para la configuración y la recopilación de datos de recursos

Puedes conectar el nivel Security Command Center Enterprise a tu entorno de Microsoft Azure para hacer lo siguiente:

  • Habilita la detección de hallazgos relacionados con parámetros de configuración incorrectos.
  • Identifica posibles rutas de ataque desde Internet pública a tus activos valiosos de Microsoft Azure.
  • Mapea el cumplimiento de los recursos de Microsoft Azure con diversos estándares y comparativas.

La conexión de Security Command Center a Microsoft Azure crea un solo lugar para que tu equipo administre y corrija los errores de configuración tanto en Google Cloud como en Azure.

Configuras una conexión de confianza entre Security Command Center y Azure con un Google Cloud agente de servicio y una identidad administrada asignada por el usuario de Microsoft Azure con acceso a los recursos de Azure que deseas supervisar. Administras y controlas la configuración de confianza en tu entorno de Microsoft Azure.

Puedes crear una conexión de Azure para cada Google Cloud organización.

Security Command Center usa esta conexión para recopilar periódicamente datos sobre los recursos de Microsoft Azure que definas. Estos datos se manejan de la misma manera que los Datos del Servicio, según el Aviso de Privacidad de Google Cloud. El conector usa llamadas a la API para recopilar datos de activos de Azure. Estas llamadas a la API pueden generar cargos de Microsoft Azure.

Durante un análisis, la canalización de recopilación de datos depende del agente de servicio para autenticarse en el entorno de Microsoft Azure con la identidad administrada asignada por el usuario.

En el siguiente diagrama, se muestra cómo se establece la confianza entre Security Command Center y Azure.

Configuración de Azure y Security Command Center

En este documento, se describe cómo configurar la conexión con Microsoft Azure. A grandes rasgos, estos son los pasos:

  1. Realiza los pasos de los requisitos previos en Antes de comenzar.

  2. Crea el conector de Azure y configura qué suscripciones y ubicaciones analizar. Necesitas el ID de inquilino de Microsoft Azure para seguir estos pasos. Esto crea el ID del agente de servicio.

  3. Configura el entorno de Azure para crear una identidad administrada asignada por el usuario dedicada con los siguientes roles:

    • Lector en el ámbito del grupo de administración raíz de Microsoft Azure para leer recursos, suscripciones y la jerarquía del grupo de administración.

    • Lector de Key Vault en el alcance del grupo de administración raíz de Microsoft Azure para leer metadatos sobre almacenes de claves y certificados, claves y secretos relacionados.

    • Lector de datos de Storage Blob en el alcance del grupo de administración raíz de Microsoft Azure para leer metadatos sobre los recursos. Otorga este rol si planeas habilitar Grant permissions for Sensitive Data Protection discovery cuando configures el conector de Azure.

    • Lectores de directorio en Microsoft Entra ID para leer grupos y membresías.

    • Lector de seguridad en Microsoft Entra ID para leer políticas de autorización.

    El nombre visible predeterminado para el grupo de administración raíz es Tenant root group.

    Estos permisos son necesarios para que Security Command Center identifique los grupos de administración, los grupos con membresías y las definiciones de roles, que se encuentran en un nivel superior al de las suscripciones en la jerarquía de recursos.

    También configuras una credencial de identidad federada para la identidad administrada asignada por el usuario con información sobre el agente de servicio.

    Puedes realizar los pasos de forma manual o usar Terraform. Necesitarás el ID del agente de servicio cuando realices los pasos de forma manual.

  4. Completa la configuración del conector de Azure y prueba la conexión. Usarás información sobre la identidad administrada asignada por el usuario para realizar estos pasos.

El conector de Azure no ingiere los registros de Azure necesarios para las capacidades de detección seleccionadas del SIEM en Security Command Center Enterprise. Para obtener esa información, consulta Conéctate a Microsoft Azure para la recopilación de datos de registro.

Antes de comenzar

En las siguientes secciones, se describen los requisitos previos, las decisiones y la información que necesitas antes de configurar la conexión entre Security Command Center y Microsoft Azure.

Revisa las funciones de Microsoft Azure

Asegúrate de conocer los siguientes conceptos y capacidades de Microsoft Azure:

Planifica la recopilación de datos

Cuando planifiques la estrategia de recopilación de datos, haz lo siguiente: Necesitas esta información cuando realices los pasos de este documento.

  • Crea o identifica el grupo de recursos en el que crearás la identidad administrada definida por el usuario. Necesitarás el nombre del grupo de recursos durante la configuración.

    Reemplaza la variable RESOURCE_GROUP_NAME por el nombre del grupo de recursos para completar el valor en los próximos pasos de este documento.

  • Identifica los recursos para los que deseas recopilar datos. Si planeas recopilar datos solo de suscripciones o regiones específicas, identifícalas y regístralas durante la planificación.

    También puedes configurar el conector de Azure para que detecte recursos automáticamente en todas las suscripciones y regiones.

Configura permisos en Google Cloud

En Google Cloud, para crear y administrar una conexión a los proveedores de servicios en la nube externos, debes tener el rol de propietario de Cloud Asset (roles/cloudasset.owner) en la organización. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Configura los permisos en Microsoft Azure

Para seguir los pasos en Configura Microsoft Azure de forma manual o Configura Microsoft Azure con Terraform, debes tener una identidad de Azure con al menos un grupo de recursos creado, además de los siguientes permisos para configurar políticas de IAM para Microsoft Azure y Microsoft Entra.

  • Permiso Microsoft.Authorization/roleAssignments/write en el alcance del grupo de administración raíz. Esta opción está disponible en cualquiera de los siguientes roles integrados: Administrador de control de acceso basado en roles o Administrador de acceso de usuarios.

  • Los siguientes permisos en el alcance de un grupo de recursos en el que se creará la identidad administrada asignada por el usuario:

    • Microsoft.ManagedIdentity/userAssignedIdentities/write
    • Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write

    Estos permisos están disponibles en el rol integrado de Colaborador de identidades administradas.

  • Permiso de Microsoft Entra, microsoft.directory/roleAssignments/allProperties/allTasks. Está disponible en el rol integrado de Microsoft Entra Administrador de roles con privilegios.

Debes tener acceso elevado para establecer permisos en el alcance del grupo de administración raíz. Consulta Cómo elevar el acceso para administrar todas las suscripciones y los grupos de administración de Azure para conocer los pasos para elevar el acceso de un administrador global.

Habilita y configura el conector de Security Command Center para Azure

Sigue estos pasos para crear y configurar el conector de Azure.

  1. Asegúrate de tener los permisos definidos en la sección Cómo configurar permisos en Google Cloud.

  2. Asegúrate de tener el ID de usuario de Microsoft Azure de 36 caracteres.

  3. Abre la pestaña Connectors en la página Settings.

    Ir a Conectores

  4. Selecciona la organización en la que activaste Security Command Center Enterprise.

  5. Haz clic en Agregar conector > Microsoft Azure.

  6. En la página Configurar conector, ingresa el ID de usuario de Azure.

  7. Para permitir que Sensitive Data Protection genere perfiles de tus datos de Azure, mantén seleccionada la opción Otorgar permisos para el descubrimiento de Sensitive Data Protection. Esta opción agrega el rol de lector de datos de Storage Blob en la plantilla de Terraform para la identidad administrada definida por el usuario.

  8. Selecciona una de las siguientes opciones:

    • Agregar suscripciones automáticamente: Security Command Center descubrirá e incluirá suscripciones automáticamente. De manera opcional, puedes excluir los IDs de suscripción de la recopilación agregándolos al campo Excluir suscripciones a Azure.
    • Agregar suscripciones de forma individual: Security Command Center no descubrirá suscripciones automáticamente. Debes definir al menos una suscripción con el campo Add Azure Subscription.
  9. En la sección Selecciona las ubicaciones de Azure de las que quieres recopilar datos, puedes seleccionar una o más ubicaciones de Microsoft Azure de las que quieres recopilar datos. Deja este campo vacío para recopilar datos de todas las ubicaciones. Cuando seleccionas una ubicación en el menú, se excluyen las ubicaciones que deseleccionaste.

    La configuración recomendada es Descubrir automáticamente tus suscripciones de Azure y usar todas las ubicaciones de Microsoft Azure.

  10. Haz clic en Siguiente. Se abrirá la página Conéctate a Azure.

  11. Deja abierta la página Connect to Azure y continúa con Configura el entorno de Microsoft Azure.

    Después de configurar Microsoft Azure, regresarás a esta página para terminar de configurar el conector de Azure.

Configura el entorno de Microsoft Azure

Completa una de las siguientes secciones:

Configura Microsoft Azure de forma manual

En la siguiente sección, se describen los pasos manuales de alto nivel para configurar el entorno de Azure que establece la confianza entre Security Command Center y Microsoft Azure. Este procedimiento no es exhaustivo. Cada sección proporciona vínculos a la documentación de Microsoft Azure que explica cómo realizar esa tarea.

Requisitos previos

Paso 1: Crea una identidad administrada asignada por el usuario en un grupo de recursos

  1. Sigue los pasos que se indican en Administra identidades administradas asignadas por el usuario para crear la identidad administrada asignada por el usuario.

    Cuando crees la identidad, especifica lo siguiente:

    • Suscripción: Selecciona la suscripción en la que se administrará la identidad.
    • Grupo de recursos: Especifica el nombre del grupo de recursos, RESOURCE_GROUP_NAME, en el que se administrará la identidad. Identificaste esto cuando planificaste la recopilación de datos.
    • Región: Selecciona una región, por ejemplo, East US.
    • Nombre: Ingresa un nombre para la identidad administrada asignada por el usuario, por ejemplo, gcp-managed-identity. Reemplaza la variable USER_ASSIGNED_MANAGED_IDENTITY_NAME por el nombre de la identidad, y se propagará en los pasos de este documento en los que sea necesario.
  2. Registra la siguiente información. La usarás en los próximos pasos.

    • ID de cliente: Es el valor de 36 caracteres asignado a la identidad.
    • ID del objeto (principal): Es el valor de 36 caracteres asignado a la identidad.
    • Nombre de identidad: Es el valor que definiste para Nombre.

Paso 2: Crea una credencial federada para la identidad administrada asignada por el usuario

Para agregar una credencial federada en la identidad administrada asignada por el usuario, sigue los pasos que se indican en Configura una identidad administrada asignada por el usuario para que confíe en un proveedor de identidad externo.

Sigue la guía que se describe en el Otro caso de emisor y configura lo siguiente:

  • Situación de credenciales federadas: Elige Otro: Configura una identidad administrada por un proveedor externo de OpenID Connect para acceder a los recursos de Microsoft Azure como esta aplicación.
  • URL del emisor: Ingresa https://accounts.google.com.
  • Identificador de asunto: Ingresa el ID del agente de servicio que se generó cuando creaste el conector de Azure de Security Command Center.
  • Nombre: Ingresa un nombre para la credencial federada, por ejemplo, gcp-managed-identity-fic.
  • Público: Ingresa https://cloud.google.com.

Paso 3: Asigna roles integrados de Microsoft Azure

Sigue los pasos que se indican en Asigna roles de Azure con el Azure Portal para asignar los siguientes roles integrados de Microsoft Azure a la identidad administrada asignada por el usuario:

  • Lector de Vault
  • Lector
  • Lector de datos de BLOB de Storage

Otorga estos roles en el alcance del grupo de administración raíz.

Paso 4: Asigna los roles integrados de Microsoft Entra ID

Sigue los pasos que se indican en Asigna roles de Microsoft Entra a los usuarios para asignar los siguientes roles integrados de Microsoft Entra ID a la identidad administrada asignada por el usuario:

  • Lectores de directorios
  • Lector de seguridad

Cuando termines, continúa con la sección Completa la configuración del conector de Azure.

Configura Microsoft Azure con Terraform

En los siguientes pasos generales, se describe cómo usar Terraform para configurar Microsoft Azure. Este procedimiento no es exhaustivo. Para obtener más detalles sobre el uso de Terraform para aprovisionar recursos, consulta la documentación de Terraform en Azure.

  1. Abre la página Conectar a Azure que dejaste abierta cuando creaste el conector de Azure.

  2. Haz clic en Descargar plantillas de Terraform. Se descargará el archivo azure_terraform.zip que contiene varios archivos JSON.

  3. Accede a Microsoft Azure y, luego, abre Azure Cloud Shell con BASH o Azure PowerShell.

  4. Configura Terraform según las políticas de tu organización con una de las siguientes instrucciones:

  5. Copia el archivo azure_terraform.zip en tu entorno de Azure Cloud Shell y, luego, extrae el contenido. Verás los siguientes archivos: main.tf.json, outputs.tf.json, providers.tf.json y variables.tf.json.

  6. Crea copias de estos archivos en un directorio separado.

    1. Crea un directorio nuevo para probar el código de muestra de Terraform y conviértelo en el directorio actual.
    2. En el directorio recién creado, crea copias de los archivos JSON extraídos con el mismo nombre que el archivo original:

      • Crea un archivo nuevo llamado main.tf.json y, luego, copia y pega el código del archivo main.tf.json extraído.
      • Crea un archivo nuevo llamado providers.tf.json y, luego, copia y pega el código del archivo providers.tf.json extraído.
      • Crea un archivo nuevo llamado outputs.tf.json y, luego, copia y pega el código del archivo outputs.tf.json extraído.
      • Crea un archivo nuevo llamado variables.tf.json y, luego, copia y pega el código del archivo variables.tf.json extraído.
  7. Ejecuta el siguiente comando para inicializar la implementación de Terraform.

    terraform init -upgrade
    
  8. Ejecuta el siguiente comando para crear un plan de ejecución.

    terraform plan -out main.tfplan -var="resource_group_name=RESOURCE_GROUP_NAME" -var="user_assigned_managed_identity_name=USER_ASSIGNED_MANAGED_IDENTITY_NAME"
    

    Reemplaza lo siguiente:

    • RESOURCE_GROUP_NAME: Es el nombre del grupo de recursos de Microsoft Azure en el que se creará la identidad administrada asignada por el usuario.
    • USER_ASSIGNED_MANAGED_IDENTITY_NAME: Es el nombre de la identidad administrada asignada por el usuario que se creará. Si no se especifica, el valor predeterminado es google-cloud-managed-identity.
  9. Ejecuta el siguiente comando para aplicar el plan de ejecución a la infraestructura de Microsoft Azure.

    terraform apply main.tfplan
    
  10. Continúa con la sección Completa la configuración del conector de Azure.

Completa la configuración del conector de Azure

  1. Asegúrate de tener la siguiente información sobre la identidad administrada asignada por el usuario de Microsoft Azure:

    • ID de cliente: Es el valor de 36 caracteres asignado a la identidad.
    • ID de objeto (principal): Es el valor de 36 caracteres asignado a la identidad.

    Para obtener información sobre cómo encontrar esta información, consulta Cómo enumerar las identidades administradas asignadas por el usuario.

  2. Abre la página Conectar a Azure que dejaste abierta cuando creaste el conector de Azure.

  3. En la sección Detalles de la identidad administrada de Azure, ingresa lo siguiente:

    • ID de cliente de identidad administrada: Es el ID de cliente.
    • ID de objeto de identidad administrada: Es el ID de objeto (principal).
  4. Haz clic en Continuar.

  5. En la página Probar conector, haz clic en Probar conector para verificar que Security Command Center pueda conectarse al entorno de Microsoft Azure.

    Si la conexión se realiza correctamente, Google Cloud el agente de servicio puede asumir la identidad administrada asignada por el usuario de Microsoft Azure y tiene los permisos necesarios de Microsoft Azure y Microsoft Entra. Si la conexión no se realiza correctamente, consulta Soluciona errores cuando pruebes la conexión.

  6. Haz clic en Guardar. Aparecerá la página Connectors.

El conector comienza a analizar y recopilar datos de las suscripciones y ubicaciones de Azure que especificaste. Los resultados pueden tardar hasta 24 horas en aparecer.

Soluciona errores cuando pruebas la conexión

En la siguiente sección, se describen los errores que pueden ocurrir cuando pruebas la conexión entre Security Command Center y Microsoft Azure, y cómo resolver cada uno de ellos.

Error de AZURE_ENABLED_SUBSCRIPTIONS_NOT_FOUND

El conector de Azure no encontró suscripciones habilitadas en el usuario identificado por el campo ID de usuario de Azure. Comprueba lo siguiente:

  • Si está seleccionada la opción Agregar suscripciones automáticamente, verifica que el inquilino incluya suscripciones en el estado Enabled y que no aparezcan en el campo Excluir suscripciones de Azure.
  • Si seleccionaste Agregar suscripciones de forma individual, verifica que las suscripciones que especificaste tengan el estado Enabled.

Error de AZURE_FAILED_TO_ASSUME_MANAGED_IDENTITY

La conexión no es válida porque el agente de servicio de Google Cloud no puede asumir la identidad administrada asignada por el usuario de Microsoft Azure. Las siguientes pueden ser posibles causas:

  • La identidad administrada asignada por el usuario especificada en la conexión no existe o la configuración es incorrecta.
  • Es posible que a la identidad administrada asignada por el usuario especificada en la conexión le falte la credencial de identidad federada necesaria para confiar en el agente de servicio de Google Cloud .

Para solucionar este problema, haz lo siguiente:

Error de AZURE_MANAGED_IDENTITY_MISSING_REQUIRED_PERMISSION

La conexión no es válida porque falta un rol requerido de Microsoft Azure o Microsoft Entra en la identidad administrada asignada por el usuario de Azure. El mensaje de error incluye el rol faltante.

Para resolver este problema, revisa la configuración que estableciste cuando configuraste los roles integrados de Microsoft Azure y los roles integrados de Microsoft Entra para asegurarte de que la configuración sea correcta.

Error de AZURE_MANAGED_IDENTITY_ASSUMPTION_FAILED_AND_MISSING_REQUIRED_PERMISSION

La conexión no es válida porque el agente de servicio de Google Cloud no pudo asumir la identidad administrada asignada por el usuario de Microsoft Azure y, al mismo tiempo, faltan algunos de los roles requeridos de Microsoft Azure o Microsoft Entra.

El mensaje de error incluye detalles sobre el alcance que no pudo asumir la identidad administrada asignada por el usuario y los roles que faltan.

Para solucionar este problema, haz lo siguiente:

Otras sugerencias para solucionar problemas

En la siguiente sección, se describen los comportamientos y los posibles pasos para abordarlos.

Se devuelve un hallazgo para un recurso de Azure eliminado

Después de que se borra un recurso de Azure, pueden pasar hasta 40 horas para que se quite del sistema de inventario de recursos de Security Command Center. Si decides resolver un hallazgo borrando el recurso, es posible que veas el hallazgo informado durante este período, ya que el recurso aún no se quitó del sistema de inventario de recursos de Security Command Center.

¿Qué sigue?