はい、Managed Identityを使用して、関数アプリからAzure Key Vaultにアクセスできます。これがどのように機能しますか:
1.関数アプリでマネージメントアイデンティティを有効にする:Azure Functionアプリに移動し、[設定]セクションに移動し、IDをクリックして、[マネージドアイデンティティが割り当てられたシステムをオンにします。変更を保存[1] [4]。
2。キーボールにアクセス許可を割り当てます:Azureキーボールトに移動し、アクセスコントロール(IAM)に移動し、ロール割り当てを追加します。キーボールトシークレットユーザーロールを選択し、関数アプリ[4] [7]の管理されたIDに割り当てます。
3.アクセスキーボールトシークレット:機能アプリでは、管理されたアイデンティティを使用してキーボールトから秘密を参照できるようになりました。これは通常、関数アプリ[1] [5]の構成設定で秘密の参照を構成することによって行われます。
マネージドアイデンティティを使用すると、アプリケーションコードに資格情報を保存する必要なく、キーボールトにアクセスする安全な方法が提供されます。これにより、Key Vault [6]など、他のAzureリソースにアクセスするための権限を持つペルソナとして機能アプリが機能することができます。
管理されたアイデンティティには、システムが割り当てられ、ユーザーが割り当てられた2つのタイプがあります。システムが割り当てられたアイデンティティは、関数アプリのライフサイクルに関連付けられていますが、ユーザーが割り当てられたアイデンティティは複数のアプリケーションで使用できるスタンドアロンリソースです[3] [7]。両方のタイプを使用してキーボールトにアクセスできますが、ユーザーが割り当てたアイデンティティは、使用するアイデンティティを指定するために追加の構成が必要です[5]。
引用:
[1] https://nanddeepn.github.io/posts/2023-06-25-read-key-vault-secret-from-function-mi/
[2] https://www.reddit.com/r/azure/comments/1cumd51/how_do_i_get_access_key_vault_via_managed/
[3] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-managed-identities/
[4] https://www.appgovscore.com/blog/connect-to-microsoft-graph-api-securely-function-app-azure-key-vault
[5] https://stackoverflow.com/questions/76439670/azure-function-app-gsetting-from-key-vault-Accessible-system-assigned-identi
[6] https://docs.azure.cn/en-us/azure-functions/functions-identityベースの接続 - チュートリアル
[7] https://learn.microsoft.com/en-us/azure/frontdoor/managed-identity
[8] https://stackoverflow.com/questions/79293711/azure-function-app-using-key-vault-managed-identity-not-authorided