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 RBAC と Microsoft 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