Azure リソースのマネージド ID とは?

 マネージド ID とは、Azure AD の認証をサポートするサービスに対してAzure リソース自身で認証を行うことのできる、Azure AD で管理される ID です。

 マネージド ID は、システム割り当てマネージド ID とユーザー割り当てマネージド ID の2種類存在します。
 システム割り当てマネージド ID は、Azure リソースに対して設定される ID で、Azure リソースのライフサイクルと合致します (当該 Azure リソースが削除されるとシステム割り当てマネージド ID も自動的に削除されます)。
 ユーザー割り当てマネージド ID は、ユーザーがマネージド ID を作成し、その ID に対して複数のサービスを割り当てし管理することが可能です。ID と割り当てられているサービスのライフサイクルは別となります。

 例えば、Azure Functions から仮想マシンを停止するシナリオを考えてみます。

1.Azure Functions のシステム割り当てマネージド ID を有効にします。
  ※有効にすると、Azure AD 上に Azure Functions 名と同様の サービスプリンシパル (SPN) が作成されます。
2.当該仮想マシン (またはリソースグループ等のスコープ) のアクセス制御 (IAM) を開き、 1.の SPN に対し仮想マシン管理者権限を有効にします。
3.Azure Functions のコード (PowerShell Core) では、当該仮想マシンの停止コマンドのみを記述します。この時、Connect-AzAccount 等の認証コマンドは不要です。

※マネージド ID を利用すると、Azure リソース自身が認証されるため、コード等から認証情報を排除できます。
※その他、AppService から SQL Database への認証をマネージド ID にすることで接続情報をコードから排除することなども可能です。
※マネージド ID を使用しない場合、接続文字列を自前で管理したり、アプリの登録で登録したクライアント ID とシークレットを使用したり 、KeyVault から認証情報を取得したりといった、「認証のための処理」が必要になります。

現在はすべてのサービスがサポートされているわけではなく、また違うテナント内のリソースへアクセスができない、ユーザー割り当てマネージド ID では異なるリソース グループ/サブスクリプションへ移動すると使用できなくなるなどの問題もありますが、上手く使用すると利便性の高いサービスです。

■ 参考URL
[Azure リソースのマネージド ID とは]
https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/overview
[App Service と Azure Functions でマネージド ID を使用する方法]
https://docs.microsoft.com/ja-jp/azure/app-service/overview-managed-identity?tabs=dotnet
[チュートリアル:マネージド ID を使用した App Service からの Azure SQL Database 接続のセキュリティ保護]
https://docs.microsoft.com/ja-jp/azure/app-service/app-service-web-tutorial-connect-msi
[Azure リソースのマネージド ID をサポートするサービス]
https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/services-support-managed-identities
[Azure リソースのマネージド ID に関する FAQ と既知の問題]
https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/known-issues

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルプロセス&テクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください