Freigeben über


Konfigurieren von Registrierungsendpunkten

Von Bedeutung

Diese Seite enthält Anweisungen zum Verwalten von Azure IoT Operations-Komponenten mithilfe von Kubernetes-Bereitstellungsmanifesten, die sich in DER VORSCHAU befinden. Dieses Feature ist mit mehreren Einschränkungen versehen und sollte nicht für Produktionsworkloads verwendet werden.

Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Datenflussdiagramme verwenden Registrierungsendpunkte, um WebAssembly-Module (WASM)-Module und Graphdefinitionen aus Containerregistrierungen abzurufen. Sie können die Endpunkteinstellungen, die Authentifizierung und andere Einstellungen konfigurieren, um eine Verbindung mit azure Container Registry (ACR) oder anderen OCI-kompatiblen Registrierungen herzustellen.

Voraussetzungen

  • Eine Instanz von Azure IoT Operations, Version 1.2 oder höher
  • Zugriff auf eine Containerregistrierung, z. B. Azure Container Registry

Übersicht über den Registrierungsendpunkt

Ein Registrierungsendpunkt definiert die Verbindungsdetails und die Authentifizierungsmethode für den Zugriff auf eine Containerregistrierung. Registrierungsendpunkte werden von:

  • Datenflussdiagramme: So rufen Sie WASM-Module und Diagrammdefinitionen ab
  • Akri-Konnectoren: Um Vorlagen für benutzerdefinierte Konnektoren abzurufen

Registrierungsendpunkte unterstützen die Authentifizierung über:

  • Vom System zugewiesene verwaltete Identität
  • Vom Benutzer zugewiesene verwaltete Identität
  • Artefakt-Pullschlüssel (Benutzername und Kennwort)
  • Anonymer Zugriff (für öffentliche Register)

Erstellen eines Registrierungsendpunkts

Sie können einen Registrierungsendpunkt mit Bicep oder Kubernetes erstellen.

Von Bedeutung

Derzeit gibt es ein bekanntes Problem bei der Verwendung von Registrierungsendpunktressourcen mit Akri-Connectors. Weitere Informationen finden Sie unter Akri Connectors funktionieren nicht mit Registrierungsendpunktressourcen.

Erstellen Sie eine Bicep-Datei .bicep mit dem folgenden Inhalt:

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/'
      }
    }
  }
}

Bereitstellen der Bicep-Datei mit Azure CLI:

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

Konfigurationsoptionen

In diesem Abschnitt werden die Für Registrierungsendpunkte verfügbaren Konfigurationsoptionen beschrieben.

Gastgeber

Die host Eigenschaft gibt den Hostnamen der Containerregistrierung an. Verwenden Sie für die Azure-Containerregistrierung das Format <registry-name>.azurecr.io. Die Hosteigenschaft unterstützt HTTPS-URLs oder nur den Hostnamen.

Beispiele:

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

Muster: Muss mit dem Muster ^(https:\/\/)?[a-zA-Z0-9\-]+\.azurecr\.io$ für die Azure-Containerregistrierung übereinstimmen.

Authentifizierungsmethoden

Registrierungsendpunkte unterstützen mehrere Authentifizierungsmethoden, um sicher auf Containerregistrierungen zuzugreifen.

Vom System zugewiesene verwaltete Identität

Vom System zugewiesene verwaltete Identität verwendet die integrierte Identität der Azure IoT Operations-Instanz, um sich bei der Registrierung zu authentifizieren. Dies ist der empfohlene Ansatz für die Azure-Containerregistrierung, da dadurch die Notwendigkeit der Verwaltung von Anmeldeinformationen beseitigt wird.

Stellen Sie vor dem Konfigurieren des Registrierungsendpunkts sicher, dass die vom Azure IoT Operations-System zugewiesene verwaltete Identität über die erforderlichen Berechtigungen verfügt:

  1. Wechseln Sie im Azure-Portal zu Ihrer Azure IoT Operations-Instanz, und wählen Sie "Übersicht" aus.
  2. Kopieren Sie den Namen der Erweiterung, die nach der Azure IoT Operations Arc-Erweiterung aufgeführt ist. Beispiel: azure-iot-operations-xxxx7.
  3. Wechseln Sie zu Ihrer Containerregistrierungs-Zugriffssteuerung >(IAM)>Rollenzuweisung hinzufügen.
  4. Wählen Sie auf der Registerkarte " Rolle " die Option "Rolle" aus AcrPull .
  5. Wählen Sie auf der Registerkarte " Mitglieder " für " Zugriff zuweisen"die Option "Benutzer", "Gruppe" oder "Dienstprinzipal" aus, und wählen Sie dann +Mitglieder aus , und suchen Sie nach dem Namen der Azure IoT Operations Arc-Erweiterung. Wählen Sie die Erweiterung und dann "Auswählen" aus.
  6. Wählen Sie Überprüfen + Zuweisen, um die Rollenvergabe abzuschließen.
authentication: {
  method: 'SystemAssignedManagedIdentity'
  systemAssignedManagedIdentitySettings: {
    audience: 'https://management.azure.com/'
    extensionName: null  // Optional: specific extension name
    tenantId: null       // Optional: specific tenant ID
  }
}

Vom System zugewiesene Einstellungen für verwaltete Identitäten:

Eigentum BESCHREIBUNG Erforderlich Typ
audience Zielgruppe des Diensts für die Authentifizierung. Nein Schnur
extensionName Spezifischer Erweiterungsname, der verwendet werden soll. Nein Schnur
tenantId Mandanten-ID für die Authentifizierung. Nein Schnur

Der Operator versucht, die Zielgruppe vom Endpunkt abzuleiten, falls nicht angegeben. Bei der Azure-Containerregistrierung ist die Zielgruppe in der Regel https://management.azure.com/.

Vom Benutzer zugewiesene verwaltete Identität

Mit der vom Benutzer zugewiesenen verwalteten Identität können Sie eine bestimmte verwaltete Identität verwenden, die Sie mit den erforderlichen Berechtigungen erstellt und konfiguriert haben.

Stellen Sie vor dem Konfigurieren des Registrierungsendpunkts sicher, dass die vom Benutzer zugewiesene verwaltete Identität die AcrPull Rolle in Ihrer Containerregistrierung hat.

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

Vom Benutzer zugewiesene Einstellungen für verwaltete Identitäten:

Eigentum BESCHREIBUNG Erforderlich Typ
clientId Client-ID für die vom Benutzer zugewiesene verwaltete Identität. Ja Schnur
tenantId Mandanten-ID, in der sich die verwaltete Identität befindet. Ja Schnur
scope Bereich der Ressource mit .default Suffix. Nein Schnur

Der Operator versucht, den Bereich vom Endpunkt abzuleiten, falls nicht angegeben.

Artefakt-Pullschlüssel

Mit Artefakt-Pullschlüsseln können Sie benutzernamen- und Kennwortauthentifizierung für Registrierungen verwenden, die die verwaltete Identitätsauthentifizierung nicht unterstützen.

Erstellen Sie zunächst einen Kubernetes-Geheimschlüssel, der die Registrierungsanmeldeinformationen enthält:

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'
  }
}

Anonyme Authentifizierung

Die anonyme Authentifizierung wird für öffentliche Registrierungen verwendet, die keine Authentifizierung erfordern.

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

Integration der Azure-Containerregistrierung

Azure Container Registry (ACR) ist die empfohlene Containerregistrierung für Azure IoT Operations. ACR bietet sichere, private Docker-Containerregistrierungen mit integrierter Authentifizierung über Microsoft Entra ID.

Voraussetzungen für ACR

  1. Erstellen Sie eine ACR-Instanz: Wenn Sie nicht über eine Instanz verfügen, erstellen Sie eine Azure Container Registry-Instanz in Ihrem Abonnement.
  2. Konfigurieren von Berechtigungen: Stellen Sie sicher, dass die verwaltete Azure IoT Operations-Identität über Berechtigungen für die Registrierung verfügt AcrPull .
  3. Pushartefakte: Laden Sie Ihre WASM-Module und Graphdefinitionen mithilfe von Tools wie ORAS CLI in die Registrierung hoch.

ACR-Konfigurationsbeispiel

Hier ist ein vollständiges Beispiel für die Konfiguration eines ACR-Registrierungsendpunkts:

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/'
      }
    }
  }
}

Weitere Containerregistrierungen

Registrierungsendpunkte unterstützen auch andere OCI-kompatible Containerregistrierungen wie:

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

Bei diesen Registrierungen verwenden Sie in der Regel Artefakt-Pullschlüssel für die Authentifizierung, es sei denn, sie unterstützen die von Azure verwaltete Identität.

Nächste Schritte