Compartir por


Configuración de puntos de conexión del Registro

Importante

En esta página se incluyen instrucciones para administrar componentes de Azure IoT Operations mediante manifiestos de implementación de Kubernetes, que se encuentra en versión preliminar. Esta característica se proporciona con varias limitaciones y no debe usarse para cargas de trabajo de producción.

Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Los gráficos de flujo de datos usan puntos de conexión del registro para extraer módulos de WebAssembly (WASM) y definiciones de grafo de registros de contenedor. Puede configurar los valores del punto de conexión, la autenticación y otras opciones para conectarse a Azure Container Registry (ACR) u otros registros compatibles con OCI.

Prerrequisitos

  • Una instancia de Azure IoT Operations, versión 1.2 o posterior
  • Acceso a un registro de contenedor, como Azure Container Registry

Introducción al punto de conexión del registro

Un punto de conexión del registro define los detalles de conexión y el método de autenticación para acceder a un registro de contenedor. Los puntos de conexión del registro los usa:

  • Grafos de flujo de datos: para extraer módulos WASM y definiciones de grafos
  • Conectores de Akri: para extraer plantillas de conector personalizadas

Los puntos de conexión del registro admiten la autenticación mediante:

  • Identidad administrada asignada por el sistema
  • Identidad administrada asignada por el usuario
  • Secretos de extracción de artefactos (nombre de usuario y contraseña)
  • Acceso anónimo (para registros públicos)

Crear un punto de conexión del Registro

Puede crear un punto de conexión del registro mediante Bicep o Kubernetes.

Importante

Actualmente, hay un problema conocido al usar recursos de extremo del registro con conectores de Akri. Para obtener más información, consulte los conectores de Akri no funcionan con los recursos del endpoint de registro.

Cree un archivo .bicep de Bicep con el siguiente contenido:

param aioInstanceName string = '<AIO_INSTANCE_NAME>'
param customLocationName string = '<CUSTOM_LOCATION_NAME>'
param registryEndpointName string = '<REGISTRY_ENDPOINT_NAME>'
param registryHost string = '<REGISTRY_HOST>' // For example, myregistry.azurecr.io

resource aioInstance 'Microsoft.IoTOperations/instances@2024-11-01' existing = {
  name: aioInstanceName
}

resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
  name: customLocationName
}

resource registryEndpoint 'Microsoft.IoTOperations/instances/registryEndpoints@2025-07-01-preview' = {
  parent: aioInstance
  name: registryEndpointName
  extendedLocation: {
    name: customLocation.id
    type: 'CustomLocation'
  }
  properties: {
    host: registryHost
    authentication: {
      method: 'SystemAssignedManagedIdentity'
      systemAssignedManagedIdentitySettings: {
        audience: 'https://management.azure.com/'
      }
    }
  }
}

Implemente el archivo de Bicep mediante la CLI de Azure:

az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep

Opciones de configuración

En esta sección se describen las opciones de configuración disponibles para los puntos de conexión del registro.

Anfitrión

La propiedad host especifica el nombre de host del registro de contenedor. Para Azure Container Registry, use el formato <registry-name>.azurecr.io. La propiedad host admite direcciones URL HTTPS o simplemente el nombre de host.

Ejemplos:

  • myregistry.azurecr.io
  • https://myregistry.azurecr.io

Patrón: debe coincidir con el patrón ^(https:\/\/)?[a-zA-Z0-9\-]+\.azurecr\.io$ de Azure Container Registry.

Métodos de autenticación

Los puntos de conexión del registro admiten varios métodos de autenticación para acceder de forma segura a los registros de contenedor.

Identidad administrada asignada por el sistema

La identidad administrada asignada por el sistema usa la identidad integrada de la instancia de Operaciones de IoT de Azure para autenticarse con el registro. Este es el enfoque recomendado para Azure Container Registry, ya que elimina la necesidad de administrar credenciales.

Antes de configurar el punto de conexión del registro, asegúrese de que la identidad administrada asignada por el sistema de Operaciones de IoT de Azure tenga los permisos necesarios:

  1. En Azure Portal, vaya a la instancia de Azure IoT Operations y seleccione Información general.
  2. Copie el nombre de la extensión que aparece después de la extensión de Azure IoT Operations Arc. Por ejemplo, azure-iot-operations-xxxx7.
  3. Vaya al registro de contenedor >Control de acceso (IAM)>Agregar asignación de roles.
  4. En la pestaña Rol, seleccione el rol AcrPull.
  5. En la pestaña Miembros, en Asignar acceso a, seleccione Usuario, grupo o entidad de servicio y, a continuación, seleccione + Seleccionar miembros y busque el nombre de la extensión de ARC de Operaciones de IoT de Azure. Elija la extensión y seleccione Seleccionar.
  6. Seleccione Revisar y asignar para completar la asignación de roles.
authentication: {
  method: 'SystemAssignedManagedIdentity'
  systemAssignedManagedIdentitySettings: {
    audience: 'https://management.azure.com/'
    extensionName: null  // Optional: specific extension name
    tenantId: null       // Optional: specific tenant ID
  }
}

Configuración de identidad administrada asignada por el sistema:

Propiedad Descripción Obligatorio Tipo
audience Audiencia del servicio en la que se va a autenticar. No Cuerda
extensionName Nombre de extensión específico que se va a usar. No Cuerda
tenantId Identificador de inquilino para la autenticación. No Cuerda

El operador intenta deducir el público del punto de conexión si no se proporciona. Para Azure Container Registry, el público suele ser https://management.azure.com/.

Identidad administrada asignada por el usuario

La identidad administrada asignada por el usuario le permite usar una identidad administrada específica que haya creado y configurado con los permisos necesarios.

Antes de configurar el punto de conexión del registro, asegúrese de que la identidad administrada asignada por el usuario tiene el rol AcrPull en el registro de contenedor.

authentication: {
  method: 'UserAssignedManagedIdentity'
  userAssignedManagedIdentitySettings: {
    clientId: '<CLIENT_ID>'
    tenantId: '<TENANT_ID>'
    scope: null  // Optional: specific scope
  }
}

Configuración de la identidad administrada asignada por el usuario:

Propiedad Descripción Obligatorio Tipo
clientId Id. de cliente para la identidad administrada asignada al usuario. Cuerda
tenantId Identificador de inquilino donde se encuentra la identidad administrada. Cuerda
scope Ámbito del recurso con el sufijo .default. No Cuerda

El operador intenta deducir el ámbito del punto de conexión si no se proporciona.

Secreto de extracción de artefactos

Los secretos de extracción de artefactos permiten usar la autenticación mediante nombre de usuario y contraseña para los registros que no admiten la autenticación de identidad administrada.

En primer lugar, cree un secreto de Kubernetes que contenga las credenciales del registro:

kubectl create secret docker-registry my-registry-secret \
  --docker-server=myregistry.azurecr.io \
  --docker-username=<USERNAME> \
  --docker-password=<PASSWORD> \
  -n azure-iot-operations
authentication: {
  method: 'ArtifactPullSecret'
  artifactPullSecretSettings: {
    secretRef: 'my-registry-secret'
  }
}

Autenticación anónima

La autenticación anónima se usa para los registros públicos que no requieren autenticación.

authentication: {
  method: 'Anonymous'
  anonymousSettings: {}
}

Integración de Azure Container Registry

Azure Container Registry (ACR) es el registro de contenedor recomendado para Operaciones de IoT de Azure. ACR proporciona registros de contenedor de Docker seguros y privados con autenticación integrada a través de Microsoft Entra ID.

Requisitos previos para ACR

  1. Cree una instancia de ACR: si no tiene una, cree una instancia de Azure Container Registry en la suscripción.
  2. Configuración de permisos: asegúrese de que la identidad administrada de Operaciones de IoT de Azure tiene permisos AcrPull en el registro.
  3. Insertar artefactos: cargue los módulos WASM y las definiciones de grafos en el registro mediante herramientas como la CLI de ORAS.

Ejemplo de configuración de ACR

Este es un ejemplo completo para configurar un punto de conexión del registro de ACR:

param aioInstanceName string = 'my-aio-instance'
param customLocationName string = 'my-custom-location'
param acrName string = 'myregistry'

resource aioInstance 'Microsoft.IoTOperations/instances@2024-11-01' existing = {
  name: aioInstanceName
}

resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
  name: customLocationName
}

resource acrRegistryEndpoint 'Microsoft.IoTOperations/instances/registryEndpoints@2025-07-01-preview' = {
  parent: aioInstance
  name: 'acr-endpoint'
  extendedLocation: {
    name: customLocation.id
    type: 'CustomLocation'
  }
  properties: {
    host: '${acrName}.azurecr.io'
    authentication: {
      method: 'SystemAssignedManagedIdentity'
      systemAssignedManagedIdentitySettings: {
        audience: 'https://management.azure.com/'
      }
    }
  }
}

Otros registros de contenedor

Los puntos de conexión del registro también admiten otros registros de contenedor compatibles con OCI, como:

  • Docker Hub
  • Puerto
  • AWS Elastic Container Registry (ECR)
  • Google Container Registry (GCR)

En estos registros, normalmente se usan secretos de extracción de artefactos para la autenticación, a menos que admitan la identidad administrada de Azure.

Pasos siguientes