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
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 derAWS CodeArtifact Referenz zu Berechtigungen. Weitere allgemeine Informationen zu CodeArtifact Berechtigungen finden Sie unterWie AWS CodeArtifact funktioniert mit IAM.
Um ein Autorisierungstoken von abzurufen CodeArtifact, müssen Sie den GetAuthorizationToken APIaufrufen. 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 anrufenGetAuthorizationToken
.
aws codeartifact login
: Dieser Befehl macht es einfach, gängige Paketmanager für die Verwendung CodeArtifact in einem einzigen Schritt zu konfigurieren. Beimlogin
Aufrufen wird ein Token mit dem TokenGetAuthorizationToken
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 werdenlogin
, können Sie Ihren Paketmanagerget-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 setzen0
. Andernfalls ist die Lebensdauer 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 im IAMBenutzerhandbuch.
Mit dem login
Befehl erstellte Tokens
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 |
---|---|---|
|
Ja |
Der Paketmanager, bei dem Sie sich authentifizieren möchten. Mögliche Werte sind |
|
Ja |
Der Domainname, zu dem das Repository gehört. |
|
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. |
|
Ja |
Der Name des Repositorys, für das Sie sich authentifizieren möchten. |
|
Nein |
Die Zeit in Sekunden, in der die Anmeldeinformationen gültig sind. Der Mindestwert ist 900* und der Höchstwert ist 43200. |
|
Nein |
Ordnet Ihrem Repository-Tool einen Namespace zu. |
|
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. |
*Ein Wert von 0 ist auch gültig, wenn Sie anrufen |
Das folgende Beispiel zeigt, wie ein Autorisierungstoken mit dem login
Befehl abgerufen wird.
aws codeartifact login \ --tool
dotnet | npm | nuget | pip | swift | twine
\ --domainmy_domain
\ --domain-owner111122223333
\ --repositorymy_repo
Spezifische Anleitungen zur Verwendung des login
Befehls mit npm finden Sie unter. Konfigurieren und verwenden Sie npm mit CodeArtifact Informationen zu Python finden Sie unter CodeArtifact Mit Python verwenden.
Zum Aufrufen von sind Berechtigungen erforderlich GetAuthorizationToken
API
Zum Aufrufen von sind sts:GetServiceBearerToken
sowohl die als auch die codeartifact:GetAuthorizationToken
Berechtigungen erforderlich CodeArtifact GetAuthorizationToken
API.
Um einen Paketmanager mit einem CodeArtifact Repository zu verwenden, muss Ihr IAM Benutzer oder Ihre Rolle dies zulassensts:GetServiceBearerToken
. Die Berechtigung sts:GetServiceBearerToken
kann zwar zu einer CodeArtifact Domänenressourcenrichtlinie hinzugefügt werden, hat jedoch keine Auswirkung auf diese Richtlinie.
Tokens, die mit dem erstellt wurden GetAuthorizationToken
API
Sie können aufrufenget-authorization-token
, um ein Autorisierungstoken von CodeArtifact abzurufen.
aws codeartifact get-authorization-token \ --domain
my_domain
\ --domain-owner111122223333
\ --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-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds3600
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-owner111122223333
\ --query authorizationToken \ --output text \ --duration-seconds0
Weitere Informationen finden Sie in der folgenden Dokumentation:
-
Hinweise zu Tokens und Umgebungsvariablen finden Sie unterÜbergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen.
-
Python-Benutzer finden Sie unter Konfigurieren Sie pip ohne den Login-Befehl oderKonfigurieren und verwenden Sie Twine mit CodeArtifact.
-
Für Maven-Benutzer finden Sie weitere Informationen unter CodeArtifact Mit Gradle verwenden oder CodeArtifact Mit MVN verwenden.
-
Für NPM-Benutzer siehe. Konfiguration von npm ohne Verwendung des Login-Befehls
Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen
AWS CodeArtifact verwendet von der zur Verfügung gestellte Autorisierungstoken GetAuthorizationToken
API, um Anfragen von Build-Tools wie Maven und Gradle zu authentifizieren und zu autorisieren. Weitere Informationen zu diesen Authentifizierungstoken finden Sie unter. Tokens, die mit dem erstellt wurden GetAuthorizationToken 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.
-
Konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschriebenInstallieren oder aktualisieren Sie und konfigurieren Sie dann das AWS CLI.
-
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.-
macOS oder Linux:
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text` -
Windows (unter Verwendung der Standard-Befehlsshell):
for /f %i in ('aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--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-owner111122223333
--query authorizationToken --output text
-
Widerrufen von CodeArtifact Autorisierungstoken
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 im IAMBenutzerhandbuch unter Deaktivieren von Berechtigungen für temporäre Sicherheitsanmeldeinformationen.
Wenn Sie bei der 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 Berechtigungen für einen IAM Benutzer ändern oder IAMBenutzer löschen.