0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AzuleFunctionsデブロイ新実装方式

0
Posted at

画像内にある「マネージドID(Managed Identity)」についてですね。

一言で言うと、「AzureがID管理(パスワードの発行や管理、更新など)をすべて自動でやってくれる、プログラム・サービス専用の身分証明書」のことです。

通常、システム同士を連携させる(例:Azure FunctionsからSharePointやデータベースにアクセスする)には、パスワードや接続文字列、APIキーなどの「資格情報」をコードや設定ファイルに書き込む必要がありました。しかしこれには、「パスワードの漏洩リスク」や「定期的なパスワード変更の手間」という問題がついて回ります。

マネージドIDを使うと、これらの課題をスマートに解決できます。

🔑 マネージドIDの主なメリット
パスワード管理が不要(ノンコード資格情報)
開発者がパスワードを生成したり、ソースコードや設定ファイル(local.settings.jsonなど)に隠したりする必要が一切なくなります。

自動ローテーション
資格情報の有効期限や定期的な更新(ローテーション)は、バックグラウンドでAzureが自動で行います。

安全なリソース間連携
「このAzure Functionアプリだけに、このリソースへのアクセスを許可する」といった高度な権限設定(RBAC)が、パスワードなしで安全に実現できます。

🏗️ 2つのタイプ
マネージドIDには、用途に合わせて2つの種類があります。

タイプ 特徴
システム割り当て(System-assigned) リソース(Azure Functionsなど)と1対1で完全に紐づくID。リソースを作成すると自動で生成され、リソースを削除するとIDも一緒に自動消滅します。手軽に使いたい場合に最適です。
ユーザー割り当て(User-assigned) スタンドアロンのAzureリソースとして独立して作成するID。**複数のリソースで使い回す(共有する)**ことができます。リソースを削除してもIDは残ります。
💡 具体的な活用例
例えば、M365(SharePointやGraph API)や他のAzureリソースと連携する定期実行バッチをAzure Functionsで作る場合:

Azure Functionsの「マネージドID」を有効にする。

相手側(SharePointのアクセス権やAzureリソースのIAM)で、「このマネージドIDに対して閲覧権限を与える」と設定する。

これだけで、コード内に認証情報を1文字も書くことなく、安全にアクセスできるようになります。近年の一世代進んだクラウドセキュリティ(ゼロトラスト)においては、必須とも言える標準的な機能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?