1. Azure AD と Azure サブスクリプション
- Azure ADテナントは1つの組織に対応し、グローバルに一意なドメインを持つ。
- Azure ADテナントとAzure ADディレクトリは一対一であり、この2つはほとんど同義で使われる。
- 2つのADテナント間でIDを共有、同期することは出来ない。ただし、ゲストユーザとして招待することが出来る。
- Azureサブスクリプションのサインアップ時、Azure ADテナントを1つだけ信頼する必要がある。
- Azure ADとAzureサブスクリプションの関係は、包含ではなく信頼。請求書、支払いもADとサブスクでは別々。
- Azure ADテナントを単体で取得することは出来ない。AzureサブスクやOffice365にサインアップしたときに取得する。
2. Azure AD ユーザ、グループ
- Azure ADのユーザには、ロールやライセンス、アプリケーションアクセス許可が割り当てられる。グループを通して間接的に割り当てることも出来る。
- グループのメンバ管理方法をグループメンバーシップという。
- 「割り当て済み」: 手動でユーザをグループに加入、グループから脱退。
- 「動的ユーザ」: 予め作成したクエリにしたがって、属性の指定により自動で加入、脱退。
3. RBAC
3.1. ロールとRBAC
- AzureとAzure ADにはそれぞれ膨大なアクセスアクセス許可があり、関連するアクセス許可をまとめたものをロールという。
- ロールを通じてユーザのアクセス許可を制御することを、ロールベースのアクセス制御 (Role-Based Access Control, RBAC) と呼ぶ。
- Azureリソースロール と Azure ADロール は別物。
3.2. ロールの割り当て(プリンシパルとスコープ)
- ロールを割り当てるときには、セキュリティプリンシパルとスコープを定める。
- セキュリティプリンシパル とは、リソースにアクセスする主体のことを指す。
- スコープ とは、アクセス許可が適用されるリソースの範囲を指す。
- スコープには4つの階層がある。上位から順に..
- 管理グループ
- サブスクリプション
- リソースグループ
- リソース
- 上位階層をスコープとして割り当てられたロールは、下位階層に継承される。
3.3. 代表的な Azure リソースロール
- 組み込みのAzureリソースロールのうち、代表的なもののロール名、およびアクセス許可の内容を以下にまとめる。
読み取り (課金) |
読み取り (全て) |
書き込み (xxx) |
書き込み (全て) |
RBAC 割り当て |
|
---|---|---|---|---|---|
所有者 | ○ | ○ | ○ | ○ | ○ |
共同作成者 | ○ | ○ | ○ | ○ | |
xxx共同作成者 | ○ | ○ | ○ | ||
閲覧者 | ○ | ○ | |||
課金データ閲覧者 | ○ |
3.4. PIMを利用した期限付き割り当て
- Priviliged Identity Management, PIM を利用することで、セキュリティプリンシパルへのロール割り当てを永続ではなく期限付きに制御することが出来る。
- 設定方法の違い
-
永続割り当てはAzureリソース側で実施
- Azureポータルより割り当て対象スコープ(e.g. サブスク)の画面に遷移して、そのスコープのIAM管理コンソールにてロールとセキュリティプリンシパルを指定する。
- 「スコープ→IAM」の順に遷移することに注意。
-
PIMによる期限付き割り当てはAzure AD側で実施
- Azure AD側でPIM設定の初期化(サブスクのオンボード)を実施
- オンボードしたAzureサブスクのリソースロールを対象に、PIMの設定(MFAや承認の要否といった、ロールアクティブ化の条件)を実施
- PIM設定を行ったリソースロールについて、割り当て(セキュリティプリンシパルとスコープの指定)を実施
-
PIMによる割り当てには「割り当ての種類」というオプションがあり、「対象」と「アクティブ」のうちから値を選択することになる。
-
常にアクティブとなるのが「アクティブ」、アクティブ化する資格のみ付与するのが「対象」(eligible)。
-
参考資料
- 竹島友理 (2020) 『ひと目でわかるAzure Active Directory 第3版』 日経BP
- RBACの公式ドキュメントポータル