OPC UA 用コネクタのための OPC UA ユーザー認証オプションを構成する

重要

Azure Arc によって有効にされる Azure IoT Operations Preview は、現在プレビュー段階です。 運用環境ではこのプレビュー ソフトウェアを使わないでください。

一般提供リリースが利用可能になったタイミングで新しい Azure IoT Operations のインストールをデプロイする必要があります。 プレビュー インストールをアップグレードすることはできません。

ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

この記事では、OPC UA ユーザー認証オプションを構成する方法について学習します。 自分の環境内で OPC UA 用コネクタがどのように OPC UA サーバーでの認証を行うかを、これらのオプションを使用してより詳細に制御できます。

詳細については、OPC UA アプリケーション - ユーザー認証のページを参照してください。

前提条件

Azure IoT Operations プレビューのデプロイされたインスタンス。 デモと調査の目的で Azure IoT Operations を展開するには、「クイックスタート: K3s を使用して Github Codespaces で Azure IoT Operations プレビューを実行する」を参照してください。

サポートされている機能

機能 サポートされています
ユーザー名とパスワードを使用した OPC UA ユーザー認証。
X.509 ユーザー証明書を使用した OPC UA ユーザー認証。

ユーザー名とパスワードの認証を構成する

まず、Azure Key Vault でユーザー名とパスワードのシークレットを構成し、SecretProviderClass オブジェクトを使用して、接続されたクラスターに投影します。

  1. Azure Key Vault にユーザー名とパスワードを構成します。 次の例では、usernamepassword をオペレーション エクスペリエンス Web UI での資産エンドポイント構成のためのシークレット参照として使用します。

    ユーザー名とパスワードのプレースホルダーを、OPC UA サーバーへの接続に使用する資格情報に置き換えます。

    ユーザー名とパスワードを構成するには、次のコードを実行します。

    # Create username Secret in Azure Key Vault
      az keyvault secret set \
        --name "username" \
        --vault-name "<your-azure-key-vault-name>" \
        --value "<your-opc-ua-server-username>" \
        --content-type "text/plain"
    
    # Create password Secret in Azure Key Vault
      az keyvault secret set \
        --name "password" \
        --vault-name "<your-azure-key-vault-name>" \
        --value "<your-opc-ua-server-password>" \
        --content-type "text/plain"
    
  2. クラスター内の aio-opc-ua-broker-user-authentication カスタム リソースを構成します。 kubectl などの Kubernetes クライアントを使用して、クラスター内の SecretProviderClass オブジェクト配列に username および password シークレットを構成します。

    次の例では、シークレットを追加した後の完全な SecretProviderClass カスタム リソースを示しています。

    apiVersion: secrets-store.csi.x-k8s.io/v1
    kind: SecretProviderClass
    metadata:
      name: aio-opc-ua-broker-user-authentication
      namespace: azure-iot-operations
    spec:
      provider: azure
      parameters:
        usePodIdentity: 'false'
        keyvaultName: <azure-key-vault-name>
        tenantId: <azure-tenant-id>
        objects: |
          array:
            - |
              objectName: username
              objectType: secret
              objectVersion: ""
            - |
              objectName: password
              objectType: secret
              objectVersion: ""
    

    Note

    クラスターへの Azure Key Vault 証明書のプロジェクションにかかる時間は、構成されたポーリング間隔によって異なります。

オペレーション エクスペリエンスで、資産エンドポイントを構成するときに [ユーザー名とパスワード] オプションを選択します。 ユーザー名とパスワードの値を格納する参照の名前を入力します。 この例では、参照の名前は usernamepassword です。