GCP - Artifact Registry Enum
基本情報
Google Cloud Artifact Registryは、ソフトウェアアーティファクトを管理、保存、保護するための完全に管理されたサービスです。これは、Dockerイメージ、Maven、npmパッケージなどのビルド依存関係を保存するためのリポジトリです。ソフトウェア開発プロセス中に生成されたアーティファクトを保存し、バージョン管理するためにCI/CDパイプラインで一般的に使用されます。
Artifact Registryの主な特徴には以下が含まれます:
統合リポジトリ: 複数の種類のアーティファクトをサポートし、Dockerイメージ、言語パッケージ(JavaのMaven、Node.jsのnpmなど)、およびその他の種類のアーティファクトを単一のリポジトリで持つことができ、一貫したアクセス制御とすべてのアーティファクトにわたる統合ビューを実現します。
完全に管理された: 管理サービスとして、基盤となるインフラストラクチャ、スケーリング、セキュリティを管理し、ユーザーのメンテナンス負担を軽減します。
細かいアクセス制御: Google CloudのIdentity and Access Management (IAM)と統合し、リポジトリ内のアーティファクトへのアクセス、アップロード、ダウンロードを誰が行えるかを定義できます。
地理的レプリケーション: 複数のリージョンにわたるアーティファクトのレプリケーションをサポートし、ダウンロード速度を向上させ、可用性を確保します。
Google Cloudサービスとの統合: Cloud Build、Kubernetes Engine、Compute Engineなどの他のGCPサービスとシームレスに連携し、Google Cloudエコシステム内で既に作業しているチームにとって便利な選択肢です。
セキュリティ: 脆弱性スキャンやコンテナ分析などの機能を提供し、保存されたアーティファクトが安全であり、既知のセキュリティ問題がないことを確認します。
フォーマットとモード
新しいリポジトリを作成する際には、Docker、Maven、npm、Pythonなどのいくつかの中からリポジトリのフォーマット/タイプを選択することができ、通常は以下の3つのモードのいずれかになります:
標準リポジトリ: GCP内に直接自分のアーティファクトを保存するためのデフォルトモード(Dockerイメージ、Mavenパッケージなど)。安全でスケーラブルであり、Google Cloudエコシステム内でうまく統合されています。
リモートリポジトリ(利用可能な場合): 外部の公開リポジトリからのアーティファクトをキャッシュするプロキシとして機能します。依存関係が上流で変更される問題を防ぎ、頻繁にアクセスされるアーティファクトをキャッシュすることでレイテンシーを削減します。
バーチャルリポジトリ(利用可能な場合): 複数の(標準またはリモート)リポジトリに対して単一のエンドポイントを通じて統合されたインターフェースを提供し、クライアント側の設定とアーティファクトのアクセス管理を簡素化します。
バーチャルリポジトリでは、リポジトリを選択し、優先順位を設定する必要があります(最も優先度の高いリポジトリが使用されます)。
リモートと標準のリポジトリをバーチャルなものに混在させることができます。リモートの優先度が標準よりも高い場合、リモートからのパッケージ(例えばPyPi)が使用されます。これにより、Dependency Confusionが発生する可能性があります。
Dockerのリモートバージョンでは、Docker Hubにアクセスするためのユーザー名とトークンを指定することができます。トークンはSecret Managerに保存されます。
暗号化
予想通り、デフォルトではGoogleが管理するキーが使用されますが、Customer-managed keyを指定することができます(CMEK)。
クリーンアップポリシー
アーティファクトの削除: アーティファクトはクリーンアップポリシーの基準に従って削除されます。
ドライラン: (デフォルト)アーティファクトは削除されません。クリーンアップポリシーが評価され、Cloud Audit Loggingにテスト削除イベントが送信されます。
脆弱性スキャン
脆弱性スキャナーを有効にすることができ、コンテナイメージ内の脆弱性をチェックします。
列挙
権限昇格
pageGCP - Artifact Registry Privesc認証されていないアクセス
pageGCP - Artifact Registry Unauthenticated Enum攻撃後の活動
pageGCP - Artifact Registry Post Exploitation持続性
pageGCP - Artifact Registry Persistence最終更新