Sdílet prostřednictvím


Povolení zabezpečených nastavení v operacích Azure IoT

Nastavení zabezpečení pro operace Azure IoT zahrnuje nastavení správy tajných kódů a spravovanou identitu přiřazenou uživatelem pro cloudová připojení; Například server OPC UA nebo koncové body toku dat.

Tento článek obsahuje pokyny k povolení nastavení zabezpečení, pokud jste to neudělali během počátečního nasazení.

Požadavky

  • Instance provozu Azure IoT nasazená s testovacím nastavením. Například při použití pokynů v části Nasazení operací Azure IoT do clusteru Kubernetes s podporou arc jste zvolili testovací nastavení.

  • Azure CLI nainstalované na vývojovém počítači. Tento scénář vyžaduje Azure CLI verze 2.53.0 nebo vyšší. Použijte az --version ke kontrole vaší verze a az upgrade k aktualizaci v případě potřeby. Další informace najdete v tématu Postup instalace Azure CLI.

  • Nejnovější verze rozšíření connectedk8s pro Azure CLI. Pomocí následujícího příkazu přidejte rozšíření nebo ho aktualizujte na nejnovější verzi:

    az extension add --upgrade --name connectedk8s
    
  • Rozšíření Azure IoT Operations pro Azure CLI. Pomocí následujícího příkazu přidejte rozšíření nebo ho aktualizujte na nejnovější verzi:

    az extension add --upgrade --name azure-iot-ops
    

Povolení zabezpečeného nastavení clusteru

Pokud chcete povolit synchronizaci tajných kódů pro instanci azure IoT Operations, musí být váš cluster povolený jako vystavitel OIDC a pro federaci identit úloh. Tato konfigurace se vyžaduje, aby rozšíření Secret Store synchronizovala tajné kódy z trezoru klíčů Azure a ukládaly je na hraničních zařízeních jako tajné kódy Kubernetes.

U clusterů Azure Kubernetes Service (AKS) je možné funkce vystavitele a identity úloh OIDC povolit pouze při vytváření clusteru. U clusterů v AKS Edge Essentials umožňuje automatizovaný skript tyto funkce ve výchozím nastavení. V případě clusterů AKS v Místním prostředí Azure postupujte podle pokynů k nasazení a konfiguraci identity úloh v clusteru AKS s podporou clusteru Azure Arc a vytvořte nový cluster, pokud ho nemáte s požadovanými funkcemi.

V případě clusterů k3s v Kubernetes můžete aktualizovat existující cluster. Pokud chcete povolit a nakonfigurovat tyto funkce, postupujte následovně:

  1. Aktualizujte cluster tak, aby povolil vystavitele OIDC a identitu úloh.

    az connectedk8s update -n <CLUSTER_NAME> -g <RESOURCE_GROUP> --enable-oidc-issuer --enable-workload-identity
    

    Pokud jste při vytváření clusteru povolili funkce vystavitele OIDC a identity úloh, nemusíte znovu spouštět předchozí příkaz. Pomocí následujícího příkazu zkontrolujte stav funkcí vystavitele OIDC a identit úloh pro váš cluster:

    az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query "{ClusterName:name, OIDCIssuerEnabled:oidcIssuerProfile.enabled, WorkloadIdentityEnabled:securityProfile.workloadIdentity.enabled}"
    
  2. Získejte adresu URL vystavitele clusteru.

    az connectedk8s show -g <RESOURCE_GROUP> -n <CLUSTER_NAME> --query oidcIssuerProfile.issuerUrl --output tsv
    

    Poznamenejte si výstup z tohoto příkazu, který použijete v dalších krocích.

  3. Vytvořte konfigurační soubor k3s:

    sudo nano /etc/rancher/k3s/config.yaml
    
  4. Přidejte do config.yaml souboru následující obsah a nahraďte <SERVICE_ACCOUNT_ISSUER> zástupný text adresou URL vystavitele clusteru, který jste si poznamenali dříve:

    kube-apiserver-arg:
    - service-account-issuer=<SERVICE_ACCOUNT_ISSUER>
    - service-account-max-token-expiration=24h
    

    Uložte soubor a ukončete editor nano.

  5. Restartujte službu k3s:

    sudo systemctl restart k3s
    

Nastavení správy tajných kódů

Správa tajných kódů pro operace Azure IoT používá rozšíření Tajné úložiště tajných kódů k synchronizaci tajných kódů z trezoru klíčů Azure a jejich uložení na hraničních zařízeních jako tajné kódy Kubernetes. Rozšíření Secret Store vyžaduje spravovanou identitu přiřazenou uživatelem s přístupem k trezoru klíčů Azure, kde se tajné kódy ukládají. Další informace najdete v tématu Co jsou spravované identity pro prostředky Azure?

Nastavení správy tajných kódů:

  1. Vytvořte trezor klíčů Azure, který se používá k ukládání tajných kódů, a udělte vašemu Key Vault Secrets Officer uživatelskému účtu oprávnění ke správě tajných kódů s rolí.

  2. Vytvořte spravovanou identitu přiřazenou uživatelem pro rozšíření Úložiště tajných kódů.

  3. Pomocí příkazu az iot ops secretsync můžete nastavit instanci operací Azure IoT pro synchronizaci tajných kódů. Tento příkaz:

    • Vytvoří přihlašovací údaje federované identity pomocí spravované identity přiřazené uživatelem.
    • Přidá přiřazení role ke spravované identitě přiřazené uživatelem pro přístup k trezoru klíčů Azure.
    • Přidá minimální třídu zprostředkovatele tajných kódů přidruženou k instanci Azure IoT Operations.
    # 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
    

Teď, když je nastavení synchronizace tajných kódů hotové, najdete v tématu Správa tajných kódů pro nasazení operací Azure IoT, kde se dozvíte, jak používat tajné kódy s operacemi Azure IoT.

Nastavení spravované identity přiřazené uživatelem pro cloudová připojení

Některé komponenty operací Azure IoT, jako jsou koncové body toku dat, používají spravovanou identitu přiřazenou uživatelem pro cloudová připojení. Doporučujeme použít samostatnou identitu od identity, kterou jste použili k nastavení správy tajných kódů.

  1. Vytvořte spravovanou identitu přiřazenou uživatelem, která se používá pro cloudová připojení.

    Poznámka:

    Identitě budete muset udělit oprávnění k tomu, pro který cloudový prostředek použijete spravovanou identitu.

  2. Pomocí příkazu az iot ops identity přiřaďte identitu k instanci Azure IoT Operations. Tento příkaz také vytvoří přihlašovací údaje federované identity pomocí vystavitele OIDC označeného připojeného clusteru a účtu služby Azure IoT Operations.

    # 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
    

Teď můžete tuto spravovanou identitu použít v koncových bodech toku dat pro cloudová připojení.