網域概觀 - CodeArtifact

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

網域概觀

當您使用 CodeArtifact 時,網域對下列項目很有用:

  • 重複資料刪除的儲存:即使資產可在 1 或 1,000 個儲存庫中使用,也只需要在網域中儲存一次資產。這表示您只需支付一次儲存費用。

  • 快速複製:當您將套件從上游 CodeArtifact 儲存庫提取到下游或使用 CopyPackageVersions APIWord 時,只需要更新中繼資料記錄。不會複製任何資產。這可讓您快速設定用於預備階段或測試的新儲存庫。如需詳細資訊,請參閱使用中的上游存儲庫 CodeArtifact

  • 跨儲存庫和團隊輕鬆共用:網域中的所有資產和中繼資料都會使用單一 AWS KMS key (KMS 金鑰) 加密。您不需要管理每個儲存庫的金鑰,或授予多個帳戶存取單一金鑰的權限。

  • 多個儲存庫之間套用政策:網域管理員可以在網域之間套用政策。這包括限制哪些帳戶可存取網域中的儲存庫,以及誰可以設定公有儲存庫的連線,以用作套件來源。如需詳細資訊,請參閱網域政策

  • 唯一儲存庫名稱:網域為儲存庫提供命名空間。儲存庫名稱在網域中只需要是唯一的。您應該使用簡單易懂的有意義名稱。

網域名稱在帳戶中必須是唯一的。

您無法在沒有網域的情況下建立儲存庫。當您使用 CreateRepository API來建立儲存庫時,您必須指定網域名稱。您無法將儲存庫從一個網域移至另一個網域。

儲存庫可以由擁有網域的相同 AWS 帳戶或不同的帳戶擁有。如果擁有的帳戶不同,則必須授予擁有儲存庫的帳戶網域資源的CreateRepository許可。您可以使用 PutDomainPermissionsPolicy 命令將資源政策新增至網域,藉此達成此目的。

雖然組織可以擁有多個網域,但建議具有包含所有已發佈成品的單一生產網域,以便開發團隊可以找到並跨其組織共用套件。第二個生產前網域對於測試生產網域組態的變更很有用。

跨帳戶網域

網域名稱只需要在 帳戶內是唯一的,這表示區域中可能有多個具有相同名稱的網域。因此,如果您想要存取由未經過身分驗證之帳戶擁有的網域,則必須在 CLI 和主控台中提供網域擁有者 ID 以及網域名稱。請參閱下列 CLI 範例。

存取您經過身分驗證的帳戶所擁有的網域:

存取您驗證帳戶內的網域時,您只需指定網域名稱。下列範例列出 中的套件 my_repo 中的儲存庫 my_domain 您帳戶擁有的網域。

aws codeartifact list-packages --domain my_domain --repository my_repo

存取您未通過身分驗證的帳戶所擁有的網域:

存取您未驗證之帳戶所擁有的網域時,您需要指定網域擁有者和網域名稱。下列範例列出 中的套件 other-repo 中的儲存庫 other-domain 您未驗證之帳戶擁有的網域。請注意新增 --domain-owner 參數。

aws codeartifact list-packages --domain other-domain --domain-owner 111122223333 --repository other-repo

in CodeArtifact 支援的 AWS KMS 金鑰類型

CodeArtifact 僅支援對稱 KMS 金鑰。您不能使用非對稱 KMS 金鑰來加密您的 CodeArtifact 網域。如需詳細資訊,請參閱識別對稱和非對稱 KMS 金鑰。若要了解如何建立新的客戶受管金鑰,請參閱 AWS Key Management Service 開發人員指南中的建立對稱加密 KMS 金鑰

CodeArtifact 支援 AWS KMS 外部金鑰存放區 (XKS)。您要負責使用 XKS 金鑰進行金鑰操作的可用性、耐久性和延遲,這可能會影響 CodeArtifact 的可用性、耐久性和延遲。將 XKS 金鑰與 CodeArtifact 搭配使用的一些效果範例:

  • 由於所請求套件及其所有相依性的每個資產都受到解密延遲的影響,因此建置延遲可能會隨著 XKS 操作延遲的增加而大幅增加。

  • 由於所有資產都是加密的 in CodeArtifact,因此遺失 XKS 金鑰材料會導致遺失使用 XKS 金鑰與網域相關聯的所有資產。

如需 XKS 金鑰的詳細資訊,請參閱 AWS Key Management Service 開發人員指南中的外部金鑰存放區。