ソフトウェア デリバリー シールドは、フルマネージドでエンドツーエンドのソフトウェア サプライ チェーン セキュリティ ソリューションです。デベロッパー、DevOps、セキュリティ チームがソフトウェア サプライ チェーンのセキュリティ体制を強化するために使用できる Google Cloud プロダクトに、包括的でモジュール式の一連の機能とツールを提供します。
Sofware Delivery Shield は、以下で構成されます。
- 開発、ビルド、テスト、スキャン、デプロイ、ポリシーの適用に関するセキュリティのベスト プラクティスが組み込まれた Google Cloud のプロダクトと機能。
- ソース、ビルド、アーティファクト、デプロイ、ランタイムに関するセキュリティ情報を表示する Google Cloud コンソールのダッシュボード。この情報には、ビルド アーティファクト、ビルドの場所、ソフトウェア部品構成表(SBOM)の依存関係リストの脆弱性が含まれます。
- ソフトウェア アーティファクトのサプライチェーン レベル(SLSA)のフレームワークを使用して、ソフトウェア サプライ チェーンのセキュリティの成熟度を特定する情報。
Software Delivery Shield のコンポーネント
次の図は、Software Delivery Shield 内のさまざまなサービスが連携して、ソフトウェア サプライ チェーンを保護する方法を示しています。
以下のセクションでは、Software Delivery Shield のソリューションに含まれるプロダクトと機能について説明します。
安全な開発に役立つコンポーネント
ソフトウェア デリバリー シールドの次のコンポーネントは、ソフトウェアのソースコードを保護します。
Cloud Workstations
Cloud Workstations は、Google Cloud 上でフルマネージド開発環境を提供します。IT 管理者やセキュリティ管理者は、開発環境のプロビジョニング、スケーリング、管理、保護を行うことができます。また、デベロッパーは一貫した構成とカスタマイズ可能なツールを使用して開発環境にアクセスできます。
Cloud Workstations は、アプリケーション開発環境のセキュリティ体制を強化することで、セキュリティのシフトレフトに役立ちます。VPC Service Controls、非公開の上り(内向き)または下り(外向き)ネットワーク、強制イメージ更新、Identity and Access Management アクセス ポリシーなどのセキュリティ機能を備えています。詳細については、Cloud Workstations のドキュメントをご覧ください。
Cloud Code source protect(プレビュー)
Cloud Code は、アプリケーションの作成、デプロイ、Google Cloud との統合を行う IDE サポートを提供します。これにより、デベロッパーはサンプル テンプレートから新しいアプリケーションを作成してカスタマイズし、完成したアプリケーションを実行できます。Cloud Code source protect によって、デベロッパーが IDE で作業する際に、脆弱な依存関係の特定やライセンス レポートなど、リアルタイムのセキュリティ フィードバックが提供されます。これにより、デベロッパーはソフトウェア開発プロセスの開始時にコードを迅速に修正し、修正できます。
機能の可用性: Cloud Code の source protect は、一般公開アクセスには使用できません。この機能にアクセスするには、アクセス リクエスト ページをご覧ください。
ソフトウェアのサプライ保護に役立つコンポーネント
ソフトウェアのサプライ、つまり、ビルド アーティファクトとアプリケーションの依存関係を保護することも、ソフトウェア サプライ チェーンのセキュリティを強化するうえでの重要なステップです。オープンソース ソフトウェアが普及すると、この問題は特に難しい課題となります。
ソフトウェア デリバリー シールドの次のコンポーネントは、ビルド アーティファクトとアプリケーションの依存関係の保護に役立ちます。
Assured OSS
Assured OSS サービスを使用すると、Google によって確認およびテストされた OSS パッケージにアクセスして統合できます。Google の安全なパイプラインを使用して構築された Java パッケージと Python パッケージを提供します。これらのパッケージは、脆弱性をなくすため定期的にスキャン、分析、テストされています。詳細については、Assured Open Source Software に関するドキュメントをご覧ください。
Artifact Registry と Artifact Analysis
Artifact Registry は、ビルド アーティファクトの保存、保護、管理を行うことができ、Artifact Analysis が Artifact Registry 内のアーティファクトの脆弱性を積極的に検出します。Artifact Registry には、ソフトウェア サプライ チェーンのセキュリティ対策を改善する次の機能が用意されています。
- Artifact Analysis は、コンテナ内のベースコンテナ イメージと言語パッケージに対する統合されたオンデマンド スキャンと自動スキャンを備えています。
- Artifact Analysis を使用すると、Artifact Registry にあるイメージのソフトウェア部品構成表(SBOM)を生成し、Vulnerability Exploitability eXchange(VEX)ステートメントをアップロードできます。
- Artifact Analysis は、Maven アーティファクトで使用されるオープンソース依存関係内の既存の脆弱性と新しい脆弱性を識別するスタンドアロン スキャン(プレビュー)を提供します。スキャンは、Java プロジェクトを Artifact Registry に push するたびに行われます。最初のスキャンの後、Artifact Analysis は、Artifact Registry 内でスキャンされたイメージのメタデータに新たな脆弱性がないか継続的にモニタリングを行います。
- Artifact Registry は、リモート リポジトリと仮想リポジトリをサポートしています。 リモート リポジトリには、事前に設定された外部ソース(Docker Hub、Maven Central、Python Package Index(PyPI)、Debian、CentOS など)からのアーティファクトと、サポートされている形式のユーザー定義のソースが保存されます。リモート リポジトリにアーティファクトをキャッシュすると、ダウンロード時間が短縮され、パッケージの可用性が向上します。また、スキャンが有効な場合は、脆弱性スキャンも含まれます。仮想リポジトリは、同じ形式のリポジトリを 1 つのエンドポイントの背後に統合し、アップストリーム リポジトリ全体の検索順序を制御できます。プライベート パッケージに優先順位を付けることで、依存関係の混乱攻撃のリスクを軽減できます。
CI / CD パイプラインの保護に役立つコンポーネント
不正な行為者は、CI / CD パイプラインを不正使用することでソフトウェア サプライ チェーンを攻撃できます。Software Delivery Shield の次のコンポーネントは、CI/CD パイプラインの保護に役立ちます。
Cloud Build
Cloud Build は、Google Cloud インフラストラクチャでビルドを実行します。IAM 権限の詳細な設定、VPC Service Controls、分離されたエフェメラルなビルド環境などのセキュリティ機能を備えています。さらに、ソフトウェア サプライ チェーンのセキュリティ対策を改善する次の機能も備えています。
- コンテナ イメージの SLSA レベル 3 のビルドをサポートしています。
- コンテナ化されたアプリケーション向けに、認証済みで改ざん不可能なビルドの来歴を生成します。
- ビルドされたアプリケーションのセキュリティ分析情報が表示されます。これには、次のものが含まれます。
- SLSA ビルドレベル。SLSA 仕様に従って、ソフトウェア ビルドプロセスの成熟度を示します。
- ビルド アーティファクトの脆弱性。
- ビルドの来歴。ビルドに関する検証可能なメタデータのコレクションです。これには、ビルドされたイメージのダイジェスト、入力ソースの場所、ビルド ツールチェーン、ビルドステップ、ビルド時間などの詳細情報が含まれます。
ビルドされたアプリケーションのセキュリティ分析情報を表示する手順については、アプリケーションをビルドしてセキュリティ分析情報を表示するをご覧ください。
Cloud Deploy
Cloud Deploy は、定義した順序で、一連のターゲット環境へのアプリケーションの配信を自動化します。これは Google Kubernetes Engine、GKE Enterprise、Cloud Run に対する直接の継続的デリバリーをサポートし、ワンクリックでの承認とロールバック、エンタープライズ セキュリティおよび監査、組み込みの配信指標が利用できます。また、デプロイされたアプリケーションのセキュリティ分析情報も表示します。
本番環境のアプリケーション保護に役立つコンポーネント
GKE と Cloud Run は、ランタイム環境のセキュリティ体制を保護するのに役立ちます。どちらも、実行時にアプリケーションを保護するセキュリティ機能を備えています。
GKE
GKE は、コンテナのセキュリティ対策を評価し、クラスタ設定、ワークロード構成、脆弱性に関する積極的なガイダンスを提供します。[Security Posture] ダッシュボードには、GKE クラスタとワークロードをスキャンして、セキュリティ対策を強化するための実施可能なスコア付けされた推奨事項が表示されます。GKE の [Security Posture] ダッシュボードでセキュリティ分析情報を表示する手順については、GKE へのデプロイとセキュリティ分析情報の表示をご覧ください。
Cloud Run
Cloud Run には、SLSA ビルドレベルのコンプライアンス情報、ビルドの来歴、実行中のサービスで見つかった脆弱性などのソフトウェア サプライ チェーンのセキュリティ分析情報を表示するセキュリティ パネルが含まれています。Cloud Run のセキュリティ分析情報パネルでセキュリティ分析情報を表示する手順については、Cloud Run へのデプロイとセキュリティ分析情報の表示をご覧ください。
ポリシーを使用して信頼チェーンを構築する
Binary Authorization は、イメージを証明するデジタル ドキュメントである証明書を収集することで、ソフトウェア サプライ チェーンに沿った信頼チェーンの確立、維持、検証に役立ちます。証明書は、特定の必要なプロセスが正常に実行され、関連するイメージがビルドされたことを示します。収集された証明書に基づいて、Binary Authorization は信頼ベースのポリシーの定義、検証、適用に役立ちます。イメージがデプロイされるのは、証明書が組織のポリシーに準拠している場合のみです。また、ポリシー違反が見つかった場合にアラートを出すように設定することもできます。たとえば、証明書はイメージが次のものであることを示すことができます。
- Cloud Build でビルド。
- 指定した重要度を超える脆弱性が含まれていない。アプリケーションに適用されない特定の脆弱性がある場合は、それらを許可リストに追加できます。
GKE と Cloud Run で Binary Authorization を使用できます。
料金
次のリストは、Software Delivery Shield のソリューションに含まれるサービスの料金情報を示しています。
- Cloud Workstations
- Cloud Code: Google Cloud のすべてのお客様が無料でご利用いただけます。
- Assured OSS: 料金については、セールスチームにお問い合わせください。
- Artifact Registry
- Artifact Analysis
- Cloud Build
- Cloud Deploy
- Cloud Run
- GKE
- Binary Authorization
次のステップ
- アプリケーションをビルドしてセキュリティ分析情報を表示する方法を学習する。
- Cloud Run にデプロイしてセキュリティ分析情報を表示する方法を学習する。
- GKE にデプロイしてセキュリティ分析情報を表示する方法を学習する。