Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Den här sidan innehåller instruktioner för att hantera Azure IoT Operations-komponenter med hjälp av Kubernetes-distributionsmanifest, som finns i FÖRHANDSVERSION. Den här funktionen har flera begränsningar och bör inte användas för produktionsarbetsbelastningar.
Se kompletterande användningsvillkor för Microsoft Azure Previews för juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet.
Dataflödesdiagram använder registerslutpunkter för att hämta WebAssembly-moduler (WASM) och grafdefinitioner från containerregister. Du kan konfigurera slutpunktsinställningar, autentisering och andra inställningar för att ansluta till Azure Container Registry (ACR) eller andra OCI-kompatibla register.
Förutsättningar
- En instans av Azure IoT Operations, version 1.2 preview eller senare
- Åtkomst till ett containerregister, till exempel Azure Container Registry
Översikt över registerslutpunkt
En registerslutpunkt definierar anslutningsinformationen och autentiseringsmetoden för åtkomst till ett containerregister. Registerslutpunkter används av:
- Dataflödesdiagram: Hämta WASM-moduler och grafdefinitioner
- Akri-kontakter: För att dra anpassade anslutningsmallar
Registerslutpunkter stöder autentisering via:
- Systemtilldelad hanterad identitet
- Användartilldelad hanterad identitet
- Artefakthämtningshemligheter (användarnamn och lösenord)
- Anonym åtkomst (för offentliga register)
Skapa en registerslutpunkt
Du kan skapa en registerslutpunkt med Bicep eller Kubernetes.
Viktigt!
För närvarande finns det ett känt problem vid användning av registerslutpunktsfunktioner med Akri-kontakter. För mer information, se Akri-kontakter fungerar inte med registerändpunktresurser.
Skapa en Bicep-fil .bicep med följande innehåll:
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/'
}
}
}
}
Distribuera Bicep-filen med Azure CLI:
az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep
Konfigurationsalternativ
I det här avsnittet beskrivs de konfigurationsalternativ som är tillgängliga för registerslutpunkter.
värd
Egenskapen host anger värdnamnet för containerregistret. För Azure Container Registry använder du formatet <registry-name>.azurecr.io. Värdegenskapen stöder HTTPS-URL:er eller bara värdnamnet.
Exempel:
myregistry.azurecr.iohttps://myregistry.azurecr.io
Mönster: Måste matcha mönstret ^(https:\/\/)?[a-zA-Z0-9\-]+\.azurecr\.io$ för Azure Container Registry.
Autentiseringsmetoder
Registerslutpunkter stöder flera autentiseringsmetoder för säker åtkomst till containerregister.
Systemtilldelad hanterad identitet
Systemtilldelad hanterad identitet använder Azure IoT Operations-instansens inbyggda identitet för att autentisera med registret. Det här är den rekommenderade metoden för Azure Container Registry eftersom det eliminerar behovet av att hantera autentiseringsuppgifter.
Innan du konfigurerar registerslutpunkten kontrollerar du att den systemtilldelade hanterade identiteten i Azure IoT Operations har nödvändiga behörigheter:
- I Azure Portal går du till din Azure IoT Operations-instans och väljer Översikt.
- Kopiera namnet på tillägget som visas efter Azure IoT Operations Arc-tillägget. Till exempel azure-iot-operations-xxxx7.
- Gå till din åtkomstkontroll för containerregistret >(IAM)>Lägg till rolltilldelning.
- På fliken Roll väljer du
AcrPullroll. - På fliken Medlemmar för Tilldela åtkomst till väljer du Användare, grupp eller tjänstens huvudnamn, sedan + Välj medlemmar och söker efter Azure IoT Operations Arc-tilläggets namn. Välj tillägget och välj Välj.
- Välj Granska + tilldela för att genomföra rolltilldelningen.
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {
audience: 'https://management.azure.com/'
extensionName: null // Optional: specific extension name
tenantId: null // Optional: specific tenant ID
}
}
Systemtilldelade inställningar för hanterad identitet:
| Fastighet | Beskrivning | Krävs | Typ |
|---|---|---|---|
audience |
Målgrupp för tjänsten att autentisera mot. | Nej | Sträng |
extensionName |
Specifikt tilläggsnamn som ska användas. | Nej | Sträng |
tenantId |
Klientorganisations-ID för autentisering. | Nej | Sträng |
Operatorn försöker härleda målgruppen från slutpunkten om den inte tillhandahålls. För Azure Container Registry är målgruppen vanligtvis https://management.azure.com/.
Användartilldelad hanterad identitet
Med användartilldelad hanterad identitet kan du använda en specifik hanterad identitet som du har skapat och konfigurerat med nödvändiga behörigheter.
Innan du konfigurerar registerslutpunkten kontrollerar du att den användartilldelade hanterade identiteten har rollen i AcrPull containerregistret.
authentication: {
method: 'UserAssignedManagedIdentity'
userAssignedManagedIdentitySettings: {
clientId: '<CLIENT_ID>'
tenantId: '<TENANT_ID>'
scope: null // Optional: specific scope
}
}
Användartilldelade inställningar för hanterad identitet:
| Fastighet | Beskrivning | Krävs | Typ |
|---|---|---|---|
clientId |
Klient-ID för den användartilldelade hanterade identiteten. | Ja | Sträng |
tenantId |
Klientorganisations-ID där den hanterade identiteten finns. | Ja | Sträng |
scope |
Omfång för resursen med .default suffix. |
Nej | Sträng |
Operatorn försöker härleda omfånget från slutpunkten om det inte anges.
Artefakthämtningshemlighet
Med artefakthämtningshemligheter kan du använda autentisering med användarnamn och lösenord för register som inte stöder hanterad identitetsautentisering.
Skapa först en Kubernetes-hemlighet som innehåller autentiseringsuppgifterna för registret:
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'
}
}
Anonym autentisering
Anonym autentisering används för offentliga register som inte kräver autentisering.
authentication: {
method: 'Anonymous'
anonymousSettings: {}
}
Azure Container Registry-integrering
Azure Container Registry (ACR) är det rekommenderade containerregistret för Azure IoT Operations. ACR tillhandahåller säkra, privata Docker-containerregister med integrerad autentisering via Microsoft Entra-ID.
Förutsättningar för ACR
- Skapa en ACR-instans: Om du inte har någon skapar du en Azure Container Registry-instans i din prenumeration.
-
Konfigurera behörigheter: Kontrollera att den hanterade Azure IoT Operations-identiteten har
AcrPullbehörigheter i registret. - Push-artefakter: Ladda upp DINA WASM-moduler och diagramdefinitioner till registret med hjälp av verktyg som ORAS CLI.
Exempel på ACR-konfiguration
Här är ett komplett exempel på hur du konfigurerar en ACR-registerslutpunkt:
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/'
}
}
}
}
Andra containerregister
Registerslutpunkter stöder även andra OCI-kompatibla containerregister, till exempel:
- Docker Hub
- Hamn
- AWS Elastic Container Registry (ECR)
- Google Container Registry (GCR)
För dessa register använder du vanligtvis artefakthämtningshemligheter för autentisering, såvida de inte stöder Azure-hanterad identitet.