【2024/7/1(月)開催】Entra(SC-300)勉強会

問題

Azure上でシステム作る上で理解必須の問題です

複数のストレージ アカウントを含む Entra テナントがあります。

ストレージ アカウントへのアクセスを必要とする複数の Azure App Service アプリを展開する予定です。

アプリにストレージ アカウントへのアクセスを提供する ID ソリューションを推奨する必要があります。ソリューションは管理の手間を最小限に抑える必要があります。

ストレージアカウントへのアクセスを制御するため、どのタイプの ID を使用すべきですか

■問題文補足

・ストレージアカウント・・・Azure上のストーレージサービス

・Azure App Service・・・WebアプリをデプロイするためのPaaSサービス

■選択肢

A. Entra ユーザ

B. サービスプリンシパル

C. システム割り当てマネージドID

D. ユーザー割り当てマネージドID











解答

D. ユーザー割り当てマネージドID

解説

前提

【人間がAzureリソースにアクセスする場合】

・アクセス元の識別として「Entra ユーザ」が使われる(人間は、特定のEntraユーザでEntra にログインをしてから、ストレージアカウントにアクセスする)

・Entraユーザに適切なロールを割り当てることで、人間は対象のAzureリソースにアクセスできる

【アプリがAzureリソースにアクセスする場合(Azureリソースが別のAzureリソースへアクセスする場合)】

・アクセス元を識別する方法として2パターン(①マネージドID、②サービスプリンシパル)ある。

・①マネージドID、②サービスプリンシパルを作成し、アプリに紐づけることでアクセス元が識別できるようになる

・①マネージドID、②サービスプリンシパルに適切なロールを割り当てることで、アプリは対象のAzureリソースにアクセスできる

「①マネージドID」と「②サービスプリンシパル」の違い

①マネージドID

App service、Azure VMなど主要なAzureリソースでサポートされている。シークレット(人間でいうところの「パスワード」)の管理をする必要がない(マネージド)ため、運用負荷が低い

②サービスプリンシパル

マネージドIDを使えない場合に利用する。シークレットの管理が必要。

「①-1.システム割り当てマネージドID」と「①-2ユーザー割り当てマネージドID」の違い

①-1.システム割り当てマネージドID・・・一つのAzureリソースのみに割り当て可能(1対1)

①-2.ユーザ割り当てマネージドID・・・複数のAzureリソースに割り当て可能(1対多)

(以下、MSサイトより)

(引用元)https://learn.microsoft.com/ja-jp/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations

上記より、正解は管理負荷の少ない「ユーザー割り当てマネージドID」となります。

デモ

・ユーザ割り当てマネージドID作成

・ユーザ割り当てマネージドIDへのロール付与

・Web app serviceへの紐づけ