Aktivera säkra inställningar i Azure IoT Operations
De säkra inställningarna för Azure IoT Operations omfattar konfiguration av hantering av hemligheter och en användartilldelad hanterad identitet för molnanslutningar. till exempel en OPC UA-server eller dataflödesslutpunkter.
Den här artikeln innehåller instruktioner för att aktivera säkra inställningar om du inte gjorde det under den första distributionen.
Förutsättningar
En Azure IoT Operations-instans som distribuerats med testinställningar. Du väljer till exempel Testinställningar när du följer anvisningarna i Distribuera Azure IoT-åtgärder till ett Arc-aktiverat Kubernetes-kluster.
Azure CLI installerat på utvecklingsdatorn. Det här scenariot kräver Azure CLI version 2.64.0 eller senare. Använd
az --version
för att kontrollera din version ochaz upgrade
uppdatera om det behövs. Mer information finns i Installera Azure CLI.Azure IoT Operations-tillägget för Azure CLI. Använd följande kommando för att lägga till tillägget eller uppdatera det till den senaste versionen:
az extension add --upgrade --name azure-iot-ops
Konfigurera hantering av hemligheter
Hemlighetshantering för Azure IoT Operations använder Secret Store-tillägget för att synkronisera hemligheterna från ett Azure-nyckelvalv och lagra dem på gränsen som Kubernetes-hemligheter. Secret Store-tillägget kräver en användartilldelad hanterad identitet med åtkomst till Azure-nyckelvalvet där hemligheter lagras. Mer information finns i Vad är hanterade identiteter för Azure-resurser?.
Så här konfigurerar du hantering av hemligheter:
Skapa ett Azure-nyckelvalv som används för att lagra hemligheter och ge ditt användarkonto behörighet att hantera hemligheter med
Key Vault Secrets Officer
rollen.Skapa en användartilldelad hanterad identitet för Secret Store-tillägget.
Använd kommandot az iot ops secretsync enable för att konfigurera Azure IoT Operations-instansen för hemlig synkronisering. Det här kommandot:
- Skapar en federerad identitetsautentiseringsuppgift med hjälp av den användartilldelade hanterade identiteten.
- Lägger till en rolltilldelning till den användartilldelade hanterade identiteten för åtkomst till Azure-nyckelvalvet.
- Lägger till en lägsta hemlighetsproviderklass som är associerad med Azure IoT Operations-instansen.
# 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
Nu när installationen av hemlig synkronisering är klar kan du läsa Hantera hemligheter för din Azure IoT Operations-distribution för att lära dig hur du använder hemligheter med Azure IoT Operations.
Konfigurera en användartilldelad hanterad identitet för molnanslutningar
Vissa Azure IoT Operations-komponenter, till exempel dataflödesslutpunkter, använder en användartilldelad hanterad identitet för molnanslutningar. Vi rekommenderar att du använder en separat identitet från den som du använde för att konfigurera hantering av hemligheter.
Skapa en användartilldelad hanterad identitet som används för molnanslutningar.
Kommentar
Du måste ge identiteten behörighet till den molnresurs som du ska använda den hanterade identiteten för.
Använd kommandot az iot ops identity assign för att tilldela identiteten till Azure IoT Operations-instansen. Det här kommandot skapar också en federerad identitetsautentiseringsuppgift med hjälp av OIDC-utfärdaren av det angivna anslutna klustret och Azure IoT Operations-tjänstkontot.
# 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
Nu kan du använda den här hanterade identiteten i dataflödesslutpunkter för molnanslutningar.