Azure エンクレーブでは、Azureのネイティブ ロールベースのアクセス制御 (RBAC) を使用したアクセス許可の詳細な委任がサポートされます。 委任により、環境のセキュリティや運用上の整合性を損なうことなく、コミュニティ、エンクレーブ、ワークロードの境界を越えて責任を分離できます。
この記事では、Azure エンクレーブが RBAC を実装する方法について説明し、Azure エンクレーブ階層全体のアクセスを管理するのに役立つ組み込みロールについて説明します。
Azure エンクレーブ リソース階層の概要
Azure エンクレーブは、リソースを 3 つの論理レイヤーに編成します。
- コミュニティ – お使いの分離環境における最上位のガバナンス境界。
- エンクレーブ – コミュニティ内に作成された、セキュリティで保護された仮想ネットワーク分離ランディング ゾーン。
- ワークロード – エンクレーブ リソース グループにデプロイされたアプリケーションとサービス。
各レイヤーは個別の管理操作を公開し、エンクレーブAzureは、それらの間でアクセスを分離するための専用のロールを提供します。
Azure Enclave の RBAC
Azure エンクレーブの RBAC は、標準の RBAC ロールの割り当てを拒否割り当てと組み合わせて使用して適用され、コミュニティ/エンクレーブマネージド リソースとワークロードをきめ細かく制御できます。
主な RBAC の概念:
- コミュニティとエンクレーブのアクセス制御 - 承認されていない変更を防ぐために、コミュニティおよびエンクレーブマネージド リソース グループに拒否割り当てが適用されます。 コミュニティ/エンクレーブ 管理者設定 は、管理対象リソースに対するロールの割り当てを取得するユーザー/グループを決定します。 メンテナンス モード では、セキュリティと分離に影響を与える可能性のある特定の特権アクションを実行できるユーザーを決定します。
- ワークロード アクセス制御 - ワークロード リソース グループは、必要に応じて拒否割り当てで保護され、明示的に定義されたユーザー/グループのみがワークロード リソースに対する特権アクセスを持つことが保証されます。
- メインタンス モード - マネージド リソースに対して特権アクションを実行するために、コミュニティおよびエンクレーブマネージド リソース グループに対する拒否割り当てに対して明示的に定義されたユーザー/グループの例外を付与します。
Azure エンクレーブの組み込みロール
Microsoft.Mission リソースの種類に対する一般的な運用パターンに対応するため、Azure Enclave では次の組み込み RBAC ロールが提供されています。 これらのロールを使用すると、必要なものにのみアクセス権を割り当てることで、最小限の特権の原則に従うことができます。
コミュニティレベルのロール
コミュニティ レベルで適用できるロール。
| 役割名 | Description |
|---|---|
| コミュニティ所有者 | エンクレーブの作成、ログ記録と診断の管理など、コミュニティの完全な制御。 |
| コミュニティ共同作成者 | コミュニティ内でエンクレーブ リソースを作成および管理できますが、ロールを割り当てることはできません。 |
| コミュニティリーダー | コミュニティとその中のすべてのエンクレーブに対する閲覧専用アクセス。 |
エンクレーブの役割
エンクレーブ レベルで適用できるロール。
| 役割名 | Description |
|---|---|
| エンクレーブ所有者 | ネットワーク、エンドポイント構成、ワークロードの作成など、エンクレーブの完全な制御。 |
| エンクレーブ共同作成者 | エンクレーブ設定を変更してワークロードをデプロイすることはできますが、RBAC ロールを割り当てることはできません。 |
| エンクレーブ リーダー | エンクレーブ メタデータ、エンドポイント、および関連するワークロードへの表示専用アクセス。 |
| エンクレーブ承認者ロール | エンクレーブの詳細を表示し、ゲートワークフロー内でのデプロイまたは更新要求を承認できます。 |
ワークロードへのアクセス
Azure エンクレーブでは、新しいワークロード固有のロールは導入されません。 代わりに、ワークロード リソース グループ レベルで標準のAzure RBAC ロール (共同作成者、閲覧者、所有者など) を使用して、デプロイされたアプリケーションとサービスへのアクセスを制御します。
Azure エンクレーブ内でのアクセスの分離
Azure エンクレーブの RBAC は、個別のチームまたはペルソナをさまざまなスコープに割り当てることができるように意図的に階層化されています。
- プラットフォーム チーム は、ガバナンス境界を設定するために コミュニティ所有者 を割り当てた。
- クラウド ネットワーク エンジニアは、 エンクレーブ レベルのリソースを管理するために エンクレーブ所有者 アクセス権を受け取ります。
- アプリ開発者 または ワークロード管理者には、 ワークロード リソース グループ レベルでのみ共同作成者ロールまたは閲覧者ロールが付与されます。
- セキュリティチームと監査チーム には、構成の変更を危険にさらすことなくインフラストラクチャを監視するための エンクレーブ閲覧者 または コミュニティ閲覧者 が与えられます。
このモデルにより、懸念事項が厳密に分離され、構成ミスや侵害による悪影響が最小限に抑えられます。
ロールの割り当てのベスト プラクティス
Azure エンクレーブで安全で効果的なアクセス制御を実装するには:
- 最小限の特権原則を使用する: ユーザーが自分のジョブを実行できるようにする最も制限の厳しいロールを割り当てます。
- 可能な限り最も低いスコープ (必要に応じてサブスクリプションではなくリソース グループ) でロールを割り当てます。
- Azure Policyと監査ログを使用して、ロールの割り当てを定期的に監視します。
- Just-In-Time アクセスを実現するために、Azure エンクレーブ ロールと Azure PIM (Privileged Identity Management) を組み合わせることを検討してください。