Sdílet prostřednictvím


Konfigurace koncových bodů registru (Preview)

Důležité

Tato stránka obsahuje pokyny ke správě komponent operací Azure IoT pomocí manifestů nasazení Kubernetes, které jsou ve verzi Preview. Tato funkce je poskytována s několika omezeními a neměla by se používat pro produkční úlohy.

Podívejte se na doplňkové podmínky užívání služby Microsoft Azure Preview pro právní podmínky, které se vztahují na funkce Azure, jež jsou ve verzi beta, Preview nebo jinak ještě nejsou obecně dostupné.

Grafy toku dat používají koncové body registru k vyžádání modulů WebAssembly (WASM) a definic grafů z registrů kontejnerů. Můžete nakonfigurovat nastavení koncového bodu, ověřování a další nastavení pro připojení ke službě Azure Container Registry (ACR) nebo jiným registrům kompatibilním s OCI.

Požadavky

  • Instance Azure IoT Operations, verze 1.2 Preview nebo novější
  • Přístup k registru kontejneru, jako je Azure Container Registry

Přehled koncového bodu registru

Koncový bod registru definuje podrobnosti připojení a metodu ověřování pro přístup k registru kontejneru. Koncové body registru jsou používány:

  • Grafy toku dat: Vyžádání modulů WASM a definic grafů
  • Konektory Akri: Vyžádání vlastních šablon konektorů

Koncové body registru podporují ověřování prostřednictvím:

  • Spravovaná identita přiřazená systémem
  • Spravovaná identita přiřazená uživatelem
  • Tajné klíče pro stahování artefaktu (uživatelské jméno a heslo)
  • Anonymní přístup (pro veřejné registry)

Vytvoření koncového bodu registru

Koncový bod registru můžete vytvořit pomocí Bicep nebo Kubernetes.

Důležité

V současné době existuje známý problém při používání zdrojů koncového bodu registru s konektory Akri. Další informace najdete v tématu Konektory Akri nefungují s prostředky koncových bodů registru.

Vytvořte soubor Bicep .bicep s následujícím obsahem:

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

Nasazení souboru Bicep pomocí Azure CLI:

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

Možnosti konfigurace

Tato část popisuje možnosti konfigurace dostupné pro koncové body registru.

Hostitel

Vlastnost host určuje název hostitele registru kontejneru. Pro Azure Container Registry použijte formát <registry-name>.azurecr.io. Vlastnost hostitele podporuje adresy URL HTTPS nebo jenom název hostitele.

Příklady:

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

Model: Musí odpovídat vzoru ^(https:\/\/)?[a-zA-Z0-9\-]+\.azurecr\.io$ pro Azure Container Registry.

Metody ověřování

Koncové body registru podporují několik metod ověřování pro zabezpečený přístup k registrům kontejnerů.

Spravovaná identita přiřazená systémem

Spravovaná identita přiřazená systémem používá integrovanou identitu instance Azure IoT Operations k ověření v registru. Tento postup se doporučuje pro Službu Azure Container Registry, protože eliminuje potřebu správy přihlašovacích údajů.

Před konfigurací koncového bodu registru se ujistěte, že spravovaná identita přiřazená systémem azure IoT má potřebná oprávnění:

  1. Na webu Azure Portal přejděte do instance operace Azure IoT a vyberte Přehled.
  2. Zkopírujte název rozšíření uvedeného za Azure IoT Operations Arc extension. Například azure-iot-operations-xxxx7.
  3. Přejděte do registru kontejnerů >Řízení přístupu (IAM)>Přidejte přiřazení role.
  4. Na kartě Role vyberte AcrPull roli.
  5. Na kartě Členové v části Přiřadit přístup pro vyberte Uživatel, skupina nebo instanční objekt, poté vyberte + Vybrat členy a vyhledejte název rozšíření Azure IoT Operations Arc. Zvolte rozšíření a vyberte Vybrat.
  6. Výběrem možnosti Zkontrolovat a přiřadit dokončete přiřazení role.
authentication: {
  method: 'SystemAssignedManagedIdentity'
  systemAssignedManagedIdentitySettings: {
    audience: 'https://management.azure.com/'
    extensionName: null  // Optional: specific extension name
    tenantId: null       // Optional: specific tenant ID
  }
}

Nastavení spravované identity přiřazené systémem:

Vlastnictví Popis Povinné Typ
audience Cílová skupina služby k ověření. Ne Řetězec
extensionName Konkrétní název rozšíření, který se má použít. Ne Řetězec
tenantId ID tenanta pro ověřování. Ne Řetězec

Operátor se pokusí odvodit cílovou skupinu z koncového bodu, pokud není k dispozici. Pro Azure Container Registry je cílová skupina obvykle https://management.azure.com/.

Spravovaná identita přiřazená uživatelem

Spravovaná identita přiřazená uživatelem umožňuje použít konkrétní spravovanou identitu, kterou jste vytvořili a nakonfigurovali s potřebnými oprávněními.

Před konfigurací koncového bodu registru se ujistěte, že spravovaná identita přiřazená uživatelem má AcrPull roli v registru kontejneru.

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

Nastavení spravované identity přiřazené uživatelem:

Vlastnictví Popis Povinné Typ
clientId ID klienta pro spravovanou identitu přiřazenou uživatelem Ano Řetězec
tenantId ID tenanta, kde se nachází spravovaná identita. Ano Řetězec
scope Rozsah prostředku se .default suffixem Ne Řetězec

Operátor se pokusí odvodit rozsah z koncového bodu, pokud není zadaný.

Tajný klíč pro stažení artefaktu

Tajné klíče pro získání artefaktů umožňují používat ověřování pomocí uživatelského jména a hesla pro registry, které nepodporují ověřování spravovaných identit.

Nejprve vytvořte tajný klíč Kubernetes obsahující přihlašovací údaje registru:

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

Anonymní ověřování

Anonymní ověřování se používá pro veřejné registry, které nevyžadují ověření.

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

Integrace služby Azure Container Registry

Azure Container Registry (ACR) je doporučený registr kontejnerů pro operace Azure IoT. ACR poskytuje zabezpečené privátní registry kontejnerů Dockeru s integrovaným ověřováním prostřednictvím Microsoft Entra ID.

Požadavky pro ACR

  1. Vytvořte instanci služby ACR: Pokud ji nemáte, vytvořte ve svém předplatném instanci služby Azure Container Registry.
  2. Konfigurace oprávnění: Ujistěte se, že spravovaná identita operací Azure IoT má AcrPull oprávnění k registru.
  3. Přidání artefaktů: Nahrajte do registru moduly WASM a definice grafů pomocí nástrojů, jako je ORAS CLI.

Příklad konfigurace ACR

Tady je úplný příklad konfigurace koncového bodu registru 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/'
      }
    }
  }
}

Další registry kontejnerů

Koncové body registru také podporují další registry kontejnerů kompatibilní s OCI, například:

  • Docker Hub
  • Přístav
  • AWS Elastic Container Registry (ECR)
  • Google Container Registry (GCR)

U těchto registrů obvykle používáte tajemství pro stahování artefaktů k ověřování, pokud podporují spravovanou identitu Azure.

Další kroky