

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.

# AWS CodeArtifact Authentifizierung und Tokens
<a name="tokens-authentication"></a>

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. Um ein Autorisierungstoken zu erstellen, müssen Sie über die richtigen Berechtigungen verfügen. Informationen zu den Berechtigungen, die zum Erstellen eines Autorisierungstokens erforderlich sind, finden Sie im `GetAuthorizationToken` Eintrag in der[AWS CodeArtifact Referenz zu Berechtigungen](auth-and-access-control-permissions-reference.md). Weitere allgemeine Informationen zu CodeArtifact Berechtigungen finden Sie unter[Wie AWS CodeArtifact funktioniert mit IAM](security_iam_service-with-iam.md).

Um ein Autorisierungstoken von abzurufen CodeArtifact, müssen Sie die [GetAuthorizationToken API](https://docs.aws.amazon.com/codeartifact/latest/APIReference/API_GetAuthorizationToken.html) aufrufen. Wenn Sie den verwenden AWS CLI, können Sie `GetAuthorizationToken` mit dem `get-authorization-token` Befehl `login` oder aufrufen.

**Anmerkung**  
Root-Benutzer können nicht anrufen`GetAuthorizationToken`.
+ `aws codeartifact login`: Dieser Befehl macht es einfach, gängige Paketmanager für die Verwendung CodeArtifact in einem einzigen Schritt zu konfigurieren. Beim `login` Aufrufen wird ein Token mit dem Token `GetAuthorizationToken` und dem richtigen CodeArtifact Repository-Endpunkt abgerufen und Ihr Paketmanager wird mit diesem konfiguriert. Die Support-Paketmanager lauten wie folgt:
  + dotnet
  + npm
  + Nuget
  + pip
  + schnell
  + binden
+ `aws codeartifact get-authorization-token`: Für Paketmanager, die nicht von unterstützt werden`login`, können Sie Ihren Paketmanager `get-authorization-token` direkt aufrufen und dann nach Bedarf mit dem Token konfigurieren, indem Sie es beispielsweise zu einer Konfigurationsdatei hinzufügen oder es als Umgebungsvariable speichern.

CodeArtifact Autorisierungstoken sind standardmäßig für einen Zeitraum von 12 Stunden gültig. Token können mit einer Lebensdauer zwischen 15 Minuten und 12 Stunden konfiguriert werden. Wenn die Gültigkeitsdauer abläuft, müssen Sie ein anderes Token abrufen. Die Gültigkeitsdauer des Tokens beginnt danach `login` oder `get-authorization-token` wird aufgerufen.

Wenn `login` oder während der Übernahme einer Rolle aufgerufen `get-authorization-token` wird, können Sie die Lebensdauer des Tokens so konfigurieren, dass sie der verbleibenden Zeit in der Sitzungsdauer der Rolle entspricht, indem Sie den Wert `--duration-seconds` auf setzen`0`. Andernfalls ist die Gültigkeitsdauer des Tokens unabhängig von der maximalen Sitzungsdauer der Rolle. Angenommen, Sie rufen an `sts assume-role` und geben eine Sitzungsdauer von 15 Minuten an und rufen dann an, `login` um ein CodeArtifact Autorisierungstoken abzurufen. In diesem Fall ist das Token für den gesamten Zeitraum von 12 Stunden gültig, auch wenn dieser länger als die Sitzungsdauer von 15 Minuten ist. Informationen zur Steuerung der Sitzungsdauer finden Sie unter [Verwenden von IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html) im *IAM-Benutzerhandbuch*.

## Mit dem Befehl erstellte Tokens `login`
<a name="auth-token-login"></a>

Der `aws codeartifact login` Befehl ruft ein Token mit dem Token ab `GetAuthorizationToken` und konfiguriert Ihren Paketmanager mit dem Token und dem richtigen CodeArtifact Repository-Endpunkt.

In der folgenden Tabelle werden die Parameter für den `login` Befehl beschrieben.


****  

| Parameter | Erforderlich | Beschreibung | 
| --- | --- | --- | 
| `--tool` | Ja | Der Paketmanager, bei dem Sie sich authentifizieren möchten. Mögliche Werte sind`dotnet`,`npm`, `nuget``pip`, `swift` und`twine`. | 
| `--domain` | Ja | Der Domainname, zu dem das Repository gehört. | 
| `--domain-owner` | Nein | Die ID des Besitzers der Domain. Dieser Parameter ist erforderlich, wenn Sie auf eine Domain zugreifen, die einem AWS Konto gehört, für das Sie nicht authentifiziert sind. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account). | 
| `--repository` | Ja | Der Name des Repositorys, für das Sie sich authentifizieren möchten. | 
| `--duration-seconds` | Nein | Die Zeit in Sekunden, in der die Anmeldeinformationen gültig sind. Der Mindestwert ist 900\$1 und der Höchstwert ist 43200. | 
| `--namespace` | Nein | Ordnet Ihrem Repository-Tool einen Namespace zu. | 
| `--dry-run` | Nein | Drucken Sie nur die Befehle aus, die ausgeführt würden, um Ihr Tool mit Ihrem Repository zu verbinden, ohne Änderungen an Ihrer Konfiguration vorzunehmen. | 
| \$1Ein Wert von 0 ist auch gültig, wenn Sie anrufen `login` und gleichzeitig eine Rolle übernehmen. Wenn Sie `login` mit aufrufen, `--duration-seconds 0` wird ein Token erstellt, dessen Lebensdauer der verbleibenden Zeit in der Sitzungsdauer einer übernommenen Rolle entspricht. | 

Das folgende Beispiel zeigt, wie ein Autorisierungstoken mit dem `login` Befehl abgerufen wird.

```
aws codeartifact login \
    --tool dotnet | npm | nuget | pip | swift | twine \
    --domain my_domain \
    --domain-owner 111122223333 \
    --repository my_repo
```

Spezifische Anleitungen zur Verwendung des `login` Befehls mit npm finden Sie unter. [Konfigurieren und verwenden Sie npm mit CodeArtifact](npm-auth.md) Informationen zu Python finden Sie unter[CodeArtifact Mit Python verwenden](using-python.md).

## Zum Aufrufen der `GetAuthorizationToken` API sind Berechtigungen erforderlich
<a name="get-auth-token-permissions"></a>

`sts:GetServiceBearerToken`Sowohl die als auch die `codeartifact:GetAuthorizationToken` Berechtigungen sind erforderlich, um die CodeArtifact `GetAuthorizationToken` API aufzurufen.

Um einen Paketmanager mit einem CodeArtifact Repository zu verwenden, muss Ihr IAM-Benutzer oder Ihre IAM-Rolle dies zulassen`sts:GetServiceBearerToken`. Die Berechtigung `sts:GetServiceBearerToken` kann zwar zu einer CodeArtifact Domänenressourcenrichtlinie hinzugefügt werden, hat jedoch keine Auswirkung auf diese Richtlinie.

## Mit der `GetAuthorizationToken` API erstellte Tokens
<a name="get-auth-token-api"></a>

Sie können aufrufen`get-authorization-token`, um ein Autorisierungstoken von CodeArtifact abzurufen.

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text
```

Mit dem `--duration-seconds` Argument können Sie ändern, wie lange ein Token gültig ist. Der Mindestwert ist 900 und der Höchstwert ist 43200. Im folgenden Beispiel wird ein Token erstellt, das 1 Stunde (3600 Sekunden) gültig ist. 

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text \
    --duration-seconds 3600
```

Wenn Sie aufrufen, `get-authorization-token` während Sie eine Rolle übernehmen, ist die Lebensdauer des Tokens unabhängig von der maximalen Sitzungsdauer der Rolle. Sie können das Token so konfigurieren, dass es abläuft, wenn die Sitzungsdauer der angenommenen Rolle abläuft, indem Sie `--duration-seconds` es auf 0 setzen.

```
aws codeartifact get-authorization-token \
    --domain my_domain \
    --domain-owner 111122223333 \
    --query authorizationToken \
    --output text \
    --duration-seconds 0
```

Weitere Informationen finden Sie in der folgenden Dokumentation:
+ Hinweise zu Tokens und Umgebungsvariablen finden Sie unter[Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen](#env-var).
+ Python-Benutzer finden Sie unter [Konfigurieren Sie pip ohne den Login-Befehl](python-configure-pip.md#python-configure-without-pip) oder[Konfigurieren und verwenden Sie Twine mit CodeArtifact](python-configure-twine.md).
+ Für Maven-Benutzer finden Sie weitere Informationen unter [CodeArtifact Mit Gradle verwenden](maven-gradle.md) oder[CodeArtifact Mit MVN verwenden](maven-mvn.md).
+ Für NPM-Benutzer siehe. [Konfiguration von npm ohne Verwendung des Login-Befehls](npm-auth.md#configuring-npm-without-using-the-login-command)

## Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen
<a name="env-var"></a>

AWS CodeArtifact verwendet von der `GetAuthorizationToken` API bereitgestellte Autorisierungstoken, um Anfragen von Build-Tools wie Maven und Gradle zu authentifizieren und zu autorisieren. Weitere Informationen zu diesen Authentifizierungstoken finden Sie unter. [Mit der `GetAuthorizationToken` API erstellte Tokens](#get-auth-token-api)

Sie können diese Authentifizierungstoken in einer Umgebungsvariablen speichern, die von einem Build-Tool gelesen werden kann, um das Token zu erhalten, das zum Abrufen von Paketen aus einem CodeArtifact Repository oder zum Veröffentlichen von Paketen in diesem Repository benötigt wird. 

Aus Sicherheitsgründen ist dieser Ansatz dem Speichern des Tokens in einer Datei vorzuziehen, wo es von anderen Benutzern oder Prozessen gelesen oder versehentlich in die Quellcodeverwaltung eingecheckt werden kann.

1. Konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschrieben[Installieren oder aktualisieren Sie und konfigurieren Sie dann das AWS CLI](get-set-up-install-cli.md). 

1. Legen Sie die `CODEARTIFACT_AUTH_TOKEN`-Umgebungsvariable fest:
**Anmerkung**  
In einigen Szenarien müssen Sie das `--domain-owner` Argument nicht angeben. Weitere Informationen finden Sie unter [Kontenübergreifende Domänen](domain-overview.md#domain-overview-cross-account).
   + macOS oder Linux:

     ```
     export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
     ```
   + Windows (unter Verwendung der Standard-Befehlsshell):

     ```
     for /f %i in ('aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
     ```
   + Windows PowerShell:

     ```
     $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text
     ```

## Widerrufen von CodeArtifact Autorisierungstoken
<a name="revoke-access"></a>

 Wenn ein authentifizierter Benutzer ein Token für den Zugriff auf CodeArtifact Ressourcen erstellt, ist dieses Token gültig, bis der anpassbare Zugriffszeitraum abgelaufen ist. Die Standardzugriffsdauer beträgt 12 Stunden. Unter bestimmten Umständen möchten Sie möglicherweise den Zugriff auf ein Token widerrufen, bevor der Zugriffszeitraum abgelaufen ist. Sie können den Zugriff auf CodeArtifact Ressourcen widerrufen, indem Sie diese Anweisungen befolgen.

 Wenn Sie das Zugriffstoken mit temporären Sicherheitsanmeldedaten wie *übernommenen Rollen* oder *Verbundbenutzerzugriff erstellt haben, können Sie den Zugriff* widerrufen, indem Sie eine IAM-Richtlinie aktualisieren, um den Zugriff zu verweigern. Weitere Informationen finden Sie unter [Deaktivierung von Berechtigungen für temporäre Sicherheitsanmeldedaten](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_disable-perms.html) im *IAM-Benutzerhandbuch*. 

 Wenn Sie für die Erstellung des Zugriffstokens langfristige IAM-Benutzeranmeldedaten verwendet haben, müssen Sie die Benutzerrichtlinie ändern, um den Zugriff zu verweigern oder den IAM-Benutzer zu löschen. Weitere Informationen finden Sie unter [Ändern der Berechtigungen für einen IAM-Benutzer oder [Löschen eines](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) IAM-Benutzers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html). 