Azure Policy あじゅーる ぽりしー
ガバナンスコンプライアンスリソース管理Azureポリシー定義イニシアティブ
Azure Policyについて教えて
簡単に言うとこんな感じ!
Azure上のリソース(サーバーやデータベースなど)に「こういうルールを守ってね」と自動で強制できる仕組みだよ。「暗号化しないストレージは作らせない」「特定リージョン以外に展開禁止」みたいなルールを一括管理できるんだ!
Azure Policyとは
Azure Policyは、Microsoft Azureが提供するクラウドリソースのガバナンス(統治)・コンプライアンス管理サービスです。企業や組織が定めたルール(ポリシー)をAzure環境全体に適用することで、設定ミスやセキュリティ違反のあるリソースが作られるのを未然に防いだり、既存リソースの違反状況を継続的に監視・評価したりできます。
たとえば「すべてのストレージアカウントは暗号化を有効にすること」「仮想マシンは東日本リージョンにのみ作成すること」といったルールを定義し、それを組織全体のAzureサブスクリプションやリソースグループに一括で適用できます。違反しているリソースは自動的に修復することも可能で、情シス担当者がいちいち手動でチェックしなくても、ルールが自動で守られる状態を維持できます。
Azure Policyは単なる監視ツールではなく、ポリシーに違反するリソースの作成そのものを拒否(Deny)する強制力も持っています。セキュリティ基準・法規制対応・コスト管理など、多様な場面で活用されています。
Azure Policyの主な構成要素
| 構成要素 | 説明 |
|---|---|
| ポリシー定義 | 何をチェックし、違反時にどう対応するかを記述したJSONルール |
| イニシアティブ定義 | 複数のポリシー定義をまとめたグループ(テーマ別セット) |
| 割り当て(Assignment) | ポリシーまたはイニシアティブを特定のスコープ(範囲)に適用する操作 |
| スコープ | 管理グループ・サブスクリプション・リソースグループのいずれかを指定 |
| コンプライアンスレポート | ポリシーに準拠しているリソースの割合をダッシュボードで可視化 |
効果(Effect)の種類
ポリシー定義には「違反したらどうするか」を指定するEffect(効果)があります。
| Effect | 動作 |
|---|---|
| Deny | 違反するリソースの作成・変更を拒否する |
| Audit | 違反を記録するが作成は許可する(まず現状把握したいときに有効) |
| DeployIfNotExists | 条件を満たすリソースがなければ自動デプロイ |
| Modify | リソース作成・更新時にプロパティを自動修正 |
| Append | リソースに追加設定を付け加える |
| AuditIfNotExists | 関連リソースが存在しない場合に違反として記録 |
覚え方:ポリシーの流れは「定義→まとめ→適用」
ポリシー定義(個別ルール)
↓ まとめる
イニシアティブ(ルールセット)
↓ 適用する
スコープ(管理グループ・サブスクリプション・RG)
↓ 結果を見る
コンプライアンスレポート
歴史と背景
- 2016年以前 — Azureのガバナンス管理は手動運用が中心で、設定ミスやセキュリティ違反の検出が困難だった
- 2016年 — Azure Policyの前身となるリソースポリシー機能がプレビューとして登場
- 2017年 — 正式GA(一般提供)開始。JSON形式のポリシー定義と「Deny/Audit」エフェクトが基本機能として確立
- 2018年 — イニシアティブ(複数ポリシーのグループ化)機能が強化され、CIS・NISTなど業界標準のビルトインイニシアティブが追加
- 2019〜2020年 — 「DeployIfNotExists」「Modify」エフェクトによる自動修復機能が充実し、単なる監視から能動的な修正へと進化
- 2021年以降 — Microsoft Defender for Cloud(旧Azure Security Center)との統合が深まり、セキュリティスコアとの連携でコンプライアンス管理がさらに一元化
- 現在 — 数百種類のビルトインポリシーが提供されており、金融・医療・政府機関向けの規制対応(ISO 27001、PCI DSS、SOC 2など)テンプレートも充実
Azure Policyのスコープ階層と適用範囲
Azure Policyは管理グループ(Management Group)を頂点とした階層構造の任意のレベルに適用でき、下位スコープに自動継承されます。
Azure PolicyとAzure RBACの違い
よく混同されるAzure RBAC(ロールベースアクセス制御)との違いを整理します。
| 観点 | Azure Policy | Azure RBAC |
|---|---|---|
| 目的 | リソースの設定・構成ルールを強制 | 誰がどの操作をできるかを制御 |
| 問いかけ | 「このリソースはルールに準拠しているか」 | 「このユーザーはこの操作をしてよいか」 |
| 対象 | リソースのプロパティ・設定値 | ユーザー・グループ・サービスプリンシパルの権限 |
| 強制のタイミング | リソース作成・更新時 / 継続評価 | APIリクエスト時 |
| 補完関係 | ✅ 両方を組み合わせて使うのが推奨 | ✅ 両方を組み合わせて使うのが推奨 |
関連する規格・RFC
| 規格・標準 | 内容 |
|---|---|
| ISO/IEC 27001 | 情報セキュリティ管理システム(ISMS)の国際規格。Azureにはこれに対応したビルトインイニシアティブが存在する |
| PCI DSS | クレジットカード業界のセキュリティ基準。Azure Policyのビルトインイニシアティブとして提供 |
| NIST SP 800-53 | 米国政府機関向けセキュリティ管理基準。対応イニシアティブあり |
| CIS Microsoft Azure Foundations Benchmark | CISが定めるAzureセキュリティ設定のベースライン |
関連用語
- Azure RBAC — Azureのロールベースアクセス制御。Policyと組み合わせてガバナンスを強化する
- Azure Management Group — 複数サブスクリプションをまとめる管理階層。Policyの最上位スコープ
- Microsoft Defender for Cloud — Azure Policyと連携するクラウドセキュリティ管理サービス
- Azure Blueprints — ポリシー・RBAC・テンプレートをまとめて環境構築するサービス
- Infrastructure as Code — インフラ構成をコードで管理する考え方。Policyの定義もコード管理可能
- コンプライアンス — 法令・規制・社内基準への準拠。Azure Policyの主要ユースケース
- Azure Resource Manager — Azureリソースの管理レイヤー。PolicyはARMと連携して動作する
- ゼロトラスト — 「何も信頼しない」セキュリティ設計思想。Azure Policyはその実装手段の一つ