高度な Azure Policy 管理

この記事では、コードとしてのインフラストラクチャ (IaC) を使用して Azure Policy を大規模に管理する方法について説明します。 ポリシー主導のガバナンス」は、Azure ランディング ゾーンの設計原則です。 デプロイするアプリケーションが組織のプラットフォームに準拠しているようにします。 環境全体でポリシー オブジェクトを管理およびテストし、コンプライアンスが満たされていることを確認するには、かなりの労力が必要な場合があります。 Azure ランディング ゾーン アクセラレータは、安全なベースラインを確立するのに役立ちますが、組織には、他のポリシーを展開することで満たす必要がある追加のコンプライアンス要件がある場合があります。

Enterprise Policy as Code (EPAC) とは

EPAC は、IaC を統合し、Azure Policy を管理するために使用できるオープンソース プロジェクトです。 EPAC は PowerShell モジュールに基づいて構築され、PowerShell ギャラリーに発行されます。 このプロジェクトの機能を使用すると、次のことができます。

  • ステートフル ポリシーの展開を作成します。 コードで定義されているオブジェクトは、Azure に展開されたポリシー オブジェクトの信頼できるソースになります。

  • マルチテナント デプロイやソブリンクラウド デプロイなどの複雑なポリシー管理シナリオを実装します。

  • ポリシーをエクスポートして統合し、Azure ランディング ゾーンの展開の前に開発された既存のカスタム ポリシーを組み込みます。

  • ポリシーの除外とポリシー ドキュメントを作成および管理します。

  • サンプル ワークフローを使用して、GitHub Actions または Azure Pipelines を使用した Azure Policy の展開を示します。

  • コンプライアンス非対応レポートをエクスポートし、修復タスクを作成します。

EPAC を使用する理由

EPAC を使用して、Azure ランディング ゾーン ポリシーを展開および管理できます。 次の場合は、ポリシーを管理するための EPAC の実装を検討することをおすすめします。

  • 新しい Azure ランディング ゾーン環境に展開する既存のブラウンフィールド環境にアンマネージド ポリシーがあります。 既存のポリシーをエクスポートし、Azure ランディング ゾーン ポリシー オブジェクトと共に EPAC で管理します。

  • テスト用の複数の管理グループ構造や非伝統的な管理グループ構造など、Azure ランディング ゾーンに完全には一致しない Azure デプロイがあります。 他の Azure ランディング ゾーンデプロイ方法で提供される既定の割り当て構造は、戦略に適合しない可能性があります。

  • インフラストラクチャの展開を担当しないチーム (たとえば、ポリシーの展開と管理が必要なセキュリティ チームなど) があります。

  • ポリシーの除外やドキュメントなど、Azure ランディング ゾーン アクセラレータの展開では使用できないポリシーの機能が必要です。

作業の開始

EPAC GitHub リポジトリには、Azure Policy の管理を開始するための詳細な手順が用意されています。 プロジェクトが環境に適しているかどうかを判断するときは、次の要因を考慮してください。

  • 環境トポロジ: 複数のテナンシーと複雑な管理グループ構造がサポートされています。 複数のチームがポリシーを管理し、新しいポリシーの展開をテストできるように、ポリシーをコード展開として構成する方法を検討します。

  • アクセス許可: デプロイのアクセス許可 (特にロールと ID) を管理する方法を検討してください。 EPAC には、ポリシーとロールの割り当ての両方を展開するための複数のステージが用意されているため、個別の ID を使用できます。

  • 既存のポリシー展開: ブラウンフィールド シナリオでは、EPAC の展開中に維持する必要がある既存のポリシーがある場合があります。 目的の状態戦略を使用して、EPAC が定義されたポリシーのみを管理し、既存のポリシーを保持できるようにすることができます。

  • 展開手法: EPAC では、ポリシーの展開に役立つ Azure DevOps、GitHub Actions、および PowerShell モジュールがサポートされています。 EPAC スターター キットのサンプル パイプラインを使用して、環境と要件に合わせて調整できます。

クイック スタート ガイドに従って、環境内のポリシー オブジェクトをエクスポートし、EPAC による Azure Policy の管理方法を理解します。

コードまたはドキュメントに関する問題については、 GitHub リポジトリで問題を送信してください

既存のポリシー展開ソリューションを置き換える

EPAC は、Azure ランディング ゾーン アクセラレータのポリシー展開機能を置き換えます。 これらのアクセラレータを使用する場合は、EPAC が環境内のポリシーの信頼できるソースであるため、Azure Policy の展開には使用しないでください。

詳細については、Bicep と Terraform Azure ランディング ゾーン アクセラレータを使用したポリシー管理に関する次のリソースを参照してください。

次のステップ