問題
アプリ サービスがあり、特定の証明書を持つユーザーが私に電話をかけ、証明書の拇印をサービスに送信できるようにしたいと考えています。Azure ではどのようにすればよいですか?
さらに詳しい説明
たとえば、独自の証明書 (署名者) を使用してサービスを呼び出すことができる 10 個の異なるシステムがあるとします。それらを証明書ストア内の証明書と照合し、そのうちの 1 つである場合は、拇印を HTTP ヘッダーに入れてアプリ サービスに送信します。
これまでに発見したこと:
これはファイアウォールの仕事のように思えたので、「Application Gateway」が解決策のようであることを確認しました。しかし、HTTP ヘッダーにサムプリントを追加するために設定できる場所を見つけることができませんでした。
何か案は?
答え1
Azure Application Gateway は、このケースでは証明書の処理に限定されています。このケースでは、非常に一般的な解決策の 1 つは、Azure Key Vault 証明書を使用して証明書を保存することです。誰かが Web アプリに要求を送信するたびに、アプリは Azure Key Vault 証明書識別子を呼び出して、拇印を取得して検証する必要があります。
この記事は良いスタートになるだろうhttps://docs.microsoft.com/en-us/rest/api/keyvault/証明書とポリシー
REST APIを使用する場合は、証明書の取得操作(https://docs.microsoft.com/en-us/rest/api/keyvault/getcertificate/getcertificate)。応答内の x5t 値は、サムプリント情報です。
なぜ Azure Key Vault を推奨するのでしょうか。それは、証明書と暗号化の管理用に設計されているからです。Azure Key Vault が最高だとか、非常に安全だとか言うつもりはありませんが、少なくとも確実に問題に対処するように設計されています。