
この記事の内容
Microsoft EntraテナントはユーザーやアプリのIDを扱うまとまり、AzureサブスクリプションはAzureリソースの利用と管理のまとまりです。 同じテナントに参加していても、同じリソースを操作できるとは限りません。
勉強会の申込アプリを作る、3人の架空のチームを考えてみよう。「誰としてサインインするか」と「どのリソースを操作できるか」を分けると、二つの役割が見えてきます。
テナントとサブスクリプションは、扱うものが違う
| 名前 | 主に扱うもの | 今回のチームなら |
|---|---|---|
| Microsoft Entraテナント | ユーザー、グループ、アプリのIDなど | 3人のユーザー情報を管理するまとまり |
| Azureサブスクリプション | Azureリソース、利用量・コスト、リソースへの操作権限の範囲 | 試作用と運用用のリソースを管理する区切り |
Microsoft Entraテナントは、Microsoft Entra IDというID・アクセス管理のサービスを、組織で利用する一つの単位です。ユーザー情報だけでなく、グループ、デバイス、アプリ登録なども含みます。公式のテナント説明
Azureサブスクリプションは、Webアプリやストレージなどのリソースを管理する範囲です。ユーザー情報を収めたテナントとの関係は、公式資料で「信頼関係」と説明されています。テナントとサブスクリプションの関係
リソースグループなどの入れ物を先に整理したい場合は、リソース・リソースグループ・サブスクリプションの違いを読んでみてください。ここでは、そのリソースを扱う人のIDと権限に注目します。
一つのテナントに、試作用と運用用を関連付ける例
このチームには、アプリ担当のあおいさん、確認担当のなおさん、ユーザー情報を管理するゆうさんがいるとします。3人のユーザー情報は、同じテナントで管理しています。
Azureでは、試作用と運用用の二つのサブスクリプションを使うことにしました。どちらも同じテナントに関連付けられています。
3人のユーザー情報は同じテナントで管理。試作用と運用用のサブスクリプションは、どちらもそのテナントに関連付けます。実際に操作できる範囲は、Azureロールで別に管理します。
一つのAzureサブスクリプションが信頼するテナントは、一度に一つです。一方、一つのテナントを複数のサブスクリプションが信頼できます。 そのため、サブスクリプションを分けるたびに、別のテナントが必ず必要になるわけではありません。公式の関連付けの説明
これは二つの用途を見分けるための例です。小さなチームに二つのサブスクリプションが必要だと勧めるものではなく、実際の分け方は組織の運用方針に合わせます。
サインインできることと、操作できることは別
あおいさんがサインインできたとしても、それだけで運用中のアプリを変更できるわけではありません。ここでは、あおいさんには試作用リソースの必要な操作だけが許可され、運用用への操作権限は与えられていないことにします。
この違いを説明する用語が、認証と認可です。
- 認証:本人などのIDを確かめること
- 認可:そのIDに、対象へのアクセスや操作を認めるか判断すること
サインインで本人だと確認されることと、特定のリソースを変更できることは、別の判断です。Microsoft Learnの認証と認可
Azureリソースの権限管理には、Azure RBACという仕組みがあります。まずは「誰に」「何を許可するか」「どの範囲で」の三つに分けて考えると理解しやすくなります。Azure RBACの概要
同じチームでも、あおいさんは試作の作業、なおさんは運用中のリソースの設定確認というように、必要な範囲を分けられます。ただし、実際の権限にはグループ経由や別の範囲で与えられた権限も関係します。一つの割り当てだけを見て「これしかできない」と判断しないことが大切です。
「管理者」も、何を管理するかで分かれる
では、ユーザー情報を管理するゆうさんなら、運用中のアプリも変更できるのでしょうか。Microsoft Entra側の管理権限だけでは、Azureリソースの管理権限を持つとは判断できません。
| 権限の仕組み | 主な管理対象 |
|---|---|
| Microsoft Entraロール | ユーザー、グループ、ドメインなど |
| Azureロール(Azure RBAC) | 仮想マシン、ストレージなどのAzureリソース |
公式資料では、既定の状態で、Microsoft Entraのグローバル管理者にAzureリソースへのアクセスがあるわけではないと説明しています。逆に、Azureサブスクリプションの所有者だからといって、テナントのグローバル管理者になるわけでもありません。二つのロールの違い・サブスクリプション所有者とテナントの関係
「管理者なのにできない」と感じたときは、まず何を管理する権限なのかを確かめます。解決のために広い管理権限を付ける前に、対象と必要な操作を管理担当者に伝えてください。
サブスクリプションと請求書は、一対一とは限らない
試作用と運用用のコストを分けて確認したいときは、サブスクリプションが整理の単位になります。ただし、サブスクリプションが二つあるから、必ず請求書も二枚になるとは限りません。
請求のまとまりは、契約の種類で異なります。たとえばMicrosoft Customer Agreementでは、請求プロファイルに複数のサブスクリプションをまとめられます。公式の課金スコープの説明
「どのIDで操作するか」「どのリソースの利用分か」「どう請求されるか」を、同じ一つの区切りだと思わないようにしましょう。実際の請求・支払い条件は、組織の契約と課金担当者に確認します。
関連付けの変更を、手軽な解決策にしない
想定したリソースにアクセスできないときは、利用するアカウント、対象のテナントとサブスクリプション、必要な操作を整理して、管理担当者に確認します。
サブスクリプションを別のテナントに関連付け直す操作は、画面上の表示を切り替えるだけの操作とは違います。 既存のAzure RBACのロール割り当ては削除され、移行先へ自動で引き継がれません。サービスへの影響や停止が生じる場合もあります。用語を学ぶために試す操作ではありません。公式の移管時の注意
最後に、三つの質問で整理してみよう
今回のチームについて、次の三つを考えてみてください。
- 試作用と運用用でサブスクリプションを分けたら、テナントも必ず二つ必要?
- あおいさんがサインインできれば、運用中のアプリも変更できる?
- ゆうさんがユーザー情報を管理できれば、Azureリソースも管理できる?
1の答えは「いいえ」。同じテナントを複数のサブスクリプションで使えます。2も、この例では「いいえ」です。あおいさんには運用用への操作権限がありません。3は、ユーザー情報を管理する権限だけでは判断できません。Azureリソースに対する権限も別に確認します。
紙やメモに「IDのまとまり」「Azureリソースのまとまり」と二つの枠を描き、誰がどこで何をするかを書いてみよう。Azure全体の学び方を知りたい場合は、AZ-900とAI-901の違いと選び方へ進めます。
同じ人でも任せる範囲を変える例は、Azure RBACのロールとスコープの組み合わせで整理しています。
出典を開く
- 確認日 https://learn.microsoft.com/en-us/entra/identity/multi-tenant-organizations/overview
- 確認日 https://learn.microsoft.com/en-us/entra/fundamentals/how-subscriptions-associated-directory
- 確認日 https://learn.microsoft.com/en-us/entra/fundamentals/identity-fundamental-concepts
- 確認日 https://learn.microsoft.com/en-us/azure/role-based-access-control/overview
- 確認日 https://learn.microsoft.com/en-us/azure/role-based-access-control/rbac-and-directory-admin-roles
- 確認日 https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/understand-work-scopes
- 確認日 https://learn.microsoft.com/en-us/azure/role-based-access-control/transfer-subscription