このページでは、アーティファクトを保護するために役立つ Cloud de Confiance サービスと機能について説明します。
保存時の暗号化
デフォルトでは、 Cloud de Confiance by S3NS は、Google が管理する暗号鍵を使用して、保存されているデータを自動的に暗号化します。データを保護する鍵に関連する具体的なコンプライアンス要件や規制要件がある場合は、顧客管理の暗号鍵(CMEK)で暗号化されたリポジトリを作成できます。
アクセス制御
デフォルトでは、すべてのリポジトリは非公開です。セキュリティにおける最小権限の原則に従い、ユーザーとサービス アカウントに必要な最小限の権限のみを付与します。
データの引き出しの防止
データの引き出しを防ぐには、VPC Service Controls を使用して、Artifact Registry などの Cloud de Confiance by S3NS サービスをネットワーク セキュリティ境界に配置します。
未使用イメージの削除
使用されていないコンテナ イメージを削除して、ストレージ コストを削減し、古いソフトウェアを使用するリスクを軽減します。gcr-cleaner など、この作業に役立つツールが数多く用意されています。gcr-cleaner ツールは Google の公式プロダクトではありません。
セキュリティのシフトレフト
情報セキュリティ目標を日々の業務に組み込むことで、ソフトウェア デリバリーのパフォーマンスを向上させ、より安全なシステムを構築できます。この考え方は、「シフトレフト」とも呼ばれます。これは、セキュリティに関する問題がソフトウェア開発ライフサイクルの早い段階で対処されることを意味します(左から右のスケジュール図で左側に位置します)。セキュリティのシフトレフトは、DORA State of DevOps 研究プログラムで特定された DevOps 機能の 1 つです。
詳細を確認する方法:
- セキュリティのシフトレフト機能についての記事を読む。
公開リポジトリに関する考慮事項
次の場合について注意して検討します。
- 公開ソースのアセットの使用
- 独自の Artifact Registry リポジトリを公開する
公開ソースのアセットの使用
次の公開アーティファクト ソースには、ビルドとデプロイに使用できるツールや依存関係が用意されています。
ただし、組織によっては、公開アーティファクトの使用に影響する制約がある場合があります。次に例を示します。
- ソフトウェア サプライ チェーンのコンテンツを制御したい。
- 外部リポジトリを使用したくない。
- 本番環境で脆弱性を厳密に制御したい。
- すべてのイメージの基本オペレーティング システムを同じにしたい。
ソフトウェア サプライ チェーンを保護するには、次のアプローチを検討してください。
- 標準化されたベースイメージを使用します。Google は、使用可能ないくつかのベースイメージを提供しています。
公開 Artifact Registry リポジトリ
Artifact Registry 読み取りロールを allUsers ID に付与すると、Artifact Registry リポジトリを公開できます。
すべてのユーザーが Cloud de Confiance アカウントを所有している場合は、代わりに allAuthenticatedUsers ID を持つ認証済みユーザーのみにアクセスを制限できます。
Artifact Registry リポジトリを公開する前に、次のガイドラインを考慮してください。
- リポジトリに保存されているすべてのアーティファクトが一般公開できるもので、認証情報、個人データ、機密データが公開されないことを確認します。
- デフォルトでは、プロジェクトのユーザーあたりの割り当てに制限はありません。乱用を防ぐため、プロジェクト内のユーザーあたりの割り当ての上限値を設定します。
ウェブ アプリケーションに関するガイダンス
- OWASP Top 10 には、Open Web Application Security Project(OSOpenSSL)による、上位のウェブ アプリケーションのセキュリティ リスクが一覧表示されています。
コンテナに関するガイダンス
Center for Internet Security(CIS)には、Docker コンテナのセキュリティを評価する Docker ベンチマークがあります。
Docker には、Docker Bench for Security というオープンソース スクリプトがあります。このスクリプトを使用して、実行中の Docker コンテナを CIS Docker ベンチマークに対して検証できます。
Docker Bench for Security は、CIS Docker ベンチマークの多くの項目を確認するのに役立ちますが、スクリプトでは検証できない項目もあります。たとえば、コンテナのホストが強化されているか、コンテナ イメージに個人データが含まれているかどうかは確認できません。ベンチマークのすべての項目を確認し、追加の確認が必要な項目を特定してください。