Azureのリセールなどを行う際にサブスクリプションというワードを聞くことが多く、他にもテナントやAzureアカウントなど似たようなワードの関係性が分からなくなることが多いため、Azureリソースの階層構造についてこの記事にまとめようと思います。
全体像
はじめに本記事で説明する単語の全体像について、以下に記します。
※リソースグループとリソースは省略します

Azureアカウント
Azureの利用を開始するためのユーザアカウント(メールアドレス)であり、Microsoftアカウントまたは職場アカウント(Entra IDユーザ)を指す。通常は課金や契約の起点であり、最初のテナント所有者となる。
テナント
Entra IDによって管理される企業や組織全体の契約単位であり、1つのテナントに複数のサブスクリプションを持つことができます。
多用な機能を持ちますが、Azureでいうと、Azureへのアクセスを管理するRole Based Access Control(RBAC)の認証基盤を担っています。
テナントとディレクトリの違い
「Azureテナント = Entra IDディレクトリ」なので、基本的には同一とみなしてOKです。ただし、「テナント」は構造や契約に、「ディレクトリ」はID管理(Entra IDのユーザやグループ)に重きを置いた表現という違いがあります。
RBAC(Role Based Access Control)とは?
Azureにおいてロールを用いてリソースへのアクセス・操作権限を設定することで、対象のリソースにアクセスできる人・できない人をコントロールするための仕組みです。
管理グループ
複数のサブスクリプションを論理的に束ねて一括管理する枠であり、ガバナンス(ポリシー・RBAC)を階層的に適用可能である。
サブスクリプション
課金とリソース管理の単位です。権限管理の考え方に基づき、サブスクリプションはシステム毎に分割するのが一般的です。
Azureでは、サブスクリプションが関連付けられたEntraIDに登録されているユーザープリンシパル(ユーザに割り当てられるID)やサービスプリンシパル(アプリケーションに割り当てられるID)に対して、サブスクリプションレベル、リソースグループレベル、リソースレベルで権限を付与します。