Azure Logic Apps を使用し、ワークフロー内のメッセージをセキュリティで保護するための証明書を統合アカウントに追加する
適用対象: Azure Logic Apps (従量課金プラン + Standard)
ロジック アプリの企業間 (B2B) ワークフローで機密メッセージを交換する必要がある場合は、証明書を使用することでこの通信に関するセキュリティを強化できます。 証明書は、次の方法で通信をセキュリティで保護するのに役立つデジタル ドキュメントです。
電子通信で参加者の ID を確認する。
メッセージの内容を暗号化する。
メッセージにデジタル署名する。
ワークフローで使用できる証明書の種類は次のとおりです。
パブリック証明書: これはパブリック インターネットの証明機関 (CA) から購入する必要があります。 これらの証明書にキーは必要ありません。
プライベート証明書または "自己署名証明書": これはお客様自身が作成して発行する必要があります。 ただし、これらの証明書には、Azure キー コンテナー内の秘密キーが必要です。
ロジック アプリを初めて使用する場合は、「Azure Logic Apps とは」を参照してください。 B2B エンタープライズ統合の詳細については、「Azure Logic Apps と Enterprise Integration Pack を使用した B2B エンタープライズ統合ワークフロー」をご確認ください。
前提条件
Azure アカウントとサブスクリプション。 サブスクリプションをまだお持ちでない場合には、無料の Azure アカウントにサインアップしてください。
エンタープライズ統合および B2B ワークフローで使用する成果物 (取引先、契約、証明書など) を定義して保存する統合アカウント リソース。 このリソースでは、次の要件が満たされている必要があります。
ロジック アプリ リソースと同じ Azure サブスクリプションに関連付けられている。
ロジック アプリ リソースと同じ場所または Azure リージョンに存在する。
従量課金ロジック アプリ リソースがある場合、ワークフローで成果物を使用するには、その前に統合アカウントをロジック アプリ リソースにリンクする必要があります。
ロジック アプリ (従量課金) のワークフローで使用する証明書を作成、追加するのに、ロジック アプリ リソースはまだ必要ありません。 ただし、それらの証明書をワークフローで使用するときに、ロジック アプリ リソースで、それらの証明書を保存するための、リンクされた統合アカウントが必要になります。
Standard ロジック アプリ リソースがある場合、統合アカウントにロジック アプリ リソースへのリンクは必要ありませんが、AS2、X12、EDIFACT の各操作を使用すると共に、パートナー、契約、証明書などの他の成果物を引き続き保存する必要があります。 統合アカウントは、ロジック アプリ リソースと同じ Azure サブスクリプションを使用することや、ロジック アプリ リソースと同じ場所に存在することなど、他の要件も満たす必要があります。
プライベート証明書の場合は、次の前提条件を満たす必要があります。
Azure Key Vault に秘密キーを追加し、 [キー名] を指定します。 詳細については、Azure Key Vault への秘密キーの追加に関するページを参照してください。
キー コンテナーに対する操作を実行するには、Azure Logic Apps サービスを承認します。 Azure Logic Apps サービス プリンシパルへのアクセスを許可するには、Azure ロールベースのアクセス制御を使用して、キー コンテナーへのアクセスを管理します。 詳細については、「Azure のロールベースのアクセス制御を使用して Key Vault のキー、証明書、シークレットへのアクセス権を付与する」を参照してください。
Note
キー コンテナーでアクセス ポリシーを使用している場合は、Azure ロールベースのアクセス制御のアクセス許可モデルへの移行を検討してください。
"ロジック アプリのサービス プリンシパル '7cd684f4-8a78-49b0-91ec-6a35d38739ba' に 'list' 操作、'get' 操作、'decrypt' 操作、'sign' 操作のためのアクセスを許可することで、Key Vault に対する操作の実行をロジック アプリに承認してください。" というエラーが表示された場合は、証明書のキー使用法プロパティが Data Encipherment に設定されていないことが考えられます。 設定されていない場合は、キー使用法プロパティを Data Encipherment に設定して証明書を再作成する必要があります。 証明書を確認するには、証明書を開いて [詳細] タブを選択し、[キー使用法] プロパティを確認します。
キー コンテナーに対応するパブリック証明書を追加します。 この証明書は、メッセージの署名と暗号化のために、契約の送信と受信の設定に表示されます。 たとえば、Azure Logic Apps における AS2 メッセージ設定のリファレンスのページを参照してください。
統合アカウント内に、少なくとも 2 つの取引先と、それらのパートナー間の 1 つの契約。 契約には、ホスト パートナーとゲスト パートナーが必要です。 また、契約では、両方のパートナーが、AS2、X12、EDIFACT、または RosettaNet 契約に適した同じまたは互換性のある "ビジネス ID" 修飾子を使用する必要があります。
必要に応じて、証明書を使用するロジック アプリ リソースとワークフロー。 ワークフローには、ロジック アプリのワークフローを開始するトリガーが必要です。 ロジック アプリ ワークフローを作成したことがない場合は、従量課金ロジック アプリ ワークフローの例を作成するクイック スタートのページを参照してください。
パブリック証明書を使用する
ワークフローで "パブリック証明書" を使用するには、最初に証明書を統合アカウントに追加する必要があります。
Azure portal の検索ボックスに「
integration accounts
」と入力し、 [統合アカウント] を選択します。[統合アカウント] で、証明書を追加する統合アカウントを選択します。
統合アカウント メニューの [設定] で、 [証明書] を選択します。
[証明書] ペインで、 [追加] を選択します。
[証明書の追加] ペインで、証明書に関する次の情報を指定します。
プロパティ 必要 値 内容 件名 はい <証明書名> 証明書の名前 (この例では publicCert
)証明書の種類 はい パブリック 証明書の種類 [MSSQLSERVER のプロトコルのプロパティ] はい <証明書ファイル名> 追加する証明書ファイルを参照するには、 [証明書] ボックスの横にあるフォルダー アイコンを選択します。 使用する証明書を選択します。 終了したら、 [OK] を選択します。
選択した内容が Azure によって確認されると、証明書がアップロードされます。
プライベート証明書を使用する
ワークフローで "プライベート証明書" を使用するには、まず秘密キーの前提条件を満たし、統合アカウントにパブリック証明書を追加する必要があります。
Azure portal の検索ボックスに「
integration accounts
」と入力し、 [統合アカウント] を選択します。[統合アカウント] で、証明書を追加する統合アカウントを選択します。
統合アカウント メニューの [設定] で、 [証明書] を選択します。
[証明書] ペインで、 [追加] を選択します。
[証明書の追加] ペインで、証明書に関する次の情報を指定します。
プロパティ 必要 値 内容 件名 はい <証明書名> 証明書の名前 (この例では privateCert
)証明書の種類 はい プライベート 証明書の種類 [MSSQLSERVER のプロトコルのプロパティ] はい <証明書ファイル名> 追加する証明書ファイルを参照するには、 [証明書] ボックスの横にあるフォルダー アイコンを選択します。 キー コンテナーに格納されている秘密キーに対応するパブリック証明書を選択します。 リソース グループ はい <統合アカウントのリソース グループ> 統合アカウントのリソース グループ (この例では Integration-Account-RG
)Key Vault はい <キー コンテナー名> キー コンテナー名 キー名 はい <key-name> キー名 終了したら、 [OK] を選択します。
選択した内容が Azure によって確認されると、証明書がアップロードされます。