

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.

# Was ist AWS CodeArtifact?
<a name="welcome"></a>

AWS CodeArtifact ist ein sicherer, hoch skalierbarer, verwalteter Artefakt-Repository-Service, der Unternehmen dabei unterstützt, Softwarepakete für die Anwendungsentwicklung zu speichern und gemeinsam zu nutzen. Sie können es CodeArtifact mit gängigen Build-Tools und Paketmanagern wie NuGet CLI, Maven, Gradle, npm, yarn, pip und Twine verwenden. CodeArtifact trägt dazu bei, dass Sie nicht mehr Ihr eigenes Speichersystem für Artefakte verwalten oder sich Gedanken über die Skalierung der Infrastruktur machen müssen. Es gibt keine Beschränkungen für die Anzahl oder Gesamtgröße der Pakete, die Sie in einem CodeArtifact Repository speichern können.

Sie können eine Verbindung zwischen Ihrem privaten CodeArtifact Repository und einem externen, öffentlichen Repository wie npmjs.com oder Maven Central herstellen. CodeArtifact ruft dann Pakete auf Anfrage aus dem öffentlichen Repository ab und speichert sie, wenn sie von einem Paketmanager angefordert werden. Dies macht es bequemer, Open-Source-Abhängigkeiten zu nutzen, die von Ihrer Anwendung verwendet werden, und trägt dazu bei, dass sie immer für Builds und Entwicklungen verfügbar sind. Sie können auch private Pakete in einem CodeArtifact Repository veröffentlichen. Auf diese Weise können Sie proprietäre Softwarekomponenten von mehreren Anwendungs- und Entwicklungsteams in Ihrem Unternehmen gemeinsam nutzen.

 Weitere Informationen finden Sie unter [AWS CodeArtifact](https://aws.amazon.com/codeartifact/).

## Wie CodeArtifact funktioniert das?
<a name="codeartifact-how-does-it-work"></a>

CodeArtifact speichert Softwarepakete in Repositorien. Repositorys sind mehrsprachig — ein einzelnes Repository kann Pakete aller unterstützten Typen enthalten. Jedes CodeArtifact Repository ist Mitglied einer einzigen Domain. CodeArtifact Wir empfehlen, dass Sie eine Produktionsdomäne für Ihre Organisation mit einem oder mehreren Repositorys verwenden. Sie können beispielsweise jedes Repository für ein anderes Entwicklungsteam verwenden. Pakete in Ihren Repositorys können dann entdeckt und von Ihren Entwicklungsteams gemeinsam genutzt werden. 

Um Pakete zu einem Repository hinzuzufügen, konfigurieren Sie einen Paketmanager wie npm oder Maven so, dass er den Repository-Endpunkt (URL) verwendet. Anschließend können Sie den Paketmanager verwenden, um Pakete im Repository zu veröffentlichen. Sie können Open-Source-Pakete auch in ein Repository importieren, indem Sie es mit einer externen Verbindung zu einem öffentlichen Repository wie npmjs, NuGet Gallery, Maven Central oder PyPI konfigurieren. Weitere Informationen finden Sie unter [Ein CodeArtifact Repository mit einem öffentlichen Repository Connect](external-connection.md). 

 Sie können Pakete in einem Repository für ein anderes Repository in derselben Domain verfügbar machen. Um dies zu tun, konfigurieren Sie ein Repository als Upstream-Repository für das andere. Alle Paketversionen, die für das Upstream-Repository verfügbar sind, sind auch für das Downstream-Repository verfügbar. Darüber hinaus sind alle Pakete, die für das Upstream-Repository über eine externe Verbindung zu einem öffentlichen Repository verfügbar sind, auch für das Downstream-Repository verfügbar. Weitere Informationen finden Sie unter [Arbeiten mit Upstream-Repositorys in CodeArtifact](repos-upstream.md). 

CodeArtifact erfordert, dass sich Benutzer beim Dienst authentifizieren, um Paketversionen zu veröffentlichen oder zu nutzen. Sie müssen sich beim CodeArtifact Dienst authentifizieren, indem Sie mit Ihren AWS Anmeldeinformationen ein Autorisierungstoken erstellen. Pakete in CodeArtifact Repositorys können nicht öffentlich zugänglich gemacht werden. Weitere Hinweise zur Authentifizierung und zum Zugriff in finden Sie CodeArtifact unter[AWS CodeArtifact Authentifizierung und Tokens](tokens-authentication.md).

# AWS CodeArtifact Konzepte
<a name="codeartifact-concepts"></a>

 Im Folgenden finden Sie einige Konzepte und Begriffe, die Sie bei der Verwendung CodeArtifact kennen sollten. 

**Topics**
+ [Komponente](#welcome-concepts-asset)
+ [Domain](#welcome-concepts-domain)
+ [Repository](#welcome-concepts-repository)
+ [Package](#welcome-concepts-package)
+ [Paketgruppe](#welcome-concepts-package-group)
+ [Paket-Namespace](#welcome-concepts-package-namespace)
+ [Version Package](#welcome-concepts-package-version)
+ [Revision der Paketversion](#welcome-concepts-package-version-revision)
+ [Upstream-Repository](#welcome-concepts-upstream)

## Komponente
<a name="welcome-concepts-asset"></a>

Ein *Asset* ist eine einzelne Datei CodeArtifact , die in einer Paketversion gespeichert ist, z. B. eine `.tgz` NPM-Datei oder Maven POM- und JAR-Dateien.

## Domain
<a name="welcome-concepts-domain"></a>

*Repositorys werden zu einer übergeordneten Entität zusammengefasst, die als Domain bezeichnet wird.* Alle Paketressourcen und Metadaten werden in der Domain gespeichert, aber sie werden über Repositorys genutzt. Ein bestimmtes Paket-Asset, z. B. eine Maven-JAR-Datei, wird einmal pro Domain gespeichert, unabhängig davon, in wie vielen Repositorys es vorhanden ist. Alle Assets und Metadaten in einer Domain werden mit demselben AWS KMS key (KMS-Schlüssel) verschlüsselt, der in AWS Key Management Service (AWS KMS) gespeichert ist.

Jedes Repository ist Mitglied einer einzelnen Domain und kann nicht in eine andere Domain verschoben werden.

Mithilfe einer Domain können Sie eine Unternehmensrichtlinie auf mehrere Repositorys anwenden. Mit diesem Ansatz legen Sie fest, welche Konten auf Repositorys in der Domain zugreifen können und welche öffentlichen Repositorys als Paketquellen verwendet werden können.

Obwohl eine Organisation mehrere Domänen haben kann, empfehlen wir eine einzige Produktionsdomäne, die alle veröffentlichten Artefakte enthält. Auf diese Weise können Teams Pakete innerhalb Ihrer Organisation finden und gemeinsam nutzen.

## Repository
<a name="welcome-concepts-repository"></a>

Ein CodeArtifact *Repository* enthält eine Reihe von [Paketversionen](#welcome-concepts-package-version), von denen jede einer Reihe von [Assets](#welcome-concepts-asset) zugeordnet ist. Repositorys sind mehrsprachig — ein einzelnes Repository kann Pakete aller unterstützten Typen enthalten. Jedes Repository stellt Endpunkte zum Abrufen und Veröffentlichen von Paketen mithilfe von Tools wie der Nuget-CLI, der NPM-CLI, der Maven-CLI (mvn) und pip zur Verfügung. Sie können bis zu 1.000 Repositorys pro Domain erstellen.

## Package
<a name="welcome-concepts-package"></a>

Ein *Paket* ist ein Paket aus Software und Metadaten, das zur Auflösung von Abhängigkeiten und zur Installation der Software erforderlich ist. In CodeArtifact besteht ein Paket aus einem Paketnamen, einem optionalen [Namespace](#welcome-concepts-package-namespace) wie `@types` in`@types/node`, einer Reihe von Paketversionen und Metadaten auf Paketebene wie npm-Tags.

AWS CodeArtifact [unterstützt die [Paketformate Cargo](using-cargo.md), [Generic](using-generic.md), [Maven](using-maven.md), [npm [NuGet](using-nuget.md)](using-npm.md), [PyPI](using-python.md), [Ruby und Swift](using-ruby.md).](using-swift.md)

## Paketgruppe
<a name="welcome-concepts-package-group"></a>

*Paketgruppen* können verwendet werden, um die Konfiguration auf mehrere Pakete anzuwenden, die einem definierten Muster entsprechen, wobei das Paketformat, der Paketnamespace und der Paketname verwendet werden. Sie können Paketgruppen verwenden, um die Steuerung des Paketursprungs für mehrere Pakete bequemer zu konfigurieren. Kontrollen zur Paketherkunft werden verwendet, um die Aufnahme oder Veröffentlichung neuer Paketversionen zu blockieren oder zuzulassen. Dadurch werden Benutzer vor böswilligen Aktionen geschützt, die als Abhängigkeitsersetzungsangriffe bezeichnet werden.

## Paket-Namespace
<a name="welcome-concepts-package-namespace"></a>

Einige Paketformate unterstützen hierarchische Paketnamen, um Pakete in logische Gruppen zu organisieren und Namenskollisionen zu vermeiden. Zum Beispiel unterstützt npm Bereiche. Weitere Informationen finden Sie in der Dokumentation zu [npm-Scopes](https://docs.npmjs.com/cli/v7/using-npm/scope). Das npm-Paket `@types/node` hat den Gültigkeitsbereich `@types` und den Namen. `node` Es gibt viele andere Paketnamen im `@types` Gültigkeitsbereich. CodeArtifactIn wird der Bereich („Typen“) als Paket-Namespace und der Name („Knoten“) als Paketname bezeichnet. Bei Maven-Paketen entspricht der Paket-Namespace der Maven-GroupID. Das Maven-Paket `org.apache.logging.log4j:log4j` hat eine GroupID (Paket-Namespace) von `org.apache.logging.log4j` und die ArtifactID (Paketname). `log4j` [Für generische Pakete ist ein Namespace erforderlich.](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_PublishPackageVersion.html#namespace) Einige Paketformate wie PyPI unterstützen keine hierarchischen Namen mit einem ähnlichen Konzept wie npm scope oder Maven GroupID. Ohne eine Möglichkeit, Paketnamen zu gruppieren, kann es schwieriger sein, Namenskollisionen zu vermeiden.

## Version Package
<a name="welcome-concepts-package-version"></a>

Eine *Paketversion* identifiziert die spezifische Version eines Pakets, z. `@types/node 12.6.9` B. Das Format und die Semantik der Versionsnummer variieren je nach Paketformat. Beispielsweise müssen npm-Paketversionen der [Semantic](https://semver.org/) Versioning-Spezifikation entsprechen. In CodeArtifact besteht eine Paketversion aus der Versionskennung, Metadaten auf Paketversionsebene und einer Reihe von Assets.

## Revision der Paketversion
<a name="welcome-concepts-package-version-revision"></a>

 Eine *Paketversionsrevision* ist eine Zeichenfolge, die einen bestimmten Satz von Ressourcen und Metadaten für eine Paketversion identifiziert. Jedes Mal, wenn eine Paketversion aktualisiert wird, wird eine neue Paketversionsrevision erstellt. Sie könnten beispielsweise ein Quellverteilungsarchiv (**sdist**) für eine Python-Paketversion veröffentlichen und später ein **Python-Rad** hinzufügen, das kompilierten Code zu derselben Version enthält. Wenn Sie das **Rad** veröffentlichen, wird eine neue Version der Paketversion erstellt. 

## Upstream-Repository
<a name="welcome-concepts-upstream"></a>

Ein Repository ist einem anderen *vorgelagert*, wenn auf die darin enthaltenen Paketversionen vom Repository-Endpunkt des Downstream-Repositorys aus zugegriffen werden kann. Bei diesem Ansatz werden die Inhalte der beiden Repositorien aus Sicht eines Kunden effektiv zusammengeführt. Mithilfe CodeArtifact können Sie eine Upstream-Beziehung zwischen zwei Repositorys erstellen.

## Wie fange ich an mit CodeArtifact?
<a name="how-do-i-get-started"></a>

 Wir empfehlen, dass Sie zuerst die folgenden Schritte ausführen: 

1.  **Erfahren Sie** mehr darüber, CodeArtifact indem Sie lesen[AWS CodeArtifact Konzepte](codeartifact-concepts.md). 

1.  **Richten** Sie Ihren AWS-Konto AWS CLI, den und einen IAM-Benutzer ein, indem Sie die Schritte unter befolgen. [Einrichtung mit AWS CodeArtifact](get-set-up-for-codeartifact.md) 

1.  **Folgen Sie zur Verwendung** den Anweisungen CodeArtifact unter[Erste Schritte mit CodeArtifact](getting-started.md). 