Compartir a través de


Habilitar configuración segura en Operaciones de IoT de Azure

La configuración segura para Operaciones de IoT de Azure incluye la configuración de la administración de secretos y una identidad administrada asignada por el usuario para las conexiones en la nube; por ejemplo, un servidor OPC UA o puntos de conexión de flujo de datos.

En este artículo, se proporcionan instrucciones para habilitar la configuración segura si no lo ha hecho durante la implementación inicial.

Requisitos previos

  • Una instancia de Operaciones de IoT de Azure implementada con la configuración de prueba. Por ejemplo, ha elegido Configuración de prueba al seguir las instrucciones de Implementación de Operaciones de IoT de Azure en un clúster de Kubernetes habilitado para Arc.

  • CLI de Azure instalada en la máquina de desarrollo. Este escenario requiere la versión 2.64.0 o posterior de la CLI de Azure. Use az --version para comprobar la versión y az upgrade para actualizarla si es necesario. Para obtener más información, consulte Cómo instalar la CLI de Azure.

  • Extensión Operaciones de IoT de Azure para la CLI de Azure. Use el siguiente comando para agregar la extensión o actualizarla a la versión más reciente:

    az extension add --upgrade --name azure-iot-ops
    

Configuración de la administración de secretos

La administración de secretos para Operaciones de IoT de Azure usa la extensión Secret Store para sincronizar los secretos de un almacén de claves de Azure y almacenarlos en el perímetro como secretos de Kubernetes. La extensión Secret Store requiere una identidad administrada asignada por el usuario con acceso al almacén de claves de Azure donde se almacenan los secretos. Para más información, consulte ¿Qué son las identidades administradas de recursos de Azure?

Para configurar la administración de secretos:

  1. Crear un Azure Key Vault que se usa para almacenar secretos y conceder a su cuenta de usuario permisos para administrar secretos con el rol de Key Vault Secrets Officer.

  2. Crear una identidad administrada asignada por el usuario para la extensión Almacén secreto.

  3. Use el comando az iot ops secretsync enable para configurar la instancia de Operaciones de IoT de Azure para la sincronización de secretos. Este comando:

    • Crea una credencial de identidad federada mediante la identidad administrada asignada por el usuario.
    • Agrega una asignación de roles a la identidad administrada asignada por el usuario para acceder al Azure Key Vault.
    • Agrega una clase de proveedor de secretos mínima asociada a la instancia de Operaciones de IoT de Azure.
    # Variable block
    AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>"
    RESOURCE_GROUP="<RESOURCE_GROUP>"
    USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME>"
    KEYVAULT_NAME="<KEYVAULT_NAME>"
    
    #Get the resource ID of the user-assigned managed identity
    USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv)
    
    #Get the resource ID of the key vault
    KEYVAULT_RESOURCE_ID=$(az keyvault show --name $KEYVAULT_NAME --resource-group $RESOURCE_GROUP --query id --output tsv)
    
    #Enable secret synchronization
    az iot ops secretsync enable --instance $AIO_INSTANCE_NAME \
                                 --resource-group $RESOURCE_GROUP \
                                 --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_ID \
                                 --kv-resource-id $KEYVAULT_RESOURCE_ID
    

Ahora que se ha completado la configuración de sincronización de secretos, puede consultar Administración de secretos de la implementación de Operaciones de IoT de Azure para aprender a usar secretos con Operaciones de IoT de Azure.

Configuración de una identidad administrada asignada por el usuario para conexiones en la nube

Algunos componentes de Operaciones de IoT de Azure, como los puntos de conexión de flujo de datos, usan una identidad administrada asignada por el usuario para las conexiones en la nube. Se recomienda usar una identidad independiente de la que usó para configurar la administración de secretos.

  1. Crear una identidad administrada asignada por el usuario que se usa para las conexiones en la nube.

    Nota:

    Deberá conceder el permiso de identidad al recurso en la nube para el que usará la identidad administrada.

  2. Use el comando az iot ops identity assign para asignar la identidad a la instancia de Operaciones de IoT de Azure. Este comando también crea una credencial de identidad federada mediante el emisor OIDC del clúster conectado indicado y la cuenta de servicio de operaciones de Azure IoT.

    # Variable block
    AIO_INSTANCE_NAME="<AIO_INSTANCE_NAME>"
    RESOURCE_GROUP="<RESOURCE_GROUP>"
    USER_ASSIGNED_MI_NAME="<USER_ASSIGNED_MI_NAME FOR CLOUD CONNECTIONS>"
    
    #Get the resource ID of the user-assigned managed identity
    USER_ASSIGNED_MI_RESOURCE_ID=$(az identity show --name $USER_ASSIGNED_MI_NAME --resource-group $RESOURCE_GROUP --query id --output tsv)
    
    #Assign the identity to the Azure IoT Operations instance
    az iot ops identity assign --name $AIO_INSTANCE_NAME \
                               --resource-group $RESOURCE_GROUP \
                               --mi-user-assigned $USER_ASSIGNED_MI_RESOURCE_ID
    

Ahora puede usar esta identidad administrada en puntos de conexión de flujo de datos para las conexiones en la nube.