Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AzurePolicy×HashicorpSentinel大規模環境におけるガバナンス戦略につ...

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for Taira Aoki Taira Aoki
February 13, 2026

 AzurePolicy×HashicorpSentinel大規模環境におけるガバナンス戦略について考える

2026/02/13に開催された第58回 Japan Azure User GroupのLT登壇資料です。

Avatar for Taira Aoki

Taira Aoki

February 13, 2026
Tweet

Other Decks in Technology

Transcript

  1. Azure Policyって何? 「 Azure環境における組織のルールを 自動適用する仕組み」のこと 以下のような組織の決まりを自動で適用してくれる • すべてのリソースでEnvタグを必須にしたい →特定の値を自動で付与! •

    暗号化が有効でないストレージは作ってはいけない →デプロイ前に自動で作成を拒否! • 特定のリソースタイプには必ず削除ロックを適用したい →リソースデプロイ後、自動で削除ロックを付与! など Azure Policy の概要 - Azure Policy | Microsoft Learn
  2. Azure Policyが今後さらに注目されていく(と思っています) Governance and security for AI agents across the

    organization - Cloud Adoption Framework | Microsoft Learn AI Agentのガバナンスにおいて、組織が利用できるAIモデルやインフラを 制御するガードレール担当としての役割を担っている
  3. Microsoft Ignite 2025のアップデートでポータル画面が一新 Azure Governance @ Ignite 2025 | Microsoft

    Community Hub 各種セキュリティベンチマーク のセッティングが簡単に! おすすめのビルトインポリシー を出してくれるようになった! 表示画面をカスタマイズ できるようになった!
  4. Azure Policyの基本的な使い方 • 定義リソース • Json形式で定義ファイルを作成し、 Azure Policyに登録 • ビルトインポリシー(Microsoftによっ

    て既に登録・管理されている)もある • 割り当てリソース • 定義リソースと適用したいスコープを 指定し、それをもとに 割りてリソースを作成 • 割り当てたスコープとその配下 すべてのリソースに対して、 割り当て定義リソースの評価が行われ る(一部除外もできる)
  5. 大規模環境ではAzureリソースの管理方法が複数存在するのが当たり前 • Azure Portalで手動で管理 • Terraform(IaC)で管理 Azure環境やリソースの状態に変化を与える「変更系ポリシー定義」はIaCと相性が悪い (ドリフトの元) 大規模環境での問題点:「変更系ポリシー定義」vs「IaC」 効果の一例

    効果の説明 Audit 監査ログを出力 Deny リソースの更新/作成を拒否 Modify リソース更新/作成時に準拠した状態に更新 DeployIfNotExists 関連リソース更新/作成後に追加リソースを作成 変更系 変更しない・ させない系
  6. 1. 変更系ポリシー定義を活用しない • ガバナンス管理の最初はこの方針で全く問題ない • ただ、このままではAzure Policyの力は最大限生かせない 2. Azure Policyで管理している範囲以外をIaCで管理

    (IaC管理のリソースの一部の範囲を無視) • コード上でSSOTを保証できない • 割り当てリソースが追加されるたびに利用者が対応に追われる 3. IaC管理のAzureリソースは変更系ポリシー定義の適用外とする • これだけではIaC管理のAzureリソースのガバナンス品質を維持できない 4. (おすすめ) IaC管理のAzureリソースは変更系ポリシー定義の適用外とし、 IaC用のガバナンス管理ツールでAzure Policyと同等の管理を行う • 手動管理、IaC管理いずれのガバナンス品質も下げない。 ただし管理方法は若干複雑になるので工夫が必要 「変更系ポリシー定義」vs「IaC」:解消方法を考えてみる
  7. HCP Terraformで利用できるコードガバナンス管理ツール • Azure Policyと同様に、ポリシーを作成してIaCを評価できる • terraform apply前に自動でsentinelポリシーに準拠しているか 評価し、ポリシー違反を検知したら、terraform applyを禁止できる

    • 同じポリシーをHCP Terraform利用者(ワークスペース)全体に適用できる Hashicorp Sentinel:Terraformにおけるガバナンス管理ツール Introduction to Sentinel | Sentinel | HashiCorp Developer terraform plan ・構文チェック ・ステートと比較 して変更内容を チェック sentinel policy check ・Sentinelポリシーに 準拠しているか チェック →ポリシー違反を検知 terraform apply 変更内容の反映 実行を禁止
  8. • Terraformで管理するリソースはす べてManagedby: Terraformタグを 付与(Sentinelポリシーで強制) • 変更系ポリシー定義は Managedby: Terraformタグが付与 されたリソースを無視

    • 変更系ポリシー定義と同等の基準 ルール、対象を含めたSentinelポ リシーを作成 • 禁止・監査ログ出力などのガバナ ンスはすべてAzure Policyで管理 Azure PolicyとHashicorp Sentinelの役割分担
  9. • Azure Policyの各種リソースも コード管理にすることで、 管理を効率化できる (MS公式のTerraformモジュール有↓) • 変更系のポリシー定義をリポジトリに 追加したら、自動でIssueを作成して Sentinelポリシー作成を促すGitHub

    Actionsを組むことも可能 • そのままGitHub Copilotに、対応した Sentinelポリシーを作成させるところ までできるのでは…?と考えている (現在検証中です) Tips:2つのツールを使ったガバナンス管理を簡単にするコツ リポジトリ例 ├── modules/ # terraform モジュール │ ├── custom_policy_definitions/ │ │ ├── custom_initiatives/ #カスタムイニシアティブ定義 │ │ └── custom_policies/ #カスタムポリシー定義 │ ├── policy_assignments/ │ └── policy_exemptions/ ├── environment/ # Azure Policy リソースを作成するterraform呼び出し │ ├── inter_root.tf │ ├── sandbox.tf │ ├── landing_zone.tf │ ├── platform.tf │ ├── outputs.tf │ ├── versions.tf │ └── variables.tf └── sentinel/ # Sentinel定義ディレクトリ ├── main.sentinel ├── sentinel.hcl └── policies/ # Sentinelポリシー定義ディレクトリ ├── require-terraform-tags.sentinel └── deny-public_ip.sentinel Azure/terraform-azurerm-caf-enterprise-scale: Azure landing zones Terraform module
  10. おまけ:Bicepを活用したガバナンス管理方法 Terraformを利用せずに、Bicepを利用されている方向け • 今回説明したTerraformのAzure Policyモジュールにあたるもの • Azure Landing Zone •

    ドキュメントはこちら:Azure landing zone Documentation • モジュールはこちら:ALZ-Bicep/infra-as-code/bicep/modules/policy at main · Azure/ALZ-Bicep • 今回説明したHashicorp Sentinel部分にあたるもの • IaCコードテストツール:PSRule for Azure • IaCのコードをテストするポリシーをPowerShellで記載する • BicepやARMテンプレートで書いたAzureリソースをデプロイ前にテストできる • 参考文献 • Enterprise Policy As Code (EPAC) • PowerShellでAzure Policyのリソースを定義できるものだが、大規模環境におけるポリシー管理のコツが 記載されている