Azure DevOps リリース パイプラインを使用して Azure Policy を実装する
Azure DevOps Services
Azure Pipelines でのデプロイの前と後に、Azure リソースにコンプライアンス ポリシーを適用する方法について説明します。 Azure Pipelines を使用すると、 Azure DevOps を使用して継続的インテグレーション (CI) と継続的デリバリー (CD) でビルド、テスト、およびデプロイを行うことができます。 パイプラインに Azure Policy を追加する 1 つのシナリオは、リソースが承認されたリージョンにのみデプロイされ、診断ログを Azure Log Analytics に送信するように構成されるようにする必要がある場合です。
クラシック パイプラインまたは YAML パイプライン プロセスのいずれかを使って、CI/CD パイプラインに Azure Policy を実装できます。
詳細については、「Azure Pipelines とは」と「最初のパイプラインの作成」を参照してください。
準備
Azure portal で Azure Policy を作成します。 定義済みのサンプル ポリシーがいくつかあり、管理グループ、サブスクリプション、リソース グループに適用できます。
Azure DevOps で、少なくとも 1 つのステージを含むリリース パイプラインを作成するか、既存のリリース パイプラインを開きます。
Azure Policy コンプライアンスの確認タスクを含む、デプロイ前またはデプロイ後の条件をゲートとして追加します。 詳細についてはこちらをご覧ください。
YAML パイプラインの定義を使っている場合は、AzurePolicyCheckGate@0 Azure Pipelines タスクを使います。
リリースの間に違反を検証する
注意
AzurePolicyCheckGate タスクを使用して、YAML でのポリシー準拠を調べます。 このタスクはゲートとしてのみ使用でき、ビルドまたはリリース パイプラインでは使用できません。
Azure DevOps でチーム プロジェクトに移動します。
[パイプライン] セクションで [リリース] ページを開き、新しいリリースを作成します。
リリース ビューで [進行中] リンクを選択して、ライブ ログ ページを開きます。
進行中のリリースが、定義されているポリシーによって禁止されているアクションを実行しようとすると、デプロイは [失敗] とマークされます。 エラー メッセージには、ポリシー違反を表示するためのリンクが含まれています。
エラー メッセージがログに書き込まれ、Azure Pipelines のリリース ページのステージ状態パネルに表示されます。
ポリシー準拠ゲートにリリースが合格すると、[成功] 状態が表示されます。
詳細ログを表示するには、成功したデプロイを選択します。
次のステップ
ポリシー定義の構造の詳細については、次の記事を参照してください。