Azure関数の管理IDの構成には、システムが割り当てられたシステムまたはユーザーが割り当てられたマネージアイデンティティのいずれかを使用します。両方のタイプをセットアップする方法は次のとおりです。
Enabling Systemがマネージャーされたアイデンティティを割り当てます
1. Azure Portalに移動:AzureポータルのAzure Functionアプリに移動します。
2。[ID]オプションを選択します。左メニューで、[設定]を選択し、[ID]をクリックします。
3.システムが割り当てられたシステムを有効にする:[システム割り当て]タブで、[ステータス]をオンに切り替えて[保存]をクリックします。これにより、functionアプリと同じ名前を持つ管理されたアイデンティティが作成されます。
4.アクセス許可:リソースに移動します(たとえば、AzureストレージまたはSQLデータベース)機能にアクセスします。アクセスコントロール(IAM)、ロール割り当てに移動し、必要な役割[1] [3] [7]に管理されたアイデンティティを追加することにより、適切な役割を管理したアイデンティティに割り当てます。
###ユーザーがマネージャーされたアイデンティティを割り当てることを可能にします
1.ユーザーが割り当てられたアイデンティティを作成します。まず、Azureでユーザーが割り当てられた管理されたアイデンティティリソースを作成します。このアイデンティティは、複数のリソースで使用できます。
2。functionアプリへの割り当て:Azureポータルで、functionアプリのID設定に移動します。 [ユーザー割り当て]タブに切り替えて、[追加]をクリックします。作成した[1] [6]を作成したユーザーが割り当てたアイデンティティを検索して選択します。
3.アプリの設定の構成:キーボールトなどの特定のサービスの場合、REST API呼び出しを介して追加のプロパティ(「KeyVaultReferenceIdentity」などを設定する必要がある場合があります。
4.アクセス許可:システムが割り当てられたアイデンティティと同様に、ターゲットリソースのユーザーが割り当てたアイデンティティに必要な役割を割り当てます[6]。
###コードで管理されたアイデンティティを使用します
マネージドアイデンティティを使用する場合、Azure関数は「Azure.Identity」などのライブラリを活用して、秘密を直接処理することなくAzureサービスで認証することができます。たとえば、「DefaultAzurecredential」を使用して、AzureストレージまたはSQLデータベースに接続できます[5] [9]。
###マネージドアイデンティティの利点
- セキュリティ:秘密をコードまたは構成ファイルに保存する必要性を回避します。
- 柔軟性:Azure RBACを介したアクセス許可を簡単に管理できます。
- スケーラビリティ:さまざまなシナリオ[4] [6]に対して、システム割り当ておよびユーザーが割り当てたアイデンティティの両方をサポートします。
引用:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-managed-identities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-managed-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-functions-use-managed-identity-for-azurewebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/functions-identityベースの接続 - チュートリアル
[5] https://www.linkedin.com/pulse/how-use-managed-identities-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-identity-access-azure-sql-with-managed-identity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-managed-identity
[9] https://www.transparity.com/app-innovation/azure-functions-with-managed-identity-storage-access/