クラウドセキュリティ

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のスコープ階層 管理グループ 複数サブスクリプションをまとめる最上位 サブスクリプション 請求・権限管理の単位。組織・部門ごとに分割することも リソースグループ 関連リソースをまとめる論理コンテナ(例: 本番環境RG) リソース(VM) 仮想マシン・DBなど個別リソース リソース(Storage) ストレージ・ネットワークなど ⬆ 上位スコープに適用したポリシーは下位スコープへ自動継承される (除外スコープの指定も可能)

Azure PolicyとAzure RBACの違い

よく混同されるAzure RBAC(ロールベースアクセス制御)との違いを整理します。

観点Azure PolicyAzure RBAC
目的リソースの設定・構成ルールを強制誰がどの操作をできるかを制御
問いかけ「このリソースはルールに準拠しているか」「このユーザーはこの操作をしてよいか」
対象リソースのプロパティ・設定値ユーザー・グループ・サービスプリンシパルの権限
強制のタイミングリソース作成・更新時 / 継続評価APIリクエスト時
補完関係✅ 両方を組み合わせて使うのが推奨✅ 両方を組み合わせて使うのが推奨

関連する規格・RFC

規格・標準内容
ISO/IEC 27001情報セキュリティ管理システム(ISMS)の国際規格。Azureにはこれに対応したビルトインイニシアティブが存在する
PCI DSSクレジットカード業界のセキュリティ基準。Azure Policyのビルトインイニシアティブとして提供
NIST SP 800-53米国政府機関向けセキュリティ管理基準。対応イニシアティブあり
CIS Microsoft Azure Foundations BenchmarkCISが定める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はその実装手段の一つ