Verwenden Sie temporäre Anmeldeinformationen mit AWS Ressourcen - AWS Identitäts- und Zugriffsverwaltung

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.

Verwenden Sie temporäre Anmeldeinformationen mit AWS Ressourcen

Sie können temporäre Sicherheitsanmeldedaten verwenden, um programmatische Anfragen nach AWS Ressourcen mithilfe von AWS CLI oder AWS API (mithilfe von AWS SDKs) zu stellen. Die temporären Anmeldeinformationen bieten dieselben Berechtigungen wie langfristige Sicherheitsanmeldeinformationen, z. B. IAM Benutzeranmeldeinformationen. Es gibt jedoch einige Unterschiede:

  • Wenn Sie einen Anruf mit temporären Sicherheitsanmeldeinformationen tätigen, muss der Anruf ein Sitzungstoken enthalten, das zusammen mit diesen temporären Anmeldeinformationen zurückgegeben wird. AWS verwendet das Sitzungstoken, um die temporären Sicherheitsanmeldedaten zu validieren.

  • Die temporären Anmeldeinformationen laufen nach einem bestimmten Intervall ab. Nach Ablauf der temporären Anmeldeinformationen schlagen alle Aufrufe, die Sie mit diesen Anmeldeinformationen tätigen, fehl, so dass Sie einen neuen Satz temporärer Anmeldeinformationen generieren müssen. Temporäre Anmeldeinformationen können nicht über das ursprünglich angegebene Intervall hinaus erweitert oder aktualisiert werden.

  • Wenn Sie zur Erstellung einer Anforderung temporäre Anmeldeinformationen verwenden, enthält Ihr Auftraggeber möglicherweise eine Reihe von Tags. Diese Tags stammen von Sitzungs-Tags und Tags, die der von Ihnen angenommenen Rolle angefügt sind. Weitere Hinweise zu Sitzungs-Tags finden Sie unter Sitzungs-Tags übergeben AWS STS.

Wenn Sie die Tools AWS SDKs, die AWS Command Line Interface(AWS CLI) oder die Tools für Windows verwenden, unterscheidet sich die Art und Weise PowerShell, wie temporäre Sicherheitsanmeldeinformationen abgerufen und verwendet werden, je nach Kontext. Wenn Sie Code- AWS CLI oder Tools for PowerShell Windows-Befehle innerhalb einer EC2 Instance ausführen, können Sie Rollen für Amazon nutzenEC2. Andernfalls können Sie an aufrufen, AWS STS APIum die temporären Anmeldeinformationen abzurufen, und sie dann explizit verwenden, um AWS Dienste aufzurufen.

Anmerkung

Sie können AWS Security Token Service (AWS STS) verwenden, um vertrauenswürdige Benutzer zu erstellen und ihnen temporäre Sicherheitsanmeldeinformationen zur Verfügung zu stellen, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unterTemporäre Sicherheitsanmeldedaten in IAM. AWS STS ist ein globaler Dienst mit einem Standardendpunkt beihttps://sts.amazonaws.com. Dieser Endpunkt befindet sich zwar in der Region USA Ost (Nord-Virginia), die Anmeldedaten, die Sie von diesem und anderen Endpunkten erhalten, sind jedoch weltweit gültig. Diese Anmeldeinformationen funktionieren mit Services und Ressourcen in jeder Region. Sie können sich auch dafür entscheiden, Endpunkte in einer der unterstützten Regionen AWS STS API anzurufen. Dies kann die Latenz verringern, indem die Anforderungen an Server in einer Region in Ihrer Nähe gesendet werden. Ihre Anmeldeinformationen sind unabhängig von der Region, in der sie generiert werden, weltweit gültig. Weitere Informationen finden Sie unter Verwalte AWS STS in einem AWS-Region.

Temporäre Anmeldeinformationen in EC2 Amazon-Instances verwenden

Wenn Sie AWS CLI Befehle oder Code innerhalb einer EC2 Instance ausführen möchten, empfiehlt es sich, Rollen für Amazon zu verwenden, um Anmeldeinformationen zu erhaltenEC2. Sie erstellen eine IAM Rolle, die die Berechtigungen angibt, die Sie Anwendungen gewähren möchten, die auf den EC2 Instances ausgeführt werden. Wenn Sie die Instance starten, weisen Sie die Rolle der Instance zu.

Anwendungen und PowerShell Befehle von Tools for Windows AWS CLI, die auf der Instanz ausgeführt werden, können dann automatische temporäre Sicherheitsanmeldedaten aus den Metadaten der Instanz abrufen. Sie müssen die temporären Anmeldeinformationen nicht explizit abrufen. Die AWS SDKs Befehle AWS CLI, und Tools für Windows rufen die Anmeldeinformationen PowerShell automatisch vom EC2 Instanz-Metadatendienst (IMDS) ab und verwenden sie. Die temporären Anmeldeinformationen verfügen über die Berechtigungen, die Sie für die Rolle definieren, die mit der Instance verknüpft ist.

Weitere Informationen und Beispiele finden Sie in den folgenden Themen:

Verwenden temporärer Sicherheitsanmeldedaten mit dem AWS SDKs

Um temporäre Sicherheitsanmeldeinformationen im Code zu verwenden, rufen Sie programmgesteuert ein AWS STS API Like auf AssumeRole und extrahieren die resultierenden Anmeldeinformationen und das Sitzungstoken. Anschließend verwenden Sie diese Werte als Anmeldeinformationen für nachfolgende Aufrufe von. AWS Das folgende Beispiel zeigt Pseudocode für die Verwendung temporärer Sicherheitsanmeldeinformationen, wenn Sie eine verwenden: AWS SDK

assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); s3Request = CreateAmazonS3Client(tempCredentials);

Ein Beispiel, das in Python geschrieben wurde (mit derAWS SDK for Python (Boto)), finden Sie unter Zu einer IAM Rolle wechseln (AWS API). In diesem Beispiel wird veranschaulicht, wie Sie mit AssumeRole temporäre Anmeldeinformationen abrufen und dann diese Anmeldeinformationen verwenden, um einen Aufruf von Amazon S3 durchzuführen.

Einzelheiten zum Aufrufen von AssumeRoleGetFederationToken, und zu anderen API Vorgängen finden Sie in der AWS Security Token Service API Referenz. Informationen zum Abrufen der temporären Sicherheitsanmeldedaten und des Sitzungstoken aus dem Ergebnis finden Sie in der Dokumentation zu demSDK, mit dem Sie arbeiten. Sie finden die gesamte Dokumentation AWS SDKs auf der AWS Hauptdokumentationsseite im Abschnitt SDKsund Toolkits.

Sie müssen sicherstellen, dass Sie neue Anmeldeinformationen erhalten, bevor die alten ablaufen. In einigen Fällen können Sie einen Anbieter verwendenSDKs, der den Prozess der Aktualisierung der Anmeldeinformationen für Sie verwaltet. Schauen Sie in der Dokumentation zu dem von SDK Ihnen verwendeten nach.

Verwenden von temporären Sicherheitsanmeldeinformationen mit der AWS CLI

Sie können temporäre Sicherheitsanmeldeinformationen mit der AWS CLI verwenden. Dies kann nützlich für das Testen von Richtlinien sein.

Mit dem AWS CLIkönnen Sie ein AWS STS APILike AssumeRole oder aufrufen GetFederationToken und dann die resultierende Ausgabe erfassen. Das folgende Beispiel zeigt einen Aufruf an AssumeRole, durch den die Ausgabe an eine Datei gesendet wird. In diesem Beispiel wird davon ausgegangen, dass es sich bei dem profile Parameter um ein Profil in der AWS CLI Konfigurationsdatei handelt. Es wird auch davon ausgegangen, dass es auf Anmeldeinformationen für einen IAM Benutzer verweist, der über die erforderlichen Rechte zur Übernahme der Rolle verfügt.

aws sts assume-role --role-arn arn:aws:iam::123456789012:role/role-name --role-session-name "RoleSession1" --profile IAM-user-name > assume-role-output.txt

Wenn der Befehl abgeschlossen ist, können Sie die Zugriffsschlüssel-ID, den geheimen Zugriffsschlüssel und den Sitzungs-Token unabhängig von deren Routingziel extrahieren. Sie können dies entweder manuell oder mithilfe eines Skripts tun. Anschließend können Sie diese Werte Umgebungsvariablen zuweisen.

Wenn Sie AWS CLI Befehle ausführen, AWS CLI sucht der in einer bestimmten Reihenfolge nach Anmeldeinformationen — zuerst in den Umgebungsvariablen und dann in der Konfigurationsdatei. Nachdem Sie die temporären Anmeldeinformationen in Umgebungsvariablen eingegeben haben, werden diese Anmeldeinformationen daher standardmäßig AWS CLI verwendet. (Wenn Sie im Befehl einen profile Parameter angeben, werden die Umgebungsvariablen AWS CLI übersprungen. Stattdessen wird in AWS CLI der Konfigurationsdatei gesucht, sodass Sie die Anmeldeinformationen in den Umgebungsvariablen bei Bedarf überschreiben können.)

Das folgende Beispiel zeigt, wie Sie die Umgebungsvariablen für temporäre Sicherheitsanmeldedaten festlegen und dann einen AWS CLI Befehl aufrufen können. Da der AWS CLI Befehl keinen profile Parameter enthält, AWS CLI sucht der zuerst in Umgebungsvariablen nach Anmeldeinformationen und verwendet daher die temporären Anmeldeinformationen.

Linux

$ export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token> $ aws ec2 describe-instances --region us-west-1

Windows

C:\> SET AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE C:\> SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of token> C:\> aws ec2 describe-instances --region us-west-1

Verwendung temporärer Sicherheitsanmeldedaten bei API Vorgängen

Wenn Sie direkte HTTPS API Anfragen an stellen AWS, können Sie diese Anfragen mit den temporären Sicherheitsanmeldedaten signieren, die Sie von AWS Security Token Service (AWS STS) erhalten. Dazu verwenden Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel, die Sie von erhalten AWS STS. Verwenden Sie dazu die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel auf dieselbe Weise, wie Sie langfristige Anmeldeinformationen zum Signieren einer Anforderung verwenden würden. Sie fügen Ihrer API Anfrage auch das Sitzungstoken hinzu, von dem Sie es erhalten AWS STS. Sie fügen das Sitzungstoken einem HTTP Header oder einem Abfragezeichenfolgenparameter mit dem Namen hinzuX-Amz-Security-Token. Sie fügen das Sitzungstoken dem HTTP Header - oder dem Abfragezeichenfolgenparameter hinzu, aber nicht beiden. Weitere Informationen zum Signieren von HTTPS API Anfragen finden Sie unter Signieren von AWS API Anfragen in der Allgemeine AWS-Referenz.

Weitere Informationen

Weitere Informationen zur Verwendung AWS STS mit anderen AWS Diensten finden Sie unter den folgenden Links: