Herkunftskontrollen für Paketgruppen - 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.

Herkunftskontrollen für Paketgruppen

Steuerungen zur Paketherkunft werden verwendet, um zu konfigurieren, wie Paketversionen in eine Domäne gelangen können. Sie können Ursprungskontrollen für eine Paketgruppe einrichten, um zu konfigurieren, wie Versionen aller Pakete, die der Paketgruppe zugeordnet sind, in bestimmte Repositorys in der Domäne gelangen können.

Die Einstellungen für die Ursprungssteuerung von Paketgruppen bestehen aus den folgenden Einstellungen:

  • Einstellungen für Einschränkungen: Diese Einstellungen definieren, ob Pakete CodeArtifact aus veröffentlichten, internen Upstreams oder externen, öffentlichen Repositorys in ein Repository gelangen können.

  • Listen zulässiger Repositorys: Jede Einschränkungseinstellung kann so eingestellt werden, dass bestimmte Repositorien zugelassen werden. Wenn eine Einschränkungseinstellung so eingestellt ist, dass bestimmte Repositorys zugelassen werden, wird für diese Einschränkung eine entsprechende Liste zulässiger Repositorys angezeigt.

Anmerkung

Die Einstellungen für die Ursprungskontrolle für Paketgruppen unterscheiden sich geringfügig von den Einstellungen für die Ursprungskontrolle für einzelne Pakete. Weitere Informationen zu den Origin-Control-Einstellungen für Pakete finden Sie unterEinstellungen zur Kontrolle des Paketursprungs.

Einstellungen für Einschränkungen

Die Einschränkungseinstellungen der Ursprungssteuerungseinstellungen einer Paketgruppe bestimmen, wie die mit dieser Gruppe verknüpften Pakete in Repositorys in der Domäne aufgenommen werden können.

PUBLISH

Die PUBLISH Einstellung konfiguriert, ob Paketversionen mithilfe von Paketmanagern oder ähnlichen Tools direkt in einem beliebigen Repository in der Domäne veröffentlicht werden können.

  • ZULASSEN: Paketversionen können direkt in allen Repositorien veröffentlicht werden.

  • BLOCK: Paketversionen können nicht direkt in einem Repository veröffentlicht werden.

  • ALLOW_SPECIFIC_REPOSITORIES: Paketversionen können nur direkt in Repositorys veröffentlicht werden, die in der Liste der erlaubten Repositorys für die Veröffentlichung angegeben sind.

  • INHERIT: Die PUBLISH Einstellung wird von der ersten übergeordneten Paketgruppe mit einer Einstellung übernommen, bei der dies nicht der Fall ist. INHERIT

EXTERNAL_UPSTREAM

Die EXTERNAL_UPSTREAM Einstellung konfiguriert, ob Paketversionen aus externen, öffentlichen Repositorys aufgenommen werden können, wenn sie von einem Paketmanager angefordert werden. Eine Liste der unterstützten externen Repositorys finden Sie unter. Unterstützte Repositorys für externe Verbindungen

  • ZULASSEN: Jede Paketversion kann von einer öffentlichen Quelle mit einer externen Verbindung in alle Repositorys aufgenommen werden.

  • BLOCK: Paketversionen können nicht von einer öffentlichen Quelle mit einer externen Verbindung in ein Repository aufgenommen werden.

  • ALLOW_SPECIFIC_REPOSITORIES: Paketversionen können nur aus einer öffentlichen Quelle in Repositorys aufgenommen werden, die in der Liste der zulässigen Repositorys für externe Upstreams angegeben sind.

  • INHERIT: Die EXTERNAL_UPSTREAM Einstellung wird von der ersten übergeordneten Paketgruppe übernommen, mit einer Einstellung, die dies nicht ist. INHERIT

INTERNAL_UPSTREAM

Die INTERNAL_UPSTREAM Einstellung konfiguriert, ob Paketversionen von internen Upstream-Repositorys in derselben CodeArtifact Domäne beibehalten werden können, wenn sie von einem Paketmanager angefordert werden.

  • ALLOW: Jede Paketversion kann aus anderen CodeArtifact Repositorys, die als Upstream-Repositorys konfiguriert sind, beibehalten werden.

  • BLOCK: Paketversionen können nicht aus anderen CodeArtifact Repositorys aufbewahrt werden, die als Upstream-Repositorys konfiguriert sind.

  • CodeArtifact ALLOW_SPECIFIC_REPOSITORIES: Paketversionen können nur von anderen Repositorien, die als Upstream-Repositorys konfiguriert sind, in Repositorys aufbewahrt werden, die in der Liste der zulässigen Repositorys für interne Upstreams angegeben sind.

  • INHERIT: Die INTERNAL_UPSTREAM Einstellung wird von der ersten übergeordneten Paketgruppe übernommen, mit einer Einstellung, die dies nicht ist. INHERIT

Listen zulässiger Repositorys

Wenn eine Einschränkungseinstellung als konfiguriert istALLOW_SPECIFIC_REPOSITORIES, enthält die Paketgruppe eine dazugehörige Liste zulässiger Repositorys, die eine Liste der Repositorys enthält, die für diese Einschränkungseinstellung zulässig sind. Daher enthält eine Paketgruppe zwischen 0 und 3 Listen zulässiger Repositorys, eine für jede Einstellung, die als konfiguriert ist. ALLOW_SPECIFIC_REPOSITORIES

Wenn Sie ein Repository zur Liste der zulässigen Repositorys einer Paketgruppe hinzufügen, müssen Sie angeben, zu welcher Liste zulässiger Repositorys es hinzugefügt werden soll.

Die möglichen Listen zulässiger Repositorys lauten wie folgt:

  • EXTERNAL_UPSTREAM: Erlaubt oder blockiert die Aufnahme von Paketversionen aus externen Repositorys im hinzugefügten Repository.

  • INTERNAL_UPSTREAM: Erlaubt oder blockiert das Abrufen von Paketversionen aus einem anderen CodeArtifact Repository im hinzugefügten Repository.

  • PUBLISH: Erlaubt oder blockiert die direkte Veröffentlichung von Paketversionen von Paketmanagern im hinzugefügten Repository.

Bearbeiten der Origin Control-Einstellungen für Paketgruppen

Gehen Sie wie folgt vor, um Ursprungskontrollen für eine Paketgruppe hinzuzufügen oder zu bearbeiten. Informationen zu den Einstellungen für die Ursprungssteuerung von Paketgruppen finden Sie unter Einstellungen für Einschränkungen undListen zulässiger Repositorys.

So fügen Sie Origin Controls (CLI) für Paketgruppen hinzu oder bearbeiten sie
  1. Falls nicht, konfigurieren Sie das, AWS CLI indem Sie die Schritte unter befolgenEinrichtung mit AWS CodeArtifact.

  2. Verwenden Sie den update-package-group-origin-configuration Befehl, um Steuerelemente für den Paketursprung hinzuzufügen oder zu bearbeiten.

    • Geben Sie für --domain die CodeArtifact Domäne ein, die die Paketgruppe enthält, die Sie aktualisieren möchten.

    • Geben Sie für --domain-owner die Kontonummer des Domaininhabers ein.

    • Geben Sie für --package-group die Paketgruppe ein, die Sie aktualisieren möchten.

    • Geben Sie für --restrictions Schlüssel-Wert-Paare ein, die die Einschränkungen der Ursprungskontrolle darstellen.

    • Geben Sie für ein JSON-Objekt ein--add-allowed-repositories, das den Einschränkungstyp und den Repository-Namen enthält, um es der entsprechenden Liste der zulässigen Repositorys für die Einschränkung hinzuzufügen.

    • Geben Sie für ein JSON-Objekt ein--remove-allowed-repositories, das den Einschränkungstyp und den Repository-Namen enthält, die aus der entsprechenden Liste der zulässigen Repositorys für die Einschränkung entfernt werden sollen.

    aws codeartifact update-package-group-origin-configuration \ --domain my_domain \ --domain-owner 111122223333 \ --package-group '/nuget/*' \ --restrictions INTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES \ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo \ --remove-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2

    Im folgenden Beispiel werden mehrere Einschränkungen und mehrere Repositorys in einem Befehl hinzugefügt.

    aws codeartifact update-package-group-origin-configuration \ --domain my_domain \ --domain-owner 111122223333 \ --package-group '/nuget/*' \ --restrictions PUBLISH=BLOCK,EXTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES,INTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES \ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2 \ --remove-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=my_repo2

Konfigurationsbeispiele für die Ursprungssteuerung von Paketgruppen

Die folgenden Beispiele zeigen Konfigurationen der Paketursprungssteuerung für gängige Paketverwaltungsszenarien.

Zulassen, dass Pakete mit privaten Namen veröffentlicht, aber nicht aufgenommen werden

Dieses Szenario ist wahrscheinlich ein übliches Szenario in der Paketverwaltung:

  • Erlauben Sie, dass Pakete mit privaten Namen von Paketmanagern in Repositorys in Ihrer Domain veröffentlicht werden, und verhindern Sie, dass sie von externen, öffentlichen Repositorys in Repositorys in Ihrer Domain aufgenommen werden.

  • Erlauben Sie, dass alle anderen Pakete aus externen, öffentlichen Repositorys in Repositorys in Ihrer Domain aufgenommen werden, und verhindern Sie, dass sie von Paketmanagern in Repositorys in Ihrer Domain veröffentlicht werden.

Um dies zu erreichen, sollten Sie eine Paketgruppe mit einem Muster konfigurieren, das die privaten Namen und die Ursprungseinstellungen PUBLISH: ALLOW, EXTERNAL_UPSTREAM: BLOCK und INTERNAL_UPSTREAM: ALLOW enthält. Dadurch wird sichergestellt, dass Pakete mit privaten Namen direkt veröffentlicht, aber nicht aus externen Repositorys aufgenommen werden können.

Die folgenden AWS CLI Befehle erstellen und konfigurieren eine Paketgruppe mit Einstellungen für die Quellenbeschränkung, die dem gewünschten Verhalten entsprechen:

Um die Paketgruppe zu erstellen:

aws codeartifact create-package-group \ --domain my_domain \ --package-group /npm/space/anycompany~ \ --domain-owner 111122223333 \ --contact-info contact@email.com | URL \ --description "my package group"

Um die Ursprungskonfiguration der Paketgruppe zu aktualisieren:

aws codeartifact update-package-group-origin-configuration \ --domain my_domain \ --domain-owner 111122223333 \ --package-group '/npm/space/anycompany~' \ --restrictions PUBLISH=ALLOW,EXTERNAL_UPSTREAM=BLOCK,INTERNAL_UPSTREAM=ALLOW

Erlaubt die Aufnahme aus externen Repositorys über ein Repository

In diesem Szenario hat Ihre Domain mehrere Repositorys. Von diesen Repositorys repoA hat eine Upstream-Verbindung zu dem öffentlichen RepositoryrepoB, das eine externe Verbindung zum öffentlichen Repository hatnpmjs.com, wie hier gezeigt:

repoA --> repoB --> npmjs.com

Sie möchten die Aufnahme von Paketen aus einer bestimmten Paketgruppe zulassen, zwar von dort /npm/space/anycompany~ aus npmjs.comrepoA, aber nur durch. repoB Sie möchten auch die Aufnahme von Paketen, die der Paketgruppe zugeordnet sind, in andere Repositorys in Ihrer Domain blockieren und die direkte Veröffentlichung von Paketen mit Paketmanagern blockieren. Um dies zu erreichen, erstellen und konfigurieren Sie die Paketgruppe wie folgt:

Ursprungseinschränkungseinstellungen für PUBLISH: BLOCK und EXTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES und INTERNAL_UPSTREAM: ALLOW_SPECIFIC_REPOSITORIES.

repoAund zur Liste der entsprechenden zulässigen Repositorys hinzugefügt: repoB

  • repoAsollte der INTERNAL_UPSTREAM Liste hinzugefügt werden, da es Pakete von seinem internen Upstream erhält,repoB.

  • repoBsollte der EXTERNAL_UPSTREAM Liste hinzugefügt werden, da es Pakete aus dem externen Repository bezieht,npmjs.com.

Die folgenden AWS CLI Befehle erstellen und konfigurieren eine Paketgruppe mit Ursprungseinschränkungseinstellungen, die dem gewünschten Verhalten entsprechen:

Um die Paketgruppe zu erstellen:

aws codeartifact create-package-group \ --domain my_domain \ --package-group /npm/space/anycompany~ \ --domain-owner 111122223333 \ --contact-info contact@email.com | URL \ --description "my package group"

Um die Ursprungskonfiguration der Paketgruppe zu aktualisieren:

aws codeartifact update-package-group-origin-configuration \ --domain my_domain \ --domain-owner 111122223333 \ --package-group /npm/space/anycompany~ \ --restrictions PUBLISH=BLOCK,EXTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES,INTERNAL_UPSTREAM=ALLOW_SPECIFIC_REPOSITORIES \ --add-allowed-repositories originRestrictionType=INTERNAL_UPSTREAM,repositoryName=repoA originRestrictionType=EXTERNAL_UPSTREAM,repositoryName=repoB

Wie interagieren die Einstellungen für die Ursprungssteuerung von Paketgruppen mit den Einstellungen für die Paketursprungskontrolle

Da Pakete über Einstellungen für die Ursprungskontrolle und die zugehörigen Paketgruppen über Einstellungen für die Ursprungskontrolle verfügen, ist es wichtig zu verstehen, wie diese beiden unterschiedlichen Einstellungen miteinander interagieren. Informationen zur Interaktion zwischen den Einstellungen finden Sie unterWie die Kontrollen zur Paketherkunft mit den Ursprungskontrollen für Paketgruppen interagieren.