Artifact Registry 連接器存放區可做為上游來源的 Proxy。 所有對存放區的要求都會代理至上游來源,且 Artifact Registry 中不會快取任何構件。這項設定可完整稽核上游來源,並支援第三方政策禁止構件快取的情況。
本文說明連接器存放區的運作方式,並提供多個用途。如需建立連接器存放區的操作說明,請參閱「建立連接器存放區」。
支援的連接器格式
Artifact Registry 僅支援 Docker 格式的連接器存放區。
上游驗證
Artifact Registry 連接器存放區需要基本驗證,才能連線至上游來源。如要進一步瞭解如何向上游來源驗證連接器存放區,請參閱「設定連接器存放區上游的驗證」。
如果您從不存在的上游來源要求構件,或上游來源不包含您指定的版本,要求就會失敗。
用途和優勢
- 完整的上游稽核能力
- 連接器存放區不會在 Artifact Registry 中快取任何套件,因此所有存放區要求都會直接傳送至上游來源。如果存放區設定需要完整稽核上游來源,或是您必須遵守禁止構件快取的第三方政策,這個程序就非常實用。
- 更安全的依附元件解析
搭配使用連接器存放區和虛擬存放區,降低與公開依附元件相關的風險。如果用戶端同時設定了私人和公開存放區,部分工具無法控制搜尋順序。這類設定容易受到依附元件混淆攻擊,攻擊者會將含有惡意程式碼的新版套件上傳至公開存放區,誘騙用戶選擇惡意版本。
您可以設定虛擬存放區,優先使用私人存放區,而非連接器存放區,不必直接設定用戶端來搜尋多個存放區。
如果 Artifact Registry 位於 VPC Service Controls 服務範圍內,Artifact Registry 預設會拒絕存取範圍外的上游來源。您可以允許特定位置的連接器存放區存取 perimeter 外部設定的外部來源。如需操作說明,請參閱「VPC Service Controls 設定」。
如要瞭解其他依附元件管理最佳做法,請參閱「依附元件管理」。
更新套件索引和中繼資料
當可變動檔案 (例如套件索引和中繼資料) 的存在時間超過預設時間時,系統會從上游來源更新這些檔案。下表列出特定檔案類型的預設值:
| 格式 | 檔案類型 | 預設更新年齡 |
|---|---|---|
| Docker | 列出/取得標記快取 | 1 小時 |
Artifact Registry 連接器存放區上游
您可以將 Docker Hub 做為連接器存放區來源,也可以輸入自訂存放區網址。下表列出部分常見的上游 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 位址,連接器存放區就不支援地端或虛擬私有雲 (VPC) 網路。
其他存放區模式
其他存放區模式如下:
- 標準:預設的存放區模式。您可以將私人套件等構件直接上傳或發布至標準存放區。雖然您可以直接從個別標準存放區下載,但透過虛擬存放區存取存放區群組,可簡化工具設定。
- 遠端:存放區會做為上游來源的 Proxy,在從上游來源首次下載套件後,將套件快取至 Artifact Registry。下次要求相同套件版本時,Artifact Registry 會提供快取副本。
- 虛擬:存放區可做為多個上游存放區的單一存取點,包括連接器和標準存放區。