アーティファクト保護は、コンテナ イメージの脆弱性を検出して管理するセキュリティ サービスです。ビルドの生成、レジストリ ストレージ、ランタイム実行時に、構成可能なセキュリティ ポリシーに照らしてコンテナ イメージを評価します。
主な機能
Artifact Guard は、コンテナ ライフサイクルの次の 3 つの主要なステージで脆弱性ポリシーを適用します。
- ビルド時のスキャン: CI/CD プラットフォーム(Cloud Build、GitHub Actions、Jenkins など)に直接統合され、コンテナのビルド時にスキャンします。イメージがセキュリティ ポリシーに違反している場合、イメージを公開する前にビルドが失敗します。
- レジストリの Admission コントロール: Artifact Registry に保存されているイメージを評価します。Binary Authorization を使用すると、アーティファクト保護は、準拠していないイメージが Google Kubernetes Engine(GKE)クラスタにデプロイされないようにブロックします。
- ランタイム モニタリング: GKE クラスタで実行中のコンテナを継続的にモニタリングして、新たに公開された脆弱性を検出し、Security Command Center の検出結果を拡充します。
セキュリティ ポリシーの適用
Artifact Guard を使用すると、次のような方法で環境を保護する一元化された脆弱性ポリシーを定義できます。
- 脆弱なアーティファクトを早期にブロックする: 開発者が、指定した重大度のしきい値を超える脆弱性を含むコンテナ イメージを push するのを防ぎます(たとえば、
HIGHまたはCRITICALの脆弱性を含むイメージをブロックします)。 - 特定のパッケージと CVE の制限: 特定のソフトウェア パッケージ、パッケージ バージョン、共通脆弱性識別子(CVE)を明示的に許可または拒否できます。
- 例外の管理: 特定の CVE に猶予期間を設けることで、セキュリティを永続的に損なうことなく、修正の開発中にチームがデプロイを継続できるようにします。
- セキュリティ検出結果の一元化: CI/CD パイプライン、アーティファクト レジストリ、実行中の GKE クラスタのスキャン結果を Security Command Center の単一のビューに統合します。
対象となる役割と責任
アーティファクト保護は、次のチーム向けに設計されています。
- セキュリティ管理者: 一元化された脆弱性ポリシーを定義して管理します。
- DevOps チームまたはプラットフォーム エンジニアリング チーム: CI/CD スキャン コネクタをビルド パイプラインに追加し、GKE アドミッション コントローラを構成します。
- アプリケーション デベロッパー: ビルド失敗ログを表示して、脆弱な依存関係を特定し、再デプロイする前に更新します。
主な用語と概念
- 共通脆弱性識別子(CVE): 一意の識別子が割り当てられた、一般公開されているコンピュータ セキュリティの脆弱性。
- ソフトウェア部品構成表(SBOM): CVE やその他のセキュリティ リスクの特定に使用されるソフトウェア コンポーネントと依存関係の機械可読インベントリ。
- アーティファクト: アーティファクト保護のコンテキストでは、CI/CD パイプラインによってビルドされたコンテナ イメージ、またはコンテナ レジストリに保存されているコンテナ イメージ。
大まかなワークフロー
Artifact Guard ポリシーは、次の 3 つの異なるスコープに適用されます。
- CI/CD プラットフォーム: Cloud Build、GitHub Actions、Jenkins パイプライン。
- Registry: Artifact Registry リポジトリ。
- ランタイム: GKE クラスタ。
環境を保護するには、次のワークフローを完了します。
CI/CD パイプラインのポリシーを作成するには、CI/CD 統合を使用して CI/CD 環境へのコネクタを作成します。リポジトリまたは GKE クラスタの場合、ポリシーの構成時にポリシー スコープをネイティブに定義します。
ターゲット スコープ(パイプライン、レジストリ、ランタイム)のアーティファクト保護ポリシーを構成します。
ポリシーに対して評価を実行します。
- パイプライン: CI/CD ビルドが実行されると、ビルド時のスキャンでポリシーに照らしてコンテナ イメージが評価されます。イメージがセキュリティ ポリシーに違反している場合、イメージを公開する前にビルドが失敗します。デベロッパーは、ビルドログで失敗の詳細を確認し、依存関係を更新できます。
- レジストリ: Artifact Registry に保存されているイメージのデプロイ中に、レジストリの Admission Controller は Binary Authorization を使用してポリシーを評価し、準拠していないイメージが GKE クラスタにデプロイされないようにします。
- ランタイム: ランタイム モニタリングは、GKE クラスタで実行中のコンテナを新しく公開された脆弱性について継続的に評価し、ポリシー違反に関する Security Command Center の検出結果を拡充します。
次のステップ
アーティファクト保護ポリシーを構成する方法を学習する。