Artifact Registry コネクタ リポジトリは、アップストリーム ソースのプロキシとして機能します。 リポジトリへのすべてのリクエストはアップストリーム ソースにプロキシされ、アーティファクトは Artifact Registry にキャッシュに保存されません。 この構成により、アップストリーム ソースの完全な監査が可能になり、サードパーティのポリシーによってアーティファクトのキャッシュ保存が禁止されている場合にも対応できます。
このドキュメントでは、コネクタ リポジトリの仕組みといくつかのユースケースについて説明します。コネクタ リポジトリを作成する手順については、 コネクタ リポジトリを作成するをご覧ください。
サポートされているコネクタ形式
Artifact Registry は、Docker 形式のコネクタ リポジトリのみをサポートしています。
アップストリーム認証
Artifact Registry コネクタ リポジトリでは、アップストリーム ソースに対する 基本認証が必要です。 コネクタ リポジトリのアップストリーム ソースに対して認証を行う方法について詳しくは、コネクタ リポジトリのアップストリームに対する認証を構成するをご覧ください。
存在しないアップストリーム ソースから、または指定したバージョンが含まれないアップストリーム ソースからアーティファクトをリクエストすると、リクエストは失敗します。
ユースケースと利点
- アップストリームの完全な監査可能性
- コネクタ リポジトリは Artifact Registry にパッケージをキャッシュに保存しないため、すべてのリポジトリ リクエストはアップストリーム ソースに直接行われます。このプロセスは、リポジトリ構成でアップストリーム ソースの完全な監査可能性が必要な場合や、アーティファクトのキャッシュ保存を禁止するサードパーティのポリシーに準拠する必要がある場合に役立ちます。
- 依存関係のより安全な解決
コネクタ リポジトリを仮想リポジトリと併用して、公開の依存関係に関連するリスクを軽減します。一部のツールでは、非公開リポジトリと公開リポジトリが混在してクライアントに構成されている場合に、検索順序を制御する方法が提供されていません。このタイプの構成は、依存関係の混乱攻撃に対して脆弱です。この場合、攻撃者が悪意のあるコードを含むパッケージの新しいバージョンを公開リポジトリにアップロードして、クライアントが騙されて悪意のあるバージョンを選んでしまいます。
クライアントを直接構成して複数のリポジトリを検索するのではなく、仮想リポジトリを構成してコネクタ リポジトリよりもプライベート リポジトリを優先させることが可能です。
Artifact Registry が VPC Service Controls のサービス境界内にある場合、 Artifact Registry はデフォルトで境界外のアップストリーム ソースへのアクセスを拒否します。 特定のロケーションにあるコネクタ リポジトリが、構成された境界外の外部ソースにアクセスできるようにすることができます。 手順については、VPC Service Controls の構成をご覧ください。
依存関係の管理に関するその他のベスト プラクティスについては、 依存関係の管理をご覧ください。
パッケージ インデックスとメタデータを更新する
パッケージ インデックスやメタデータなどの変更可能なファイルは、デフォルトの期間を超えるとアップストリーム ソースから更新されます。特定のファイルタイプのデフォルト期間は、次の表のとおりです。
| 形式 | ファイル形式 | 更新までのデフォルト期間 |
|---|---|---|
| Docker | タグキャッシュの一覧表示 / 取得 | 1 時間 |
Artifact Registry コネクタ リポジトリのアップストリーム
Docker Hub をコネクタ リポジトリのソースとして使用するか、カスタム リポジトリ URL を入力できます。次の表に、一般的なアップストリーム Docker URI の一部を示します。
| 形式 | アップストリーム URI | レジストリ名 |
|---|---|---|
| Docker | https://MY_ARTIFACTORY_INSTANCE.jfrog.io/OPTIONAL_REPO |
JFrog Artifactory |
| Docker | https://ghcr.io |
GitHub Container Registry |
| Docker | https://registry-1.docker.io |
Docker Hub |
| Docker | https://public.ecr.aws |
AWS ECR Public Gallery |
| Docker | https://registry.k8s.io |
Kubernetes Container Registry |
| Docker | https://MY_NEXUS_IP |
Nexus |
制限事項
Artifact Registry の割り当てと制限に加えて、コネクタ リポジトリには次の制限があります。
- アップストリーム ソースは、インターネットにアクセスできる必要があります。コネクタ リポジトリは、パブリック IP アドレスのないオンプレミスまたは Virtual Private Cloud(VPC)ネットワークのアップストリーム ソースをサポートしていません。
その他のリポジトリ モード
その他のリポジトリ モードは次のとおりです。
- 標準: デフォルトのリポジトリ モード。標準リポジトリに非公開パッケージなどのアーティファクトを直接アップロードまたは公開します。 ダウンロードは個々の標準リポジトリから直接行えますが、仮想リポジトリでリポジトリのグループにアクセスするとツールの構成が簡素化されます。
- リモート: アップストリーム ソースから初めてダウンロードされたパッケージを Artifact Registry にキャッシュに保存することで、アップストリーム ソースのプロキシとして機能するリポジトリ。次に同じパッケージ バージョンをリクエストすると、Artifact Registry はキャッシュに保存されたコピーを提供します。
- 仮想: コネクタ リポジトリと標準 リポジトリなど、複数のアップストリーム リポジトリに対する単一のアクセス ポイントとして機能するリポジトリ。
次のステップ
- コネクタ リポジトリを作成する。
- Artifact Registry リポジトリの詳細について、 リポジトリの概要を確認する。