Sdílet prostřednictvím


Konfigurace simulátoru OPC PLC pro práci s Azure IoT OPC UA Broker Preview

Důležité

Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.

Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.

V tomto článku se dozvíte, jak nakonfigurovat a připojit simulátor OPC PLC. Simulátor simuluje server OPC UA s více uzly, které generují náhodná data a anomálie. Můžete nakonfigurovat uzly definované uživatelem. Simulátor OPC UA umožňuje otestovat proces správy prostředků OPC UA pomocí portálu Azure IoT Operations (Preview) nebo Azure IoT Akri Preview.

Požadavky

Nasazená instance Azure IoT Operations Preview. Pokud chcete nasadit operace Azure IoT pro demonstrační a průzkumné účely, projděte si rychlý start: Nasazení operací Azure IoT do clusteru Kubernetes s podporou arc. Pokud nasadíte operace Azure IoT, jak je popsáno, zahrnuje instalace simulátor OPC PLC.

Nasazení simulátoru OPC PLC

Tato část ukazuje, jak nasadit simulátor OPC PLC, pokud jste ho nezahrnuli při prvním nasazení operací Azure IoT.

Následující krok snižuje úroveň zabezpečení pro OPC PLC tak, aby přijímala připojení zprostředkovatele Azure Iot OPC UA nebo jakéhokoli klienta bez explicitní operace důvěryhodnosti partnerského certifikátu.

Důležité

Nepoužívejte v produkčním prostředí následující příklad, používejte ho pouze pro účely simulace a testování.

Spuštěním následujícího kódu aktualizujte nasazení Zprostředkovatele OPC UA a použijte nové nastavení:

az k8s-extension update \
    --version 0.3.0-preview \
    --name opc-ua-broker \
    --release-train preview \
    --cluster-name <cluster-name> \
    --resource-group <azure-resource-group> \
    --cluster-type connectedClusters \
    --auto-upgrade-minor-version false \
    --config opcPlcSimulation.deploy=true \
    --config opcPlcSimulation.autoAcceptUntrustedCertificates=true

Simulátor OPC PLC běží jako samostatný pod v azure-iot-operations oboru názvů. Název podu vypadá nějak opcplc-000000-7b6447f99c-mqwdqtakto.

Konfigurace vzájemného vztahu důvěryhodnosti mezi zprostředkovatelem Azure Iot OPC UA a OPC PLC

Další informace o vzájemné důvěryhodnosti v OPC UA najdete v tématu Infrastruktura certifikátů OPC UA pro zprostředkovatele Azure IoT OPC UA.

Certifikát instance aplikace simulátoru OPC PLC je certifikát podepsaný svým držitelem spravovaný nástrojem cert-manager a uložený v tajném aio-opc-ua-opcplc-default-application-cert-000000 kódu Kubernetes.

Konfigurace vzájemného vztahu důvěryhodnosti mezi zprostředkovatelem Azure Iot OPC UA a simulátorem OPC PLC:

  1. Získejte certifikát a odešlete ho do služby Azure Key Vault:

    kubectl -n azure-iot-operations get secret aio-opc-ua-opcplc-default-application-cert-000000 -o jsonpath='{.data.tls\.crt}' | \
    base64 -d | \
    xargs -0 -I {} \
    az keyvault secret set \
        --name "opcplc-crt" \
        --vault-name <your-azure-key-vault-name> \
        --value {} \
        --content-type application/x-pem-file
    
  2. Přidejte certifikát do vlastního aio-opc-ua-broker-trust-list prostředku v clusteru. Použijte klienta Kubernetes, například kubectl ke konfiguraci tajného opcplc.crt kódu v SecretProviderClass poli objektů v clusteru.

    Následující příklad ukazuje kompletní SecretProviderClass vlastní prostředek, který obsahuje certifikát simulátoru v souboru s kódováním PEM s příponou .crt:

    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
      name: aio-opc-ua-broker-trust-list
      namespace: azure-iot-operations
    spec:
      provider: azure
      parameters:
        usePodIdentity: 'false'
        keyvaultName: <your-azure-key-vault-name>
        tenantId: <your-azure-tenant-id>
        objects: |
          array:
            - |
              objectName: opcplc-crt
              objectType: secret
              objectAlias: opcplc.crt
    

    Poznámka:

    Doba potřebnou k promítnutí certifikátů služby Azure Key Vault do clusteru závisí na nakonfigurovaném intervalu dotazování.

Vztah důvěryhodnosti zprostředkovatele Azure IoT OPC UA se simulátorem OPC PLC je teď vytvořený a můžete vytvořit připojení AssetEndpointProfile k simulátoru OPC PLC.

Volitelně můžete nakonfigurovat bez AssetEndpointProfile vzájemné důvěry

Volitelně můžete nakonfigurovat profil koncového bodu prostředku bez navázání vzájemného vztahu důvěryhodnosti mezi Zprostředkovatele OPC UA a simulátorem OPC PLC. Pokud rozumíte rizikům, můžete ověřování vypnout pro účely testování.

Upozornění

Nenakonfigurujte ověřování v produkčním ani předprodukčním prostředí. Vystavení clusteru na internet bez ověřování může vést k neoprávněnému přístupu a dokonce útokům DDOS.

Pokud chcete profilu koncového bodu prostředku povolit připojení k serveru OPC PLC bez navázání vzájemného vztahu důvěryhodnosti, upravte konfiguraci pomocí additionalConfiguration nastavení AssetEndpointProfile .

Opravte koncový bod prostředku pomocí autoAcceptUntrustedServerCertificates=true:

ENDPOINT_NAME=<name-of-you-endpoint-here>
kubectl patch AssetEndpointProfile $ENDPOINT_NAME \
-n azure-iot-operations \
--type=merge \
-p '{"spec":{"additionalConfiguration":"{\"applicationName\":\"'"$ENDPOINT_NAME"'\",\"security\":{\"autoAcceptUntrustedServerCertificates\":true}}"}}'