Azure リソースグループ単位での環境分離
1. はじめに
Azure の RBAC(Role-Based Access Control)は、ユーザーやグループに特定のリソースへのアクセス権を割り当てるためのツール・考えかたです。本記事では、Azure環境でのRBACの基本的な設定方法についてを記載しています。
2. 設定する構成
以下のtreeにある構成を作成しています。この構成は、Azure アカウントの無料枠で作成できます。
サブスクリプションを分ける方法(テナントごとの分離)を選ぶ場合、Microsoft Entra ID の有償プラン(P1 以上)が必要(以下URL[1および2])です。
Microsoft Entra ID P1 または P2 プランでは、条件付きアクセスや詳細なポリシー設定が可能ですので ビジネスでの利用や高度なセキュリティ設定が必要な場合には、有償プランを検討する必要があるかと思います。
[1]Microsoft Entra ID のシングル テナントでの安全なリソースの分離
[2]Microsoft Entra のプランと価格
Azure Entra ID 環境(1つのテナント)
├── サブスクリプション(1つ)
│ ├── リソースグループ(本番用)
│ │ ├── 仮想マシン: 本番VM1
│ │ └── B1s インスタンス
│ ├── リソースグループ(検証用)
│ │ ├── 仮想マシン: 検証VM1
│ └── B1s インスタンス(検証用)
├── ユーザーとグループ
│ ├── 本番管理者グループ
│ │ └── 【メンバー】admin1@example.com
│ ├── 検証管理者グループ
│ │ └── 【メンバー】admin_test1@example.com
│ ├── 本番ユーザーグループ
│ │ └── 【メンバー】user1@example.com
│ └── 検証ユーザーグループ
│ └── 【メンバー】test_user1@example.com
└── アクセス制御(IAMによるアクセス管理)
├── 本番リソースグループ
│ ├── 本番管理者グループ(Owner ロール)
│ └── 本番ユーザーグループ(Reader ロール)
├── 検証リソースグループ
├── 本番管理者グループ(Owner ロール)
└── 本番ユーザーグループ(Reader ロール)
3. リソースの構築手順
検証リソースは本番リソースと名前だけ違うだけの手順なので本番用の作成のみを代表して記載しています。
3-1. リソースグループ
1.「リソースグループ」を選択し、「+ 作成」をクリック。
2.必要事項を入力:
本番用リソースグループ: prod-resources
リージョン: Japan East
3.リソースグループが作成されたことを確認
3-2. ユーザ作成
1.「ユーザー」を選択し「+ 新しいユーザー」をクリック。
2.必要事項を入力:
・ユーザープリンシパル名: 例 admin1@example.com
・表示名: admin1
・パスワード: パスワードの自動作成
・レビューと作成をクリック。
3.作成をクリック。
4.ユーザが作成されたことを確認
3-3. ユーザグループ作成
- 「グループ」を選択し「+ 新しいグループ」をクリック。
- グループの詳細を入力:
・グループ名(本番管理者グループ): prod__admin_group(最後に気づいたのですがアンダーバーが2つありました。。。)
・メンバー:admin1を選択し作成
3.グループが作成されたことを確認
3-4. ロールの割り当て
1.3-1で作成した「prod-resources」を選択し「ロールの割り当ての追加」をクリック。
2.管理者への割り当ての想定のため「所有者」を選択し「次へ」をクリック
ここの箇所について、ユーザグループに割り当てているものは「閲覧者」にしています。
3.メンバーを選択するで、4-3で作成した「prod__admin_group」を選択し次へをクリック。
4.管理者を想定しているので、「ユーザーにすべてのロールの割り当てを許可する」を選択し次へをクリック。
5.内容を確認し「レビューと割り当て」をクリック。
4. 動作検証
本番管理者グループの検証
確認手順: Azure ポータルにログインし、リソースグループ(prod-resources)仮想マシンの停止を実施する。
1.admin1でログインし「prod-resources」にVMが存在していることを確認
2.停止をクリック。
3.VMの状態が停止済みであることを確認
本番ユーザーグループの検証
確認手順: 仮想マシンのステータスは確認できるが起動には失敗する。
1.user1でログインし開始をクリック。
2.開始が失敗しエラーが出力されることを確認。
5. まとめ
本記事では、Azure の RBAC を利用してリソースグループ単位で環境を分離する方法を記載しました。この設定により、無料枠の範囲内だとしてもセキュリティを確保しながら、リソース管理を実現できそうでした。
Discussion