第2章 CI システムとの統合


Red Hat Advanced Cluster Security for Kubernetes (RHACS) は、さまざまな継続的インテグレーション (CI) 製品と統合され、イメージをデプロイする前にビルド時およびデプロイ時のセキュリティールールを適用できます。

Red Hat Advanced Cluster Security for Kubernetes は、イメージがビルドされてレジストリーにプッシュされた後、CI パイプラインに統合されます。最初にイメージをプッシュすることで、開発者は、他の CI テストの失敗、リンター違反、またはその他の問題とともに、ポリシー違反に対処しながら、アーティファクトのテストを続行できます。

可能であれば、バージョン管理システムを設定して、Red Hat Advanced Cluster Security for Kubernetes チェックを含むビルドステージが失敗した場合にプルリクエストまたはマージリクエストがマージされないようにブロックする必要があります。

Red Hat Advanced Cluster Security for Kubernetes のインストールにアクセスして、イメージが設定したビルドフェーズポリシーに準拠しているかどうかを確認することにより、CI 製品との統合が機能します。ポリシー違反がある場合は、ポリシーの説明、論理的根拠、修正手順などの詳細なメッセージがコンソールログに表示されます。各ポリシーには、オプションの適用設定が含まれています。ビルドフェーズの適用のためにポリシーをマークした場合、そのポリシーに失敗すると、クライアントはゼロ以外のエラーコードで終了します。

Red Hat Advanced Cluster Security for Kubernetes を CI システムと統合するには、次の手順に従います。

2.1. ビルドポリシーの設定

ビルド中に Red Hat Cluster Security for Kubernetes ポリシーを確認するには、最初に、コンテナーライフサイクルのビルドフェーズに適用されるポリシーを設定する必要があります。次に、ビルド中にイメージがプッシュされるレジストリーと統合する必要があります。

2.1.1. 既存のビルドフェーズポリシーを確認する

RHACS ポータルを使用して、Red Hat Advanced Cluster Security for Kubernetes で設定した既存のビルドフェーズポリシーを確認します。

手順

  1. RHACS ポータルで、Platform Configuration Policies に移動します。
  2. グローバル検索を使用して、Lifecycle Stage:Build を検索します。

2.1.2. 新しいシステムポリシーの作成

デフォルトのポリシーを使用することに加えて、Red Hat Advanced Cluster Security for Kubernetes でカスタムポリシーを作成することもできます。

手順

  1. RHACS ポータルで、Platform Configuration Policies に移動します。
  2. + New Policy をクリックします。
  3. ポリシーの Name を入力します。
  4. ポリシーの Severity レベルを選択します: クリティカル、高、中、または低。
  5. BuildDeploy、または Runtime から、ポリシーが適用される Lifecycle Stages を選択します。複数のステージを選択できます。

    注記

    CI システムと統合するための新しいポリシーを作成する場合は、ライフサイクルステージとして Build を選択します。

    • ビルド時ポリシーは、CVE や Dockerfile 手順などのイメージフィールドに適用されます。
    • デプロイ時のポリシーには、すべてのビルド時のポリシー基準を含めることができます。また、特権モードでの実行や Docker デーモンソケットのマウントなど、クラスター設定からのデータを取得することもできます。
    • ランタイムポリシーには、すべてのビルド時とデプロイ時のポリシー基準、およびランタイム中のプロセス実行に関するデータを含めることができます。
  6. DescriptionRationale、および Remediation フィールドにポリシーに関する情報を入力します。CI がビルドを検証すると、これらのフィールドのデータが表示されます。したがって、ポリシーを説明するすべての情報を含めてください。
  7. Categories ドロップダウンメニューからカテゴリーを選択します。
  8. このポリシーの違反が発生したときにアラート通知を受信する通知ドロップダウンメニューから Notifications 機能を選択します。

    注記

    アラート通知を受信するには、Red Hat Advanced Cluster Security for Kubernetes を Webhook、Jira、PagerDuty などの通知プロバイダーと統合する必要があります。通知機能は、通知プロバイダーを Red Hat Advanced Cluster Security for Kubernetes と統合した場合にのみ表示されます。

  9. 特定のクラスター、namespace、またはラベルに対してのみこのポリシーを有効にするには、Restrict to Scope を使用します。複数のスコープを追加したり、namespaces とラベルの RE2 構文で正規表現を使用したりすることもできます。
  10. Exclude by Scope を使用して、デプロイメント、クラスター、namespaces、およびラベルを除外します。このフィールドは、指定したエンティティーにポリシーが適用されないことを示します。複数のスコープを追加したり、namespaces とラベルの RE2 構文で正規表現を使用したりすることもできます。ただし、デプロイメントの選択に正規表現を使用することはできません。
  11. 除外されたイメージ (ビルドライフサイクルのみ) の場合、ポリシーの違反をトリガーしたくないすべてのイメージをリストから選択します。

    注記

    除外されたイメージ (ビルドライフサイクルのみ) 設定は、継続的インテグレーションシステム (ビルドライフサイクルステージ) でイメージをチェックする場合にのみ適用されます。このポリシーを使用して、実行中のデプロイメント (デプロイライフサイクルステージ) またはランタイムアクティビティー (ランタイムライフサイクルステージ) をチェックする場合、効果はありません。

  12. Policy Criteria セクションで、ポリシーをトリガーする属性を設定します。
  13. パネルヘッダーで Next を選択します。
  14. 新しいポリシーパネルには、ポリシーを有効にした場合にトリガーされる違反のプレビューが表示されます。
  15. パネルヘッダーで Next を選択します。
  16. ポリシーの適用動作を選択します。適用設定は、Lifecycle Stages オプションで選択したステージでのみ使用できます。ポリシーを適用して違反を報告するには、ON を選択します。違反のみを報告するには、OFF を選択します。

    注記

    適用の振る舞いは、ライフサイクルの各ステージで異なります。

    • Build ステージでは、イメージがポリシーの条件に一致すると、Red Hat Advanced Cluster Security for Kubernetes は CI ビルドに失敗します。
    • Deploy ステージでは、Red Hat Advanced Cluster Security for Kubernetes は、ポリシーの条件に一致するデプロイの作成をブロックします。アドミッションコントローラーが適用されているクラスターでは、Kubernetes または OpenShift Container Platform サーバーがすべての非準拠のデプロイメントをブロックします。他のクラスターでは、Red Hat Advanced Cluster Security for Kubernetes が非準拠のデプロイメントを編集して、Pod がスケジュールされないようにします。
    • Runtime ステージでは、Red Hat Advanced Cluster Security for Kubernetes はポリシーの条件に一致するすべての Pod を停止します。
    警告

    ポリシーの適用は、実行中のアプリケーションまたは開発プロセスに影響を与える可能性があります。適用オプションを有効にする前に、すべての利害関係者に通知し、自動適用アクションに対応する方法を計画してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.