Überblick über die Domäne - CodeArtifact

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Überblick über die Domäne

Wenn Sie mit arbeiten CodeArtifact, sind Domains für Folgendes nützlich:

  • Deduplizierter Speicher: Ein Asset muss nur einmal in einer Domain gespeichert werden, auch wenn es in 1 oder 1.000 Repositorys verfügbar ist. Das heißt, Sie zahlen nur einmal für Speicherplatz.

  • Schnelles Kopieren: Wenn Sie Pakete aus einem CodeArtifact Upstream-Repository in ein Downstream-Repository ziehen oder das verwenden CopyPackageVersions API, müssen nur Metadatensätze aktualisiert werden. Es werden keine Assets kopiert. Dadurch lässt sich schnell ein neues Repository für Staging- oder Testzwecke einrichten. Weitere Informationen finden Sie unter Arbeiten mit Upstream-Repositorys in CodeArtifact.

  • Einfache gemeinsame Nutzung zwischen Repositorys und Teams: Alle Assets und Metadaten in einer Domain werden mit einem einzigen AWS KMS key (KMSSchlüssel) verschlüsselt. Sie müssen nicht für jedes Repository einen Schlüssel verwalten oder mehreren Konten Zugriff auf einen einzigen Schlüssel gewähren.

  • Richtlinie auf mehrere Repositorys anwenden: Der Domainadministrator kann Richtlinien auf die gesamte Domain anwenden. Dazu gehört die Einschränkung, welche Konten Zugriff auf Repositorys in der Domain haben und wer Verbindungen zu öffentlichen Repositorys konfigurieren kann, um sie als Paketquellen zu verwenden. Weitere Informationen finden Sie unter Domänenrichtlinien.

  • Eindeutige Repository-Namen: Die Domain stellt einen Namespace für Repositorys bereit. Repository-Namen müssen nur innerhalb der Domain eindeutig sein. Sie sollten aussagekräftige Namen verwenden, die leicht zu verstehen sind.

Domainnamen müssen innerhalb eines Kontos eindeutig sein.

Sie können kein Repository ohne eine Domain erstellen. Wenn Sie das verwenden CreateRepositoryAPI, um ein Repository zu erstellen, müssen Sie einen Domainnamen angeben. Sie können ein Repository nicht von einer Domain in eine andere verschieben.

Ein Repository kann demselben AWS Konto gehören, dem die Domain gehört, oder einem anderen Konto. Wenn es sich bei den Eigentümerkonten um unterschiedliche Konten handelt, muss dem Konto, das das Repository besitzt, die entsprechenden Berechtigungen für die CreateRepository Domänenressource erteilt werden. Sie können dies tun, indem Sie der Domäne mithilfe des Befehls eine Ressourcenrichtlinie hinzufügen. PutDomainPermissionsPolicy

Eine Organisation kann zwar mehrere Domänen haben, es wird jedoch empfohlen, eine einzige Produktionsdomäne zu verwenden, die alle veröffentlichten Artefakte enthält, sodass Entwicklungsteams Pakete innerhalb ihrer Organisation finden und gemeinsam nutzen können. Eine zweite Vorproduktionsdomäne kann nützlich sein, um Änderungen an der Konfiguration der Produktionsdomäne zu testen.

Kontenübergreifende Domänen

Domainnamen müssen nur innerhalb eines Kontos eindeutig sein, was bedeutet, dass es innerhalb einer Region mehrere Domains geben kann, die denselben Namen haben. Wenn Sie also auf eine Domain zugreifen möchten, die einem Konto gehört, für das Sie nicht authentifiziert sind, müssen Sie die Domaininhaber-ID zusammen mit dem Domainnamen sowohl in der als auch in der CLI Konsole angeben. Sehen Sie sich die folgenden CLI Beispiele an.

Greifen Sie auf eine Domain zu, die einem Konto gehört, für das Sie authentifiziert sind:

Wenn Sie innerhalb des Kontos, für das Sie authentifiziert sind, auf eine Domain zugreifen, müssen Sie nur den Domainnamen angeben. Das folgende Beispiel listet Pakete in der my_repo Repository im my_domain Domain, die Ihrem Konto gehört.

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

Greifen Sie auf eine Domain zu, die einem Konto gehört, für das Sie nicht authentifiziert sind:

Wenn Sie auf eine Domain zugreifen, die einem Konto gehört, für das Sie nicht authentifiziert sind, müssen Sie den Domaininhaber sowie den Domainnamen angeben. Das folgende Beispiel listet Pakete in der other-repo Repository im other-domain Domäne, die einem Konto gehört, für das Sie nicht authentifiziert sind. Beachten Sie die Hinzufügung des --domain-owner Parameters.

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

Arten von AWS KMS Schlüsseln, die unterstützt werden in CodeArtifact

CodeArtifact unterstützt nur symmetrische KMS Schlüssel. Sie können keinen asymmetrischen KMS Schlüssel verwenden, um Ihre Domains zu verschlüsseln. CodeArtifact Weitere Informationen finden Sie unter Identifizieren symmetrischer und asymmetrischer Schlüssel. KMS Informationen zum Erstellen eines neuen, vom Kunden verwalteten Schlüssels finden Sie unter Erstellen symmetrischer KMS Verschlüsselungsschlüssel im AWS Key Management Service Entwicklerhandbuch.

CodeArtifact unterstützt AWS KMS externe Schlüsselspeicher (XKS). Sie sind verantwortlich für die Verfügbarkeit, Beständigkeit und Latenz wichtiger Operationen mit XKS Schlüsseln, was sich auf die Verfügbarkeit, Haltbarkeit und Latenz bei auswirken kann CodeArtifact. Einige Beispiele für Auswirkungen der Verwendung von XKS Schlüsseln mit CodeArtifact:

  • Da jedes Asset eines angeforderten Pakets und all seine Abhängigkeiten einer Entschlüsselungslatenz unterliegen, kann die Build-Latenz mit zunehmender XKS Betriebslatenz erheblich erhöht werden.

  • Da alle Ressourcen verschlüsselt sind CodeArtifact, führt ein Verlust von XKS Schlüsselmaterial zum Verlust aller Ressourcen, die mit der Domäne verknüpft sind, die den XKS Schlüssel verwendet.

Weitere Informationen zu XKS Schlüsseln finden Sie unter Externe Schlüsselspeicher im AWS Key Management Service Entwicklerhandbuch.