Skip to main content

マイクロソフトアズールの設定

注記

Azure を設定するにはアカウントが必要です。詳細については、「」を参照してください。 マイクロソフト ウェブサイト。

すべてのモジュールはリソースと呼ばれます。

概要:Azure イベントグリッドの構造

注記

次の図は、イベントグリッドに関する実際の Azure アーキテクチャの概要が不完全です。簡略化した図は、イベントグリッドを介したクライアント間の MQTT 通信に関連する要素に焦点を当てています

個々の要素については、次のセクションで詳しく説明します。イベントグリッドは、特定のイベントグリッド名前空間のセットで構成されています

_example_img_azure_1.png

一般的な準備

イベントグリッドを使用するには、Azure アカウントに次のリソースが存在する必要があります。

  • 有効なサブスクリプション

  • リソースグループ

これら2つの重要なリソースは、主に組織と請求に必要です。

注記

リソース、これらのリソースのコンポーネント、およびそれらの設定の詳細については、を参照してください。 マイクロソフト Azure ポータル

イベントグリッド名前空間の作成

以下のステップは、との組み合わせに合わせてカスタマイズされています。 CODESYS MQTT クライアントであり、一貫性のある動作例となっています。

詳細については、以下を参照してください。 マイクロソフトによるクイックスタート

  1. 「イベントグリッド名前空間」リソースを作成します。

    詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

    このリソースには、使用するすべての機能と、最も重要な一般設定が含まれています。

  2. MQTT ブローカーを有効にします。

    経由のマイクロソフト側のアイデンティティ管理システム マイクロソフトエントラ 必須ではありません。

    Azure Event Grid の MQTT ブローカーの現在の制限と機能の詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

  3. [概要] タブをクリックし、MQTT ホスト名をコピーします。この情報は後で必要になります。

    これは、クライアントが接続できる、このイベントグリッド名前空間内の MQTT ブローカーのURLです。

MQTT クライアントの作成

  1. 作成したイベントグリッド名前空間の MQTT ブローカーに対して、ブローカーへの接続を許可する MQTT クライアントを定義します。

    MQTT クライアントの作成の詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

  2. CODESYS MQTT クライアントを作成します。

    MQTT クライアントを作成するためのフォームは、Azure ポータルでは次のようになります。

    _example_img_azure_2.png

    サムプリント認証方法を選択すると、次のセクションが表示されます。

    _example_img_azure_3.png
  3. 次の情報に従ってクライアントを設定します。

    パラメーター

    値の例

    [説明]

    Client Name

    CODESYS MQTT Client

    クライアント名は自由に選択でき、Event Grid 名前空間内で一意である必要があります。

    この名前は MQTT クライアントのクライアント ID とは関連付けられていません。

    Client Description

    My CODESYS PLC

    オプションの説明。たとえば、Event Grid 管理者がクライアントを簡単に識別できるようにするためのものです。

    Client Authentification Name

    my-auth-name

    この値は、接続を確立するときにクライアントを認証するために使用されます。

    重要

    ここで設定した値は、後のパラメータ設定で必要になります。 CODESYS MQTT クライアント。

    クライアント ID が作成された後は、Event Grid で値を変更できなくなります。

    この認証名が機能するためには、MQTT クライアントのクライアント ID またはクライアント証明書のフィールドと一致する必要がありますが、必ずしも一致する必要はありません。

    クライアントは、接続を確立するときにクライアント認証名を MQTT ユーザー名として送信する必要があります。これにより、受信した証明書をクライアントの ID に割り当てることができます。この ID は認証に使用されます。

    Client Certificate AuthentificationValidation Scheme

    Thumbprint Match

    「Thumbprint Match」認証の場合、TLSハンドシェイク中にクライアントとサーバー間で交換されるクライアント証明書からサムプリントが読み取られます。証明書のサムプリントが、このクライアント ID の Event Grid に保存されているサムプリントと一致する場合、認証は成功したと見なされます

    ヒント

    認証方法の詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

    Primary Thumbprint

    <HEX-String>

    証明書のサムプリント。クライアント ID を作成するときは、このフィールドとセカンダリサムプリントを最初に空白のままにしておくことができます。サムプリントの値は 16 進文字列です

    重要

    証明書の場合、さまざまな長さのHEX文字列を生成するいくつかのアルゴリズムを使用してサムプリントを表示できます。Azure は複数のサムプリント形式をサポートしています

    Connection Status

    Enabled

    このスイッチでは、クライアント ID を有効または無効にして、このクライアントの Event Grid MQTT ブローカーへの接続を許可または拒否できます。

    Client Attributes

    Attribute (
        Key: Group
        Type: String
        Value: MyGroup
    )

    クライアント属性は、クライアントグループへのグループ化に使用できるクライアントIDに関するメタデータです。この例では、という名前の属性があります Group タイプの String が作成され、その値が MyGroup 設定されています。これにより、後でクエリでクライアントを識別できます。

クライアントグループの作成

クライアントグループとは、たとえば共通のポリシーや権限を適用する必要があるクライアントのグループです。

  1. クライアントグループを作成します。

    詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

    少なくとも 1 つのグループを作成する必要があります。

    クライアントグループを作成するフォームは、Azure ポータルでは次のようになります。

    _example_img_azure_4.png
  2. 次の情報に従ってクライアントグループを設定します。

    パラメーター

    値の例

    [説明]

    Group Name

    MyClientGroup

    自由に選択できるグループ名で、後でこのクライアントグループをリンクする際に使用されます。

    Query

    attributes.Group = "MyGroup"

    特性に基づいてクライアントをグループ化するためのクエリ。

    クエリの構造化方法については、以下を参照してください。 Microsoft Azure のヘルプページ

    この値の例では、 Group クライアントの作成時に以前に定義されていた属性が使用され、次の項目でチェックされます。 MyGroup 値。前のステップで作成されているクライアントが 1 つだけの場合、このクライアントグループに割り当てられるのはそのクライアントだけです。

    Description

    My Clients

    管理者向けヘルプとしての説明 (任意)。

トピックスペースを作成する

トピックスペースは MQTT トピックテンプレートのコレクションです。ここでは、アクセス権限の設定でまとめて権限を割り当てるトピックを定義します

  1. トピックスペースを作成する

    詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

    トピックスペースを作成するフォームは、Azure ポータルでは次のようになります。

    _example_img_azure_5.png
  2. 次の情報に従ってトピックスペースを設定します。

    パラメーター

    値の例

    [説明]

    Name

    MyTopicSpace

    自由に選択できる名前で、後でこのトピックスペースをリンクする際に使用されます。

    Topic templates

    permitted/#

    ワイルドカード (#, +) と変数はトピックテンプレートで使用できます。

    詳細については、以下を参照してください。 Microsoft Azure のヘルプページ

    サンプル値では、トピック階層のルートが次のものである限り、任意のトピック (任意にネストされているものも含む) がこのトピックスペースに割り当てられます。 permitted

権限の定義

権限は、クライアントグループとトピックスペースの組み合わせに付与されます。設定できる権限には次の 2 種類があります。

  • サブスクライバー:指定されたクライアントグループのすべてのクライアントは、指定されたトピックスペースに割り当てられているトピックからのメッセージを読み取ることができます。

  • パブリッシャー:指定されたクライアントグループのすべてのクライアントは、指定されたトピックスペースに割り当てられたトピックにメッセージを書き込むことができます。

  1. クライアントグループとトピックスペースの権限を定義します。

    トピックスペースを作成するフォームは、Azure ポータルでは次のようになります。

    _example_img_azure_6.png
  2. 次の情報に従って権限を設定します。

    パラメーター

    値の例

    [説明]

    Name

    MySubscriberPermission / MyPublisherPermission

    自由に選べるユニークな名前。

    Client Group Name

    MyClientGroup

    既存のクライアントグループへの参照。サンプル値 MyClientGroup 以前に作成したクライアントグループをこの権限にリンクします。これにより、このグループのすべてのクライアントに、定義済みのトピックスペース () への対応するアクセス権が付与されますTopic Space Name)。

    Topic Space Name

    MyTopicSpace

    既存のトピックスペースへの参照。サンプル値 MyTopicSpace 以前に作成したトピックスペースをこの権限にリンクします。つまり、指定したクライアントグループのすべてのクライアント (Client Group Name) には、ここで指定したトピックスペースに割り当てられたトピックの権限が付与されます。

    Permission

    Subscriber /Publisher

    トピックスペース内のクライアントには、読み取りまたは書き込み権限が付与されます。

以上で、とりあえずAzure側の設定は終了です。