Dela via


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 och az 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:

  1. 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.

  2. Skapa en användartilldelad hanterad identitet för Secret Store-tillägget.

  3. 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.

  1. 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.

  2. 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.