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
-
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
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 Sicherheitsnachweise 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 Verwalten AWS STS in einem AWS-Region.
Inhalt
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 von IAM Rollen, um Zugriff auf AWS Ressourcen in Amazon Elastic Compute Cloud zu gewähren — AWS SDK for Java
-
Zugriff mithilfe einer IAM Rolle gewähren — AWS SDK for .NET
-
Erstellen einer IAM-Rolle - AWS SDK for Ruby
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)AssumeRole
temporäre Anmeldeinformationen abrufen und dann diese Anmeldeinformationen verwenden, um einen Aufruf von Amazon S3 durchzuführen.
Einzelheiten zum Aufrufen von AssumeRole
GetFederationToken
, 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
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" --profileIAM-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:
-
Amazon S3. Weitere Informationen finden Sie unter Anfragen mit temporären IAM Benutzeranmeldedaten stellen oder Anfragen mit temporären Verbundbenutzeranmeldedaten stellen im Amazon Simple Storage Service-Benutzerhandbuch.
-
Amazon SNS. Weitere Informationen finden Sie unter Verwenden identitätsbasierter Richtlinien mit Amazon SNS im Amazon Simple Notification Service Developer Guide.
-
Amazon SQS. Informationen zur Identitäts- und Zugriffsverwaltung in Amazon finden Sie SQS im Amazon Simple Queue Service Developer Guide.
-
Amazon SimpleDB. Siehe Using Temporary Security Credentials im Developer Guide für Amazon SimpleDB.