Azure PolicyとRBACを使用してAzure環境を制限する方法
Ready to See CloudLabs in Action?
Turn your ideas into hands-on experiences. Tell us what you're looking for, and team CloudLabs will help you find the right solution.
クラウド技術への需要が高まる中、クラウド環境の安全性と適切な管理を確保することがますます重要になっています。そこで役立つのが、ポリシーとロールベースアクセス制御(RBAC)です。
このブログ記事では、Azure PolicyとRBACを使用して、コンプライアンスを強制し、アクセスを管理し、CloudLabs環境での監査を可能にするポリシーを作成する方法について解説します。
本記事の概要:
1.ポリシーとRBACとは何か
2.Azure Policyとは何か
-
- ポリシーの種類
- Azure Policyのサンプル
3.Azure組み込みポリシーとは何か
4.Azure RBACとは何か
-
- RBACのサンプル
5.使用状況ポリシーとは何か
-
- アラートのサンプル
- Azure使用状況ポリシーのサンプル
- CloudLabsで使用状況ポリシーを適用する場所
6.環境を制限するためにCloudLabsポータルにどのようにポリシーを適用するか
7.CloudLabsテンプレートで権限を割り当てる方法
8.まとめ
各ポリシーの詳細に入る前に、ポリシーの概念と、それがクラウド環境の管理において組織にどのような利点をもたらすかを理解しておくことが重要です。
ポリシーとRBACとは何か
ポリシーは、クラウドインフラストラクチャを統制するための特定のルールとガイドラインを適用するのに役立ちます。CloudLabs環境を制限するために、Azureポリシー、カスタムポリシー、使用状況ポリシーなど、さまざまなAzureポリシーを適用できます。
ロールベースアクセス制御(RBAC)は、ユーザーのロールと責任に基づいてリソースへのアクセスを許可するセキュリティメカニズムです。RBACにより、ユーザーは自身のタスクを遂行するために必要な権限のみを持つことになり、不正アクセスやデータ漏洩のリスクを軽減します。
Azure Policyとは何か
Azure Policyは、コンプライアンスを確保し監査を容易にするポリシーを作成、割り当て、管理するための強力なサービスです。リソースの評価を行い、非準拠のポリシーをスキャンすることで、Azure Policyは安全で効率的なクラウドインフラストラクチャの維持を支援します。
ポリシーの種類: -
- Azure組み込みポリシー
- Azureカスタムポリシー(RBAC)
Azure Policyのサンプル:
https://experienceazure.blob.core.windows.net/templates/avw-sap/arm-policy.json
Azure組み込みポリシーとは何か
Azure組み込みポリシーは、Microsoftによって作成され、Azure Policy内で利用可能な、あらかじめ定義されたポリシーの集合です。これらのポリシーはベストプラクティスと業界標準に基づいており、Azure内のリソースに簡単に適用して、特定のコンプライアンス要件を満たしていることを確認できます。
Azure RBACとは何か
Azure RBACは、さまざまなスコープでユーザーの操作を管理します。アクセスが許可されていても、Azure Policyは非準拠のリソースの作成や更新をブロックします。
Azure RBACとAzure Policyを組み合わせることで、Azureにおける全範囲の制御が実現します。これにより、組織は正確かつ効率的にリソースを管理し、コンプライアンスとセキュリティを確保しながら、アクセスを制御できます。
RBACのサンプル:
https://experienceazure.blob.core.windows.net/templates/avw-sap/arm-rbac.json
使用状況ポリシーとは何か
使用状況ポリシーは、Azureリソースのコア数/クラスター数を監視するために使用されます。このポリシーでは、ユーザーに許可されるコア数/クラスター数の上限を定義する必要があります。
使用状況ポリシーは、次のようなAzureリソースを中心としています - Virtual Machines、Cosmos DB Accounts、SQL Servers/Databases、Virtual Machine Scale Sets、Databricks Clustersなど.
例:あなたは、 VMに許可される値を** 4仮想CPUコアに設定するポリシーを準備しました。ここで、同じラボを実施する2人のユーザー - User01と User02がいるとします。 User01は 2コアを使用する VMを作成し、 User02は 8コアを使用する VM**を作成します。
ここで、両方のユーザーについて、次のような2つの異なるケースが考えられます。
- ケース1: 2コアのUser01は許可された値の範囲内にあり、使用状況ポリシーに違反しません。
- ケース2: 8コアのUser02は許可された値を超えており、使用状況ポリシーに違反します。
- ポリシーに違反すると、メールで通知が届きます。
- アラートメールを受け取るには、担当者/チームがラボの設定時にメールアドレスを提供できます。
アラートのサンプル:
次のリソースについても使用状況ポリシーを定義できます。
- Microsoft.Compute/virtualMachines
- Microsoft.DocumentDb/databaseAccounts
- Microsoft.Sql/servers/databases
- Microsoft.Compute/virtualMachineScaleSets
- Microsoft.Databricks/workspaces
- Microsoft.Synapse/workspaces/bigDataPools
- Microsoft.Synapse/workspaces/sqlPools etc.
Azure使用状況ポリシーのサンプル:
https://cloudlabsai.blob.core.windows.net/policy/usage-policy-sample-v1.json
CloudLabsポータルで使用状況ポリシーを適用する場所
使用状況ポリシーを適用するには、テンプレートセクションに移動し、使用状況ポリシー用のblob storage/Git HubのURLを挿入する必要があります。
環境を制限するためにCloudLabsポータルにどのようにポリシーを適用するか
Resource GroupやSubscriptionといった特定のレベルでアクセスを有効にするために、ユーザー、グループ、サービスプリンシパルにロールが割り当てられます。テンプレート権限を使用することで、Azureリソースへのアクセスを特定のユーザーとそれぞれの制御範囲に制限し、不正な操作を抑制するとともに、機密データを保護できます。
テンプレート権限でできることの例をいくつか紹介します。
- 特定のResource GroupでAzureリソースを作成/管理できるように、そのリソースグループにContributorロールを割り当ててユーザーに許可する。
- Subscription内のすべてのリソースを表示できるが、変更は許可しないように、Subscriptionレベルでユーザーにリーダー(Reader)ロールを割り当てる。
- 特定サイズの仮想マシンのみを許可し、それ以外のすべてのサイズを制限する。
- ユーザーが作成できるのを、単一のストレージアカウントと1台のLinux仮想マシンのみに制限する。
ここでは、CloudLabsテンプレートで権限を割り当てる方法を確認します。
注:適用のためにCloudLabsポータルに進む前に、ポリシーを手元に用意しておく必要があります。
手順1:https://admin.cloudlabs.ai/に移動し、Loginをクリックします。
手順2:ログインオプションの選択を求められた場合、サポートされているオプションの中から任意のものを選択できます。当社はすべてのログイン方式に完全に対応しています。
ログインオプションの詳細については、以下のドキュメントをご参照ください(Access CloudLabs Admin Center | CloudLabs Documentation)
手順3:ログインに成功したら、Template (1) をクリックします。次に、ポリシーを設定したいテンプレートを選び、該当テンプレートのActionペインにある編集ボタンをクリックします。
手順4:編集ボタンをクリックすると、テンプレート編集ページに移動します。下にスクロールしてADD TEMPLATE PERMISSIONSを探します。次に、+ADDをクリックしてポリシーを追加します。
手順5:ここで、権限タイプをクリックする必要があります。権限タイプには次の3種類があります。
- Azure Built-in Role: Azure組み込みロールは、Azure内のユーザー、グループ、アプリケーションに割り当てることができる、特定の権限を持つあらかじめ定義されたロールの集合です。
- Azure Custom Role (RBAC): Azure組み込みロールがラボの特定のニーズを満たさない場合は、独自のカスタムロールを作成できます。
- Custom ARM Policy: Azureリソースのコンプライアンスレベルを調整することで、ユーザーを制限します。
それに応じて選択する必要があります。
Azure Built-in Roleを選択する場合は、Attendee、Instructor、Group Memberなどのプロファイルタイプも指定する必要があります。さらに、ID、スコープタイプ、スコープレベル、権限、起動タイプを選択する必要があります。権限を選択する際は、Reader、Contributor、Ownerといった権限タイプを考慮することが重要です。
Azure Custom Roleを選択する場合は、RBACポリシーを適用する必要があります。そのためには、Attendee、Instructor、Group Memberなど、該当するプロファイルタイプを選択します。続いて、ID、スコープタイプ、スコープレベル、権限データ、起動タイプを選択します。権限データには、ポリシーのblob storageのURLを貼り付ける必要があります。
Custom ARM Policyを選択する場合は、スコープタイプ、スコープレベル、権限データ、起動タイプを選択する必要があります。権限データには、ポリシーのblob storageのURLを貼り付ける必要があります。
すべてのポリシーを適用した結果、さまざまな権限タイプと権限データによって環境を制限しました。
結論として、Azure PolicyとRBACの利用は、Azure環境を制限し、コンプライアンスを確保し、アクセスを管理し、監査を可能にする強力な方法です。組織の目標や規制に沿ったポリシーを実装することで、クラウド環境を効果的に管理・保護できます。
本ブログが、Azure環境のセキュリティとパフォーマンスを制御するためにAzure PolicyとRBACを活用する方法について、価値ある知見と実践的なヒントを提供できたことを願っています。
Ready to See CloudLabs in Action?
Turn your ideas into hands-on experiences. Tell us what you're looking for, and team CloudLabs will help you find the right solution.




