マネージドアイデンティティは主にAzureリソース内で使用するために設計されているため、ローカル環境で管理されたアイデンティティのテストは簡単ではありません。ただし、マネージドアイデンティティをローカルでシミュレートまたはエミュレートする方法はあります。
1。AzureArcへの登録:Azure Arcにローカルマシンを登録できます。これにより、マシンにマネージャーのアイデンティティを割り当てることができます。これは、システム割り当てされたまたはユーザーが割り当てられたマネージメントアイデンティティのいずれかです。登録されると、管理されたアイデンティティに必要な権限を割り当てることにより、マネージドアイデンティティをローカルでテストできます[1]。
2。マネージャーされたアイデンティティをローカルにエミュレートする:別のアプローチは、模擬インスタンスメタデータサービスを実行して、Azureマネージドアイデンティティサービスをローカルにエミュレートすることです。これには、トークンAPIをシミュレートするためにアクセストークンを返すため、通常はAzure CLI資格情報を使用します。この方法では、実際にローカルマシンにそれらを置くことなく、マネージドアイデンティティを使用するコードをテストできます[3]。
3。DefaultAzureCredentialの使用:ほとんどの開発シナリオでは、「DefaultAzurecredential」を使用することをお勧めします。この資格情報は、Visual Studio、Azure CLI、Azure AD統合認証など、さまざまな認証方法を自動的に試し、アプリケーションをローカルで認証します。マネージドアイデンティティを直接使用していませんが、同様のシームレスな認証エクスペリエンスを提供します[5] [7]。
要約すると、マネージドアイデンティティ自体はローカル環境で直接使用することはできませんが、それらをエミュレートするか、ローカル開発に「DefaultAzurecredential」などの代替認証方法を使用できます。
引用:
[1] https://www.foxdeploy.com/blog/how-to-migrate-an-azure-function-app-to-use-a-managed-identity.html
[2] https://stackoverflow.com/questions/67845857/can-a-user- assigned-managed-identity-be-cally
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2ff8b7
[4] https://learn.microsoft.com/en-us/entra/identity/manage-identities-azure-resources/overview-for-developers
[5] https://www.reddit.com/r/azure/comments/1cilud6/managed_identities_and_local_developer_experience/
[6] https://learn.microsoft.com/en-us/entra/identity/manage-identities-azure-resources/how-manage-user-user-user-usigned-managed-identities
[7] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-user-user-assigned-managed-identity-configura
[8] https://www.codemag.com/article/2107041/eliminate-secrets-your-applicationsからzure-managed-Identity
[9] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity