次の方法で共有


Azure Logic Appsのワークフローで B2B メッセージをセキュリティで保護するための証明書を追加する

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

企業間 (B2B) の統合は、多くの場合、発注書、請求書、取引先契約などの機密データとメッセージを交換します。 適切な暗号化と署名がないと、これらのメッセージは改ざんや偽装に対して脆弱になります。 このリスクに対処するために、ワークフローで使用する B2B アクションのセキュリティ 証明書 を追加できます。 証明書は、次のタスクを実行するデジタル ドキュメントです。

  • メッセージ交換でパートナー ID を検証します。
  • メッセージを暗号化または復号化して、目的のパートナーのみがメッセージを読み取ることができるようにします。
  • 受信者が送信者を確認できるように、メッセージにデジタル署名します。

このガイドでは、証明書を追加し、使用する B2B アクションの証明書を指定するための契約を設定する方法について説明します。 AS2 メッセージの場合、契約設定によって、AS2 アクションが自動的に使用する証明書が制御されます。 ワークフロー アクションは、証明書を使用するために他に何もする必要はありません。

注記

AS2 パイプラインはセキュリティ、証明書、否認を処理し、AS2 プロトコルには暗号化とデジタル署名が必要です。 AS2 メッセージの場合は、契約レベルで証明書を設定します。 AS2 契約には、この目的のために証明書の設定を公開する 送信設定受信設定 があります。 詳細については、「Azure Logic Apps の AS2 メッセージ設定に関する参考情報」を参照してください。

X12、EDIFACT、RosettaNet などの他のパイプラインとプロトコルは、トランスポート またはアダプター レベルなどの他のレベルでセキュリティを処理します。 これらの契約には、メッセージの形式、構造、および処理ルールを定義するための設定を公開する 送信設定受信設定 があります。 X12 や EDIFACT などの EDI パイプラインは、解析、検証、および受信確認を処理します。 詳細については、以下を参照してください:

前提条件

  • Azure アカウントとサブスクリプション。 無料のAzure アカウントを取得します。

  • 統合アカウント リソース

    このリソースを使用して、エンタープライズ統合と B2B ワークフロー用の B2B 成果物を定義して格納します。

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

    • 統合アカウントには、次の B2B アーティファクトが必要です。

      • 2 つ以上の 取引先 (通常は組織と、少なくとも 1 つの他の組織)。

      • これらのパートナー間の契約

        • 契約には、ホスト パートナーとゲスト パートナーが必要です。 通常、組織はホスト パートナーですが、別の組織はゲスト パートナーです。

        • 両方のパートナーは、契約の種類 (AS2 など) に適した同じまたは互換性のある ビジネス ID 修飾子を使用する必要があります。

  • ゲスト パートナー組織とホスト パートナー組織の証明書。 次の証明書を使用できます。

    タイプ 内容
    プライベート証明書または 自己署名 証明書 組織の次のタスクを処理するために作成する証明書 (.pfx) ファイル。

    - パートナーから送信されたメッセージの暗号化を解除します。
    - パートナーに送信するメッセージにデジタル署名します。

    この証明書では、メッセージの暗号化を解除して署名するために、Azureのキー コンテナーに対応する秘密キーを追加する必要があります。 詳細については、関連する前提条件を引き続きお読みください。
    パブリック証明書 ゲスト パートナーの次のタスクを処理するための証明書 (.cer) ファイル。

    - パートナーに送信するメッセージを暗号化します。
    - パートナーから送信されたメッセージのデジタル署名を検証します。

    これらの証明書は、パブリック インターネット 証明機関 (CA) から購入できます。 パートナー証明書には秘密キーは必要ないため、この目的で公開専用証明書を使用できます。

    プライベート証明書の場合は、次の要件を満たします。

    1. Azure Key Vault で、キー コンテナー リソースを作成し、秘密キーを追加して、キー名を取得します。

    2. Azure Logic Apps がキー ボルトで操作を行うことを承認します。

      Azure Logic Appsのサービス プリンシパルへのアクセスを許可するには、Azureのロールベースのアクセス制御を使用して、キー保管庫へのアクセスを管理します。 詳細については、Azure ロールベースのアクセス制御を使用して Key Vault のキー、証明書、およびシークレットにアクセスを提供に関するページを参照してください。

      注記

      キー コンテナーでアクセス ポリシーを使用する場合は、Azure のロールベースアクセス制御の権限モデルへの移行を検討してください。

      "ロジック アプリのサービス プリンシパル '7cd684f4-8a78-49b0-91ec-6a35d38739ba' に 'list' 操作、'get' 操作、'decrypt' 操作、'sign' 操作のためのアクセスを許可することで、Key Vault に対する操作の実行をロジック アプリに承認してください。" というエラーが表示された場合は、証明書のキー使用法プロパティが Data Encipherment に設定されていないことが考えられます。 その場合は、証明書を再作成し、 キー使用法 プロパティを データ暗号化に設定する必要があります。

      証明書を確認するには、証明書を開いて [詳細] タブを選択し、[キー使用法] プロパティを確認します。

    3. 統合アカウントで、キー コンテナーの秘密キーに関連付けられている 公開証明書を追加 します。

  • 証明書を使用するロジック アプリのリソースとワークフロー。

    • ワークフローは、シナリオに最適な任意のトリガーから開始できます。

    • 統合アカウントを ロジック アプリ リソースにリンクします。

      このリンクは従量課金ロジック アプリには必須ですが、Standard ロジック アプリの場合は省略可能です。 ただし、リンクを使用すると、複数の従量課金ロジック アプリと Standard ロジック アプリ間で同じ統合アカウントと B2B 成果物を共有できます。

    詳細については、以下を参照してください:

プライベート証明書を追加する

組織の証明書を統合アカウントに追加するには、次の手順に従います。

  1. 対応する公開証明書をキー コンテナーに追加するなど、 秘密キーの前提条件を満たしていることを確認します。

  2. Azure ポータル検索ボックスに「integration accounts」と入力し、Integration accounts を選択します。

  3. [ 統合アカウント ] ページで、証明書を追加する統合アカウントを選択します。

  4. 統合アカウントのサイドバーの [設定] で、[ 証明書] を選択します。

  5. [ 証明書 ] ページのツール バーで、[ 追加] を選択します。

  6. [ 証明書の追加 ] ウィンドウで、次の情報を指定します。

    プロパティ 必要 内容
    名前 はい < 証明書名> 証明書名。
    証明書の種類 はい プライベート 証明書の種類。
    証明書 はい < 証明書ファイル名> 1. [証明書 ] ボックスの横にあるフォルダー アイコンを選択します。
    2. キー コンテナー内の秘密キーに関連付けられている証明書 (.pfx) ファイルを見つけて選択し、[ 開く] を選択します。
    リソース グループ はい < 統合アカウントのリソース グループ> 統合アカウントのリソース グループ。
    Key Vault はい < キーボールト名> キーボールト名。
    キー名 はい < key-name> 秘密キー名。

    次の例は、プライベート証明書のサンプル情報を示しています。

    画面には、Azure ポータル、統合アカウント、[追加] が選択された [証明書] ページのツール バー、プライベート証明書の詳細が表示された [証明書の追加] ウィンドウが表示されます。

  7. 終了したら、 [OK] を選択します。

    Azure が選択内容を検証すると、証明書が Certificates ページに表示されます。例を示します。

    プライベート証明書を含む統合アカウントと [証明書] ページを示すスクリーンショット。

パートナーのパブリック証明書を追加する

パートナーのパブリック証明書を統合アカウントに追加するには、次の手順に従います。

  1. Azure ポータル検索ボックスに「integration accounts」と入力し、Integration accounts を選択します。

  2. [ 統合アカウント ] ページで、証明書を追加する統合アカウントを選択します。

  3. 統合アカウントのサイドバーの [設定] で、[ 証明書] を選択します。

  4. [ 証明書 ] ページのツール バーで、[ 追加] を選択します。

  5. [ 証明書の追加 ] ウィンドウで、次の情報を指定します。

    プロパティ 必要 内容
    名前 はい < 証明書名> 証明書名。
    証明書の種類 はい パブリック 証明書の種類。
    証明書 はい < 証明書ファイル名> 1. [証明書 ] ボックスの横にあるフォルダー アイコンを選択します。
    2. パートナーの証明書 (.cer) ファイルを見つけて選択し、[ 開く] を選択します。

    次の例は、パブリック証明書のサンプル情報を示しています。

    画面には、Azure ポータル、統合アカウント、[追加] が選択された [証明書] ページのツール バー、およびパブリック証明書の詳細が表示された [証明書の追加] ウィンドウが表示されます。

  6. 終了したら、 [OK] を選択します。

    Azure が選択を検証した後、証明書は Certificates ページに表示されます。例えば、次のようになります。

    スクリーンショットは、統合アカウントと、パブリック証明書を含む [証明書] ページを示しています。

AS2 契約の証明書を設定する

必要な証明書を追加した後、AS2 契約では、署名とメッセージの暗号化のために、契約の受信設定送信設定で使用する証明書を手動で指定する必要があります。

このタスクを完了するには、次の手順に従います。

  1. Azure ポータルで、統合アカウントを開きます。

  2. 統合アカウントのサイドバーの [設定] で、[ 契約] を選択します。

  3. [契約] ページ 、AS2 契約を選択します。 [契約] ページのツール バー 、[編集] を選択 します

  4. [編集] ウィンドウで、次のオプションを選択し、有効にする機能に基づいて必要な情報を指定します。

    [設定] ウィンドウ 内容
    受信設定 - メッセージに署名する必要がある: このオプションを選択し、証明書を選択して、受信したメッセージに対するパートナーの署名を検証します。

    - メッセージを暗号化する必要がある: このオプションを選択し、パートナーからのメッセージを復号化するための証明書を選択します。
    送信設定 - メッセージ署名を有効にする: このオプションを選択し、送信するメッセージに署名するアルゴリズムと証明書を選択します。

    - メッセージ暗号化を有効にする: このオプションを選択し、送信するメッセージを暗号化するためのアルゴリズムと証明書を選択します。

    詳細については、Azure Logic Apps における AS2 メッセージ設定の参考資料 を参照してください。