app service証明書でKey Vaultにインポートしようとした時にはまった件
こんな内容をAzureのサポートに投げた
[お問い合わせの概要]
Application Gatewayの配下にApp Serviceを紐付け、Webアプリを作成しようとしております。
SSL証明書をApp Serviceで作成し、キーコンテナにインポートしようと考え、App Service 証明書の設定画面から「証明書の構成」を選択し、「手順 1: 格納」から「Azure Key Vault からの キー コンテナー の選択 」で対象のキーコンテナを選択したところ、以下のエラーが出力されてしまいます。
選択した Key Vault に証明書をリンクできませんでした。詳細については、下のエラーを確認してください。: The parameter keyVaultCsmId has an invalid value.
マネージドIDに「キー コンテナー シークレット責任者」、「キー コンテナー管理者」、「キー コンテナー証明書責任者」を付与してみましたが状況は変わりませんでした。
なお、操作しているユーザーはサブスクリプションに対して所有者のロールを付与しています。
本件について、事象を解消する方法をご教示ください。
端的な答え
[ご案内内容]
この度、App ServiceのSSL証明書を使用する時発生した問題について、以下の情報をご共有させていただきます。
現在、App Service 証明書でサポートされているのは Key Vault のアクセス ポリシーのみであり、RBAC モデルはサポートされていません。
詳細につきまして、以下のMicrosoft公式ドキュメントをご参照ください。
抜粋:
現在、App Service 証明書でサポートされているのは Key Vault のアクセス ポリシーのみであり、RBAC モデルはサポートされていません。
いや、まあそうなのかも知れないけどエラー内容が不親切すぎてわかんないよ!
Key Vaultもapp service証明書も初めて使う流れで、UI的にKey Vaultを新規作成してねーみたいな流れで作らせておいて「よくわからんけど、インポートできません」みたいなエラーだされてわかるか?普通。
結局なんだったのか?
1. Key Vault アクセス ポリシーとは?
- Key Vault 固有のアクセス管理モデルです。
- ユーザーやアプリケーションに対して、**細かい操作権限(例: シークレットの取得、証明書の発行など)**を設定できます。
- Key Vault 内部のリソース(シークレット、キー、証明書)専用の仕組みです。
2. なぜ App Service 証明書はアクセス ポリシーしかサポートしないのか?
- App Service 証明書が設計上、Key Vault の細かい権限管理に依存しているため。
- RBAC(Azure全体の一貫性あるアクセス管理)は、Key Vault の高度な機能や操作(証明書の自動更新など)を完全にはカバーしていません。
- 現状、RBAC モデルへの移行には技術的な制約があるため、App Service 証明書はアクセス ポリシーのモデルのみをサポートしています。
3. 結論
- App Service 証明書を利用する際は、Key Vault のアクセス ポリシーを手動で設定する必要があります。
- 将来的に RBAC モデルがサポートされる可能性はありますが、現時点ではアクセス ポリシーを使うのが必須です。
結論
まあ勉強不足と言われればそれまでなんだけども、もーすこしユーザーフレンドリーにして欲しいな。
サポートの返信は年末年始という事もあって2週間くらいかかったけど内容はかなり親切に教えてくれた。
Discussion