☁️

AZ-104 を調べてみた03 ‐Azure IDとガバナンスの管理②

に公開

リソースへのアクセス管理(Azure RBAC)を徹底解説

Azure環境では、「誰が・何を・どこで」実行できるかを厳密に管理することが求められます。
その制御を担うのが Azure ロールベースのアクセス制御(Azure RBAC) です。

AZ-104試験においても出題頻度の高いこのトピックを、実務と試験対策の両面からしっかり押さえましょう。


3.1 Azure RBACの概要と構成要素

Azure RBACは、Azureリソースに対するアクセスを「認可(authorization)」ベースで制御する仕組みです。基本構成は次の3要素で成り立っています。

要素 説明
誰が (Who) ユーザー、グループ、サービスプリンシパル、マネージドID などの「セキュリティ プリンシパル
何を (What) ロール定義に基づいたアクション(例:読み取り、書き込み、削除)
どこで (Where) アクセス権の適用範囲「スコープ(Scope)」

3.2 組み込みロールの理解

Azureには、代表的な利用パターンをカバーする組み込みロール(Built-in Role) が多数用意されています。以下はその一部です。

ロール名 説明
所有者(Owner) すべての操作とアクセス権の管理が可能
共同作成者(Contributor) リソースの操作は可能だが、アクセス権の変更は不可
閲覧者(Reader) リソースの閲覧のみ可能
ユーザーアクセス管理者 アクセス権(ロール)の管理のみ可能
ストレージ BLOB データ共同作成者など サービスごとに特化したロールも存在

3.3 スコープと継承の考え方

Azure RBACでは、アクセス権は以下のような階層構造を持った「スコープ(Scope)」に基づいて割り当てられます。

管理グループ > サブスクリプション > リソースグループ > リソース
  • 上位スコープで割り当てた権限は、すべて下位に継承されます。
  • 小さなスコープ単位で制御したい場合は、より下層にロールを割り当てます。

3.4 ロール割り当てとセキュリティプリンシパルの種類

ロール割り当ては、次の3要素で構成されます。

[セキュリティプリンシパル] + [ロール定義] + [スコープ]

代表的なセキュリティプリンシパル

種類 用途例
ユーザー Azure ADの個人ユーザーアカウント
グループ 管理効率向上のため推奨。グループ単位でロールを付与
サービスプリンシパル アプリケーションがAzureリソースへアクセスするためのID
マネージドID Azureサービスが自動で持つID。資格情報管理が不要で安全性が高い

✅ TIP:サービスプリンシパル vs マネージドID

▶ サービスプリンシパル(Service Principal)

  • アプリケーション用のID。バックエンドアプリやCI/CDツール、Azure DevOpsなどが利用。

  • シークレットや証明書の管理が必要で、有効期限の更新漏れに注意

  • 利用例:

    • Azure CLI / PowerShell からの自動デプロイ
    • Azure DevOps Pipeline の認証

▶ マネージドID(Managed Identity)

  • Azureが自動で割り当てるID。シークレット不要、セキュリティリスク低減

  • System Assigned(リソース1:1)と User Assigned(共有ID)の2種類。

  • 利用例:

    • Azure VMからKey Vaultへの安全なアクセス
    • Azure Functionsによるストレージ操作

3.5 実効権限の解釈

Azure RBACでは、ユーザーやグループにロールを割り当てることで、Azureリソースに対する操作権限を与えます。では、複数の場所(スコープ)でロールが割り当てられている場合、最終的にどの権限が有効になるのでしょうか?

それが「実効権限(Effective Permissions)」の考え方です。

  • 権限は加算される(複数のロールを持つ場合、それぞれの権限が合算)
  • 拒否設定は明示的にポリシーで設定する必要あり(RBAC自体には「拒否」の概念はない)

実効権限とは?

「実効権限」とは、そのユーザーが最終的に使える実際の操作範囲のことです。

  • Azureでは、上の階層で付けたロールは下の階層にも引き継がれます(継承)
  • 同じ人に複数のロールが割り当てられている場合は、**それらの権限が足し合わされる(加算)**と考えましょう。

例:

  • ユーザーがサブスクリプションで「閲覧者」、リソースグループで「共同作成者」を持っている場合 → リソースグループ配下では「共同作成者」として動作

たとえば・・・
あるユーザーに次のようなロールが割り当てられているとします:

スコープ 割り当てられたロール
サブスクリプション 閲覧者(Reader)
リソースグループA 共同作成者(Contributor)

この場合、そのユーザーは:

  • サブスクリプション全体では「閲覧のみ」ができます。
  • でも、「リソースグループA」配下では「作成・編集・削除」までできるようになります。

つまり、より細かい場所(下位スコープ)で強い権限があれば、その権限が優先されると覚えておくと良いでしょう。


✅ ポイントまとめ

  • 実効権限は、複数のロールがある場合は合算されて強くなる
  • より下位のスコープのロールが優先される
  • 拒否したい場合は、RBAC以外の方法(Azure Policyなど)を使う。

💡「上から下に引き継がれ、下で強ければそっちが優先」というイメージ


3.6 Azure RBAC と Azure AD ロールの違い

AZ-104試験でよく混同されるのが Azure RBACMicrosoft Entra ID の違いです。


項目 Azure RBAC Microsoft Entra ID ロール
対象 Azure リソース(VM, ストレージなど) Microsoft Entra ID ディレクトリ自体
管理場所 各リソースの「アクセス制御 (IAM)」 「Microsoft Entra ID」ブレードの「ロールと管理者」
所有者、閲覧者、仮想マシン共同作成者 グローバル管理者、ユーザー管理者など

注意:
グローバル管理者であっても、Azureリソースにアクセスするには 別途RBACロールの割り当て が必要です。

3.6 Azure RBAC と Entra ID ロールの違いを徹底理解する

AZ-104試験では、Azure RBAC(Role-Based Access Control)Entra ID ロール(Azure Active Directory Roles) の混同がよくある出題ポイントです。
一見似たような「ロールベースのアクセス制御」ですが、それぞれの目的や対象は全く異なります。


✅ 目的と用途の違い

比較項目 Azure RBAC Microsoft Entra ID ロール
対象範囲 Azure サブスクリプション配下の リソース(VM、ストレージ等) Microsoft Entra ID テナント自体と ディレクトリベースの管理操作
管理対象 仮想マシン、ストレージ、App Service、Key Vaultなどの操作 ユーザー・グループ管理、ライセンス、企業情報、認証管理など
管理場所 各リソースの「アクセス制御 (IAM)」 「Microsoft Entra ID」ブレード →「ロールと管理者」
代表的なロール例 所有者、共同作成者、閲覧者、仮想マシン共同作成者など グローバル管理者、ユーザー管理者、認証管理者、アプリ管理者など
適用単位(スコープ) 管理グループ、サブスクリプション、リソースグループ、リソース テナント全体または特定のMicrosoft Entra IDオブジェクト
IAMブレードでの表示 「アクセス制御(IAM)」ブレードで割り当て 表示されない(Microsoft Entra ID側で管理)

📝違いの具体例

例1:Azure VMの操作を許可したい

→ Azure VM は Azureリソース なので、Azure RBAC のロール を使います。

  • 「共同作成者」をリソースグループに割り当てれば、配下のVMを作成・削除・操作可能。

例2:ユーザーを作成・削除したい、Azure ADに新しいアプリ登録したい

→ これらは Azure Active Directory(ディレクトリ)の操作なので、Azure AD ロール を使用します。

  • 「ユーザー管理者」ロールがあれば、ユーザー作成・削除が可能。
  • 「アプリケーション管理者」ロールがあれば、エンタープライズアプリ登録が可能。

❗ 試験でよく問われる注意点

  • グローバル管理者(Azure AD ロール) は、Azureリソースの操作権限を 自動的には持ちません

    • VMを操作するには別途「所有者」や「共同作成者」などの Azure RBACロールの割り当てが必要です。
  • 逆に、Azure RBACで「所有者」ロールを持っていても、ユーザーやグループの管理はできません。


✅ ポイントを整理!


Azure RBAC Microsoft Entra ID ロール
リソース単位でアクセス制御 テナント単位でディレクトリ管理
Azure サービスの操作に使用 ユーザー、グループ、アプリの管理に使用
Azureポータル上の各リソースで設定可能 Microsoft Entra IDブレードから設定
「アクセス制御 (IAM)」ブレードで割り当てる 「ロールと管理者」で割り当てる

TIP:両方を組み合わせて使う場面

  • ユーザー管理ができる「ユーザー管理者」ロール( Entra IDロール)を持つ担当者が、
  • Azureのストレージアカウントにもアクセスする必要がある場合、
  • 別途Azure RBACで「閲覧者」ロールなどを割り当てる必要があります。


まとめ

Azure RBACは、Azure管理の基礎であり、AZ-104試験においても重要分野の1つです。

  • ロール定義、スコープ、セキュリティプリンシパルの組み合わせが基本構造
  • グループによる一括管理がベストプラクティス
  • アプリケーションにはサービスプリンシパルやマネージドIDを使い分ける
  • Entra IDロールとの違いを理解しておくことが必須

Discussion