Azure広場基礎から資格まで、Azureの学びをつなぐ記事を読む
← 記事一覧

Azureの基礎と資格

Azure RBACとMicrosoft Entraロールの違い|誰にどの範囲を任せる?

Azure RBACはリソースへの操作権限、Microsoft EntraロールはID側の管理権限。同じReaderでも割り当て範囲で変わること、OwnerとGlobal Administratorの違いを、架空の勉強会で整理します。

Azure RBACとMicrosoft Entraロールの違い|誰にどの範囲を任せる?の記事タイトル画像
この記事の内容

Azure RBACは、Azureリソースに「誰が、何を、どの範囲でできるか」を決める仕組みです。Microsoft Entraロールは、ユーザーやグループなど、ID側の管理を受け持ちます。

今回は、架空の勉強会で「なおさんに申込アプリの設定を確認してもらう」場面から考えます。ロール名を覚えるだけでなく、どこまで任せるのかを一文で説明できるようになりましょう。アカウントを作ったり、権限を変更したりする必要はありません。

ロールの割り当ては、三つをひと組にする

「なおさんはReaderです」だけでは、どのリソースの設定を読めるのかが分かりません。Azure RBACのロール割り当ては、次の三つを組み合わせます。

考えること 用語 今回の例
誰に セキュリティプリンシパル なおさん
何を許可するか ロール定義 Reader(閲覧者)
どの範囲で スコープ 申込アプリ用のリソースグループ

つまり、「なおさんに、申込アプリ用リソースグループの範囲で、Readerを割り当てる」と読むと、権限の意味が具体的になります。プリンシパルには人だけでなく、グループや、アプリが使うサービスプリンシパル・マネージドIDも含まれます。ロール割り当ての構成

ここでのReaderは、リソースの構成など、管理用の情報を読むロールです。保存してある資料や写真の中身まで、何でも読めるという意味ではありません。Readerの定義

同じReaderでも、スコープで届く範囲が変わる

勉強会の学習用サブスクリプションに、「申込アプリ」と「資料置き場」という二つのリソースグループがあるとします。なおさんのReaderをどこに割り当てるか、二つの例を比べましょう。

  • 申込アプリのグループに割り当てる:そのグループと配下のリソースの管理情報を読める
  • 学習用サブスクリプションに割り当てる:配下の両グループと、それぞれのリソースの管理情報を読める
なおさんへのReader割り当てを二つの範囲で比較した独自図。申込アプリのリソースグループを範囲にすると、そのグループ内の管理情報が対象。学習用サブスクリプションを範囲にすると、申込アプリと資料置き場の両グループ内の管理情報が対象になる。ほかの割り当てがない概念例
同じ人・同じReaderで、スコープだけを変えた比較です。青い枠は、この割り当てで管理情報を読める範囲。実際の画面や設定手順を再現したものではありません。

上位の範囲で与えられた権限は、下位の範囲に継承されます。 反対に、申込アプリのグループへの割り当てが、それと並ぶ資料置き場のグループへ広がるわけではありません。スコープと継承

Azure RBACのスコープは、広い方から「管理グループ → サブスクリプション → リソースグループ → リソース」の4段階です。今回の依頼が申込アプリの設定確認だけなら、サブスクリプション全体を対象にする必要があるかを考えます。目的を満たす小さな範囲から検討するのが基本です。スコープの選び方

入れ物の関係が曖昧なら、リソース・リソースグループ・サブスクリプションの違いを先に読むと、図を追いやすくなります。

Reader・Contributor・Ownerは、任せる操作が違う

今度はスコープを「申込アプリのグループ」にそろえて、ロールを比べます。次は代表的な違いを読むための表です。

Azureロール その範囲でできる主なこと
Reader(閲覧者) リソースの管理情報を読む。変更はできない
Contributor(共同作成者) リソースを作成・変更・削除するなど、広く管理する。このロールだけではAzure RBACのロールを割り当てられない
Owner(所有者) リソースを広く管理し、Azure RBACのロール割り当ても管理する

なおさんが設定を確認するだけなら、作成や削除まで同じ依頼に含める必要はありません。Contributorも、単に「共同で見る人」ではなく、変更や削除を含む広いロールです。実際の担当作業では、サービス別のより限定されたロールも検討します。Reader・ContributorとOwner

また、OwnerやContributorの管理権限と、Blobの内容を読むようなデータへの権限は区別します。管理用ロールの名前だけで「保存データもすべて自動で読める」とは判断できません。別のロールやサービスの認証方式も関係します。管理操作とデータ操作

下位のReaderは、上位のContributorを打ち消さない

ここが、ロール名だけでは見落としやすい点です。アプリ担当のあおいさんには、すでに学習用サブスクリプションのContributorが割り当てられているとします。

そのあおいさんに、申込アプリのグループでReaderを追加したら、そのグループだけ変更できなくなるでしょうか。

答えは「いいえ」です。下位でReaderを追加しても、上位から継承したContributorの権限を消すことにはなりません。 Azure RBACでは、複数のロール割り当てによる許可を組み合わせて考えます。「より狭い場所のロールが、上のロールを上書きする」とは覚えないでください。複数のロール割り当て

見るべきものは、その場所に直接付けたロールだけではありません。上位からの継承や、所属グループを通じた割り当ても確認します。実際の操作には拒否割り当て、条件、サービス側の設定なども関わるため、この記事の表だけで操作の成否を断定はできません。アクセス判定の概要

OwnerとGlobal Administratorは、管理対象が違う

最後に、IDを管理するゆうさんも登場させましょう。「ゆうさんは管理者」と聞いたら、どちらの管理を指しているかが大切です。

  • AzureのOwner:割り当てられたスコープ内のAzureリソースと、そのアクセスを管理する
  • Microsoft EntraのGlobal Administrator(グローバル管理者):Entra IDや関連サービスの広範な管理機能を扱う

サブスクリプションのOwnerになっても、テナントのGlobal Administratorになるわけではありません。逆に、Global Administratorも、既定ではAzureリソースへのアクセス権を持ちません。 同じ人が両方を持つ場合はあっても、同じロールではないのです。二つのロールの関係・サブスクリプションとテナント

Entra側にもスコープの考え方があり、ロールに応じてテナント全体、管理単位、特定のアプリなどの範囲を使い分けます。「Azureは範囲を絞れるが、Entraは必ず全体」と覚えるのも避けましょう。Entraロールのスコープ

テナントそのものの役割やサインインとの関係は、Microsoft EntraテナントとAzureサブスクリプションの違いで整理しています。

「誰に・何を・どの範囲で」を一文にしてみる

最後に、次の依頼を読み直してみてください。

「なおさんに、申込アプリ用リソースグループの構成を確認してもらいたい。リソースの変更や、資料の中身の閲覧は今回の作業に含まれない」

この文なら、誰が、何をしたいのか、どこまで必要なのかが伝わります。そこからReaderの定義とスコープを照らし合わせ、既存の割り当ても確かめる、という順序で考えられます。

「管理者にしてほしい」「見られるようにしてほしい」で止めず、対象と必要な操作を一文にすることが、権限の話を分かりやすくする最初の一歩です。

出典を開く

← 記事一覧へ戻る