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 とは」と「最初のパイプラインの作成」を参照してください。

準備

  1. Azure portal で Azure Policy を作成します。 定義済みのサンプル ポリシーがいくつかあり、管理グループ、サブスクリプション、リソース グループに適用できます。

  2. Azure DevOps で、少なくとも 1 つのステージを含むリリース パイプラインを作成するか、既存のリリース パイプラインを開きます。

  3. Azure Policy コンプライアンスの確認タスクを含む、デプロイ前またはデプロイ後の条件をゲートとして追加します。 詳細についてはこちらをご覧ください

    Azure Policy ゲートのスクリーンショット。

YAML パイプラインの定義を使っている場合は、AzurePolicyCheckGate@0 Azure Pipelines タスクを使います。

リリースの間に違反を検証する

注意

AzurePolicyCheckGate タスクを使用して、YAML でのポリシー準拠を調べます。 このタスクはゲートとしてのみ使用でき、ビルドまたはリリース パイプラインでは使用できません。

  1. Azure DevOps でチーム プロジェクトに移動します。

  2. [パイプライン] セクションで [リリース] ページを開き、新しいリリースを作成します。

  3. リリース ビューで [進行中] リンクを選択して、ライブ ログ ページを開きます。

  4. 進行中のリリースが、定義されているポリシーによって禁止されているアクションを実行しようとすると、デプロイは [失敗] とマークされます。 エラー メッセージには、ポリシー違反を表示するためのリンクが含まれています。

    Azure Policy エラー メッセージのスクリーンショット。

  5. エラー メッセージがログに書き込まれ、Azure Pipelines のリリース ページのステージ状態パネルに表示されます。

    ログ内の Azure Policy エラーのスクリーンショット。

  6. ポリシー準拠ゲートにリリースが合格すると、[成功] 状態が表示されます。

    ポリシー ゲートのスクリーンショット。

  7. 詳細ログを表示するには、成功したデプロイを選択します。

    ポリシー ログのスクリーンショット。

次のステップ

ポリシー定義の構造の詳細については、次の記事を参照してください。