-
Notifications
You must be signed in to change notification settings - Fork 0
MS_AzureSubscriptionMgmt
-
キッティングしてもらった Azure サブスクリプションを、
エンタープライズ・ユースで安全に管理するには?的なトピック。 -
自分でキッティングする場合は、以下をご参照下さい。
-
以下の機能を活用することで、
- アカウントを管理する。
- アクセス権で操作や通信を制限し、
- 必要に応じて VPN 接続を利用する。
安全に管理・利用できる。
補足(このページの位置づけ): 「エンプラ」で問題になるのは、
技術の選定よりも「誰が何をできるか」の設計である。
本ページはその観点で、① サブスクリプション管理者(課金・契約)… 特殊用途のみ ② RBAC(リソース操作の権限) … 実運用はこちら ③ Azure AD(誰がログインできるか) … ①②と独立した別階層という 3 階層を整理している。
①(クラシックな管理者)と ②(RBAC)を混同しないことが要点。
ロール定義、ロール割り当てで、アクセス権で操作を管理する。
- Azure リソースを管理するための、ブラウザーでアクセスできるシェル。
- Linux ユーザーは Bashを、Windows ユーザーは PowerShell を選ぶことができる。
Azure Resource Manager (ARM) モデルを使う一連のコマンドレットが用意されている。
Azure PowerShell の Python 版(Python があれば動作する)。
アカウントにロールを関連付ける。
通信を管理する(リソースへのネットワーク トラフィックを許可または拒否する一連のセキュリティ規則)。
-
現在は権限制御には使用しない
(RBAC アクセス制御を使用するため)。 -
以下の特殊な用途でのみ使用する。
Co-Administrator
-
2017 年 10 月時点で新規登録できない。
-
RBAC アクセス制御を使用して、サブスクリプションに対して、
所有者というロールを割り当てれば、従来のクラシック ポータルでの共同管理者相当になる。
補足(最新化): クラシック デプロイ モデル(ASM)自体が既に廃止されており、
共同管理者(Co-Administrator)およびサービス管理者(Service Administrator)は
2024 年 8 月末で提供終了となった。
現在は本文が推奨するとおり、すべて RBAC のロール割り当てに移行している。
以下の各管理者の説明は、当時の体系の記録として読まれたい。
Global Administrator
サブスクリプション契約者で最初のユーザ、緊急事態用として重複して登録しておくと良い。
補足: ここで言う「重複して登録しておく」のが
**緊急事態用アカウント(break glass アカウント)**である。
条件付きアクセスや MFA の設定ミスで全管理者が締め出される事態に備え、
通常運用では使わないアカウントを 2 つ以上用意しておく。
使われたこと自体がインシデントなので、
サインインを検知して通知する(Azure Alerts)設定が必須。
詳細は AzADのテナント作成方法 を参照。なお現在の正式名称は 全体管理者(Global Administrator)で、
これは Azure AD 側のロールであり、
既定ではAzure リソースへのアクセス権を持たない(後述)。
Account Administrator
-
金銭や契約に関わる作業を行う。
-
サブスクリプションやサポートオプションの
- 購入
- 購入後
- 契約管理
- 請求管理
- サブスクリプションやサポートオプションの購入
- サブスクリプションごとのサービス管理者の指定
- オンライン請求書の発行やサブスクリプション情報などのメール通知の受信
- オンライン請求書ならびに使用量レポートのダウンロード
- 支払方法の変更
- 各種サービスを利用する管理ポータルへのアクセス権および管理権限は無い。
(管理ポータルを利用するには、サービス管理者や共同管理者に指定する。) - アカウント管理者の変更は、セキュリティ上の観点から、ユーザ自身で実施できない。
Microsoft Azure サポートまで連絡して変更して貰う必要がある。
補足(最新化): 現在は Microsoft Cost Management + 課金 (Billing) の
体系に整理されており、EA / MCA といった契約種別ごとに
課金ロール(請求書セクション所有者、課金プロファイル共同作成者など)が定義されている。
「課金と、リソース操作の権限は別物」という原文の骨子は現在も同じ。
Service Administrator
- Azure の各種サービスを利用するための管理者。
- 各サブスクリプションに1つサービス管理者が紐づいている。
- 管理ポータルへのアクセスおよび管理権限が与えられる。
一方で、
- アカウントポータルへのアクセス権および管理権限は与えられていない。
- サービス管理者はアカウント管理者によって変更できる。
-
- Azure の一機能に見えるが、違う。
- また、包含関係は無く、互いに独立している。
- ライセンス購入・課金の仕組みも独立している。
Azure Active Directory の課金はサブスクリプションから
引き落とされるのではなく、別途購入する形になる。
-
各サブスクリプション
- ...の配下に Azure Active Directory テナントが作られるのではない。
- ...は、必ず 1 つの Azure Active Directory テナントを信頼している。
補足(この節が本ページで最も重要): 「Azure と Azure AD は独立している」という
原文の指摘は、実務での混乱を避けるうえで極めて重要である。[ Azure AD テナント ] ← 「誰か」を管理する(ID の世界) │ 信頼 ├──▶ サブスクリプション A ┐ ├──▶ サブスクリプション B ├ 「モノ」を管理する(リソースの世界) └──▶ サブスクリプション C ┘ここから次の帰結が生じる。
- テナントを削除するとサブスクリプションが孤立する(操作不能になる)。
- サブスクリプションを別テナントに移すと、
RBAC のロール割り当てがすべて失われる(ID の実体が変わるため)。- 全体管理者は既定で Azure リソースを操作できない
(必要なら「Azure リソースのアクセス管理」を昇格させる)。なお現在、Azure AD は Microsoft Entra ID に改称されている。
- 1つのサブスクリプションには、1つの Azure Active Directory のディレクトリに紐付く。
- 1つの Azure Active Directory のディレクトリには、複数のサブスクリプションが紐付く。
ディレクトリ → サブスクリプション
-
1つのサブスクリプションは、ディレクトリに登録された複数人のユーザが操作できる。
-
1人のユーザは、Azure Active Directory B2B collaboration の招待によって、
複数のディレクトリに所属して、複数のサブスクリプションを操作できる。 -
故に、ポータルにログインして、操作するサブスクリプションを切替可能。
ユーザ ←──────────┐
↑ ↓
└→ ディレクトリ → サブスクリプション
サブスクリプションは(業務・環境の単位に)システムで分割しても良い。
補足(最新化): 現在は、サブスクリプションの上位に
**管理グループ(Management Group)**という階層を作れる。ルート管理グループ ├─ 本番 … Policy「タグ必須」「特定リージョンのみ」を割り当て │ ├─ Sub-A │ └─ Sub-B └─ 検証 … Policy「高額 SKU 禁止」を割り当て └─ Sub-CAzure Policy や RBAC を管理グループ単位で割り当てられるため、
サブスクリプションが増えても統制が破綻しない。
エンプラでサブスクリプションを分割するなら、
管理グループの設計を先に行うのが現在の定石である。
-
ディレクトリは分割不可能
(オンプレ AD と異なり、複数ドメイン、フォレスト等は無し) -
他のディレクトリとの連携も可能
-
分割はしないが二重に作成するケースはある。
-
認証専用ディレクトリ
- Office 365 やユーザ・アプリケーションの認証のみを行う。
- オンプレミス・ディレクトリとの同期(Office 365 では必須)
- Azure Active Directory B2B collaboration の招待を利用しない。
-
VDC 専用ディレクトリ
- VDC の操作者の権限制御のために利用する。
- オンプレと同期しない Azure Active Directory
- Azure Active Directory B2B collaboration の招待を利用する。
-
補足(なぜ二重に作るのか): 「認証専用」と「VDC 専用」を分ける理由は、
Azure Virtual Data Center の操作権限を、
業務ユーザの ID 基盤から切り離すためである。業務用テナント(オンプレ同期あり)で基盤操作権限まで扱うと、
- オンプレ AD が侵害されると Azure 基盤まで巻き添えになる、
- 退職者・異動者の処理が基盤の権限に直結してしまう、
という問題が生じる。分離しておけば影響範囲を限定できる。
一方で運用は二重になるため、
PIM による特権の Just-in-Time 付与(Azure AD Privileged Identity Management (PIM))で
代替できないかも併せて検討する。
別の機能であり、管理者も別もの。
-
サブスクリプション管理者でも
Azure Active Directory の全体管理者でなければ、
Azure Active Directory の管理はできない。 -
同様に、Azure Active Directory の全体管理者であっても、
必ずしも紐づくサブスクリプション管理者ではない。
- Azure サブスクリプションと Azure AD の管理者
https://learn.microsoft.com/ja-jp/azure/role-based-access-control/rbac-and-directory-admin-roles - 既存の Azure サブスクリプションを Azure AD ディレクトリに追加する方法
https://learn.microsoft.com/ja-jp/entra/fundamentals/how-subscriptions-associated-directory
サブスクリプション管理者アカウント
1 VNET 内に、1サブネット
使用する数だけ用意する。
1サブネット向けに1 NSG を作成する。
サブスクリプション管理者権限を付与することなく、
Azure Active Directory B2B collaboration の招待で
同じユーザが複数のサブスクリプションで管理作業をすることができる。
-
- DMZ の構築
- サブネットの分割
-
Azureの仮想ネットワーク ピアリング
あとあと、仮想ネットワーク間を接続する。 -
VPN Gateway の構築
- Site-to-Site VPN (S2S)
- Point-to-Site VPN (P2S)
- VNet-to-VNet VPN (V2V)
使用する数だけ用意する。
追加したサブネット間の通信に関する NSG を追加し、サブネットに関連付ける。
-
Azure に移行する企業のためのベスト プラクティス
https://learn.microsoft.com/ja-jp/azure/cloud-adoption-framework/ready/landing-zone/ -
サブスクリプション ガバナンスのシナリオと例
https://learn.microsoft.com/ja-jp/azure/cloud-adoption-framework/ready/azure-best-practices/organize-subscriptions -
Azure のネットワーク セキュリティに関するベスト プラクティス
https://learn.microsoft.com/ja-jp/azure/security/fundamentals/network-best-practices
Tags: 移行, インフラストラクチャ, クラウド, セキュリティ, Azure
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。