Azure Logic Apps でワークフローを使用して AS2 メッセージを交換する

適用対象: Azure Logic Apps (従量課金 + Standard)

Azure Logic Apps を使用して作成したワークフローで AS2 メッセージを送受信するには、AS2(v2) コネクタを使用します。これにより、AS2 コミュニケーションをサポートして管理するためのアクションが提供されます。 追跡機能が必要な場合は、元の AS2 コネクタは引き続き使用できますが、非推奨になります。

追跡機能を除き、AS2 (v2)コネクタが元のAS2 コネクタと同じ機能を提供します。このコネクタは、Azure Logic Apps ランタイムにとってネイティブに実行し、メッセージ サイズ、スループット、待ち時間について大幅なパフォーマンスの向上を実現します。 元の AS2 コネクタとは異なり、 AS2 (v2) コネクタでは、統合アカウントへの接続を作成する必要はありません。 代わりに、前提条件で説明されているように、コネクタを使用する予定のロジック アプリ リソースに統合アカウントがリンクされていることを確認してください。

このハウツー ガイドでは、AS2 エンコードおよびデコード アクションを既存のロジック アプリ ワークフローに追加する方法について説明します。 AS2 (v2) コネクタにはトリガーが含まれていないため、任意のトリガーを使用してワークフローを開始できます。 このガイドの例では、要求トリガーを使用します。

コネクタに関するテクニカル リファレンス

AS2 コネクタのバージョンは、ロジック アプリの種類とホスト環境基づいて異なります。

ロジック アプリ 環境 コネクタのバージョン
従量課金プラン マルチテナント Azure Logic Apps AS2 (v2) および AS2 マネージド コネクタ (Standard クラス)。 AS2 (v2) コネクタはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。 詳細については、次のドキュメントを確認してください。

- AS2 マネージド コネクタの参照
- AS2 (v2)マネージド コネクタの操作
- AS2 メッセージの制限
従量課金プラン 統合サービス環境 (ISE) AS2 (v2)AS2 マネージド コネクタ (Standard クラス) とAS2の、Standard クラスとは異なるメッセージ制限がある ISE バージョン。 AS2 (v2) コネクタはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。 詳細については、次のドキュメントを確認してください。

- AS2 マネージド コネクタの参照
- AS2 (v2)マネージド コネクタの操作
- AS2 メッセージの制限
Standard シングルテナント Azure Logic Apps と App Service Environment v3 (Windows プランのみ) AS2 (v2) 組み込みコネクタと AS2 マネージド コネクタ。 組み込みバージョンには次のような違いがあります。

組み込み式バージョンはアクションのみを提供しますが、シナリオに適した任意のトリガーを使用できます。

- 組み込みバージョンは、Azure 仮想ネットワークに直接アクセスできます。 オンプレミス データ ゲートウェイは必要ありません。

詳細については、次のドキュメントを確認してください。

- AS2 マネージド コネクタの参照
- AS2 (v2) 組み込みのコネクタ操作
- AS2 メッセージの制限

AS2 (v2) 操作

AS2 (v2) コネクタにはトリガーがありません。 次の表では、メッセージを送信するときにセキュリティと信頼性を確立するために AS2 (v2) コネクタによって提供されるアクションについて説明します:

アクション 説明
AS2 エンコード アクション 非否認のサポートに役立つメッセージ処理通知 (MDN) を使用して、暗号化、デジタル署名、受信確認を提供します。 たとえば、このアクションは AS2/HTTP ヘッダーを適用し、構成時に次のタスクを実行します。

- 送信メッセージに署名します。
- 送信メッセージを暗号化します。
- メッセージを圧縮します。
- MIME ヘッダー内のファイル名を送信します。
AS2 デコード アクション 暗号化の解除、デジタル署名、メッセージ処理通知 (MDN) を介した受信確認を提供します。 たとえば、このアクションは、構成時に次のタスクを実行します。

- AS2/HTTP ヘッダーを処理します。
- 受信した MDN と元の送信メッセージを調整します。
- 否認不可データベースのレコードを更新して関連付ける。
- AS2 状態レポート用のレコードを書き込みます。
- ペイロードコンテンツを base64 エンコードとして出力します。
- MDN が必要かどうかを判断します。 AS2 契約に基づいて、MDN を同期または非同期のどちらにするかを決定する。
- AS2 契約に基づいて、同期または非同期の MDN を生成します。
- MDN に対して関連付けトークンとプロパティを設定します。
- 署名を確認します。
- メッセージの暗号化を解除します。
- メッセージを展開解除します。
- メッセージ ID の重複を確認し不許可にします。

前提条件

  • Azure アカウントとサブスクリプション。 サブスクリプションをまだお持ちでない場合には、無料の Azure アカウントにサインアップしてください。

  • AS2 操作を使用するロジック アプリ リソースとワークフロー。

  • エンタープライズ統合と B2B ワークフローで使用するために成果物を定義して格納するエンタープライズ統合アカウント

    • 統合アカウントとロジック アプリ リソースの両方が、同じ Azure サブスクリプションと Azure リージョンに存在する必要があります。

    • ワークフローで使用される AS2 操作に参加する少なくとも 2 つの取引先を定義します。 両方の取引先の定義では、同じ "ビジネス ID" 修飾子 (このシナリオでは AS2Identity) を使用する必要があります。

    • ワークフローに参加する取引先間の AS2 契約を定義します。 契約には、ホスト パートナーとゲスト パートナーが必要です。 他の取引先との間のメッセージの内容が、契約の種類と一致している必要があります。 メッセージの送受信時に使用する契約設定については、「AS2 メッセージ設定」を参照してください。

  • 従量課金 または Standard のいずれのロジック アプリ ワークフローで作業しているかに基づいて、ロジック アプリ リソースが統合アカウントのリンクを必要な場合があります:

    ロジック アプリワークフロー リンクが必要ですか?
    従量課金 - AS2 (v2) コネクタ: 接続が必要ですが、リンクは必要ありません
    - AS2 コネクタ: リンクは必要ですが、接続は必要ありません
    Standard - AS2 (v2) コネクタ: リンクが必要ですが、接続は必要ありません
    - AS2 コネクタ: 接続は必要ですが、リンクは必要ありません
  • 証明書の管理に Azure Key Vault を使用する場合は、ご利用のコンテナー キーで暗号化操作および暗号化の解除操作が許可されていることを確認してください。 そのようになっていない場合、エンコードとデコードのアクションは失敗します。

    1. Azure portal で、キー コンテナーを開きます。 キー コンテナー メニューの [設定] で、 [キー] を選択します。

    2. [キー] ウィンドウで、ご自分のキーを選択します。 [バージョン] ウィンドウで、使用しているキーのバージョンを選択します。

    3. [キーのバージョン] ウィンドウの [許可された操作] で、 [暗号化] および [暗号化解除] の操作がオンになっていることを確認します。例を次に示します。

      Screenshot showing the Azure portal with the key vault, key, and key version panes open, which has the

AS2 メッセージをエンコードする

従量課金またはStandardロジック アプリ ワークフローのタブを選択します:

AS2 v2 コネクタ

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、AS2 のエンコード という名前の AS2 (v2) アクションをワークフローに追加します

  3. アクション情報ボックスに、以下の情報を指定します:

    プロパティ Required 説明
    エンコードするメッセージ はい メッセージ ペイロードは、要求トリガーからの Body出力です。

    1. 動的コンテンツ リストが開くように、[ エンコードするメッセージ ] ボックスにカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ 本文]を選択します。
    AS2 の送信元 はい AS2 契約で指定されているメッセージ送信者のビジネス識別子で、例えば、Fabrikam
    AS2 の宛先 はい AS2 契約で指定されているメッセージ受信者のビジネス識別子で、例えば、Contoso

    Screenshot showing the

AS2 コネクタ

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、AS2 メッセージにエンコード という名前の AS2 アクションをワークフローに追加します

  3. 統合アカウントへの接続を作成するように求めるメッセージが表示されたら、次の情報を入力します。

    プロパティ Required 説明
    接続名 はい 接続の名前
    統合アカウント はい 使用可能な統合アカウントの一覧から、使用するアカウントを選択します。

    次に例を示します。

    Screenshot showing Consumption workflow and

  4. 完了したら [作成] を選択します。

  5. アクション情報ボックスに、以下の情報を指定します。

    プロパティ Required 説明
    AS2-From はい AS2 契約で指定されているメッセージ送信者のビジネス識別子で、例えば、Fabrikam
    AS2-To はい AS2 契約で指定されているメッセージ受信者のビジネス識別子で、例えば、Contoso
    body はい メッセージ ペイロードは、例えば、要求 トリガーからの Body出力です。

    1. 動的なコンテンツ リストが開いたままになるように、[本文] ボックスの中にカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ 本文]を選択します。

    Screenshot showing the

AS2 メッセージをデコードする

従量課金またはStandardロジック アプリ ワークフローのタブを選択します:

AS2 v2 コネクタ

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、AS2 のデコード という名前の AS2 (v2) アクションをワークフローに追加します

  3. アクション情報ボックスに、以下の情報を指定します:

    プロパティ Required 説明
    body はい デコードするメッセージの本文、例えば、要求トリガーからの 本文 出力。

    1. 動的なコンテンツ リストが開いたままになるように、[本文] ボックスの中にカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ 本文]を選択します。
    ヘッダー はい デコードするメッセージのヘッダー、例えば、要求トリガーからの ヘッダー 出力。

    1. 動的なコンテンツ リストが開いたままになるように、[ヘッダー] ボックスの中にカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ ヘッダー]を選択します。

    次に例を示します。

    Screenshot showing the

AS2 コネクタ

  1. Azure portal のデザイナーで、ロジック アプリ リソースとワークフローを開きます。

  2. デザイナーで、次の一般的な手順に従って、AS2 メッセージのデコード という名前の AS2 アクションをワークフローに追加します

  3. 統合アカウントへの接続を作成するように求めるメッセージが表示されたら、次の情報を入力します。

    プロパティ Required 説明
    接続名 はい 接続の名前
    統合アカウント はい 使用可能な統合アカウントの一覧から、使用するアカウントを選択します。

    次に例を示します。

    Screenshot showing Consumption workflow and

  4. 完了したら [作成] を選択します。

  5. アクション情報ボックスに、以下の情報を指定します。

    プロパティ Required 説明
    body はい メッセージ ペイロードは、要求トリガーからの Body出力です。

    1. 動的なコンテンツ リストが開いたままになるように、[本文] ボックスの中にカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ 本文]を選択します。
    ヘッダー はい デコードするメッセージのヘッダー、例えば、要求トリガーからの ヘッダー 出力。

    1. 動的なコンテンツ リストが開いたままになるように、[ヘッダー] ボックスの中にカーソルを置きます。
    2. [HTTP 要求の受信時] セクション名の横の [もっと見る] を選択します。
    3. 出力リストから[ ヘッダー]を選択します。

    Screenshot showing the

サンプル

完全に動作するロジック アプリとサンプルの AS2 (v2) シナリオのデプロイを試すには、AS2 (v2) ロジック アプリのテンプレートとシナリオに関するページを参照してください。

問題のトラブルシューティング

  • 署名済みまたは暗号化されたメッセージを送信するときの問題

    さまざまな SHA256 アルゴリズム形式を試すことを検討してください。 AS2 の仕様では SHA256 フォームに関する情報は提供されないため、各プロバイダーでは独自の実装または形式が使用されます。

次のステップ