Abrufen von Sicherheitsanmeldeinformationen aus Instance-Metadaten - Amazon Elastic Compute Cloud

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.

Abrufen von Sicherheitsanmeldeinformationen aus Instance-Metadaten

Eine Anwendung auf der Instance ruft die von der Rolle bereitgestellten Sicherheitsanmeldeinformationen aus dem Instance-Metadatenelement iam/security-credentials/Rollenname ab. Über die mit der Rolle verknüpften Sicherheitsanmeldeinformationen werden der Anwendung die Berechtigungen für die Aktionen und Ressourcen gewährt, die Sie für die Rolle definiert haben. Diese Sicherheitsanmeldeinformationen sind temporär und werden automatisch gewechselt. Neue Anmeldeinformationen stehen spätestens fünf Minuten vor dem Ablauf der alten zur Verfügung.

Weitere Informationen zu Instance-Metadaten erhalten Sie unter Verwenden Sie Instanz-Metadaten, um Ihre EC2 Instanz zu verwalten.

Warnung

Wenn Sie Dienste verwenden, die Instanzmetadaten mit IAM Rollen verwenden, stellen Sie sicher, dass Sie Ihre Anmeldeinformationen nicht preisgeben, wenn die Dienste in Ihrem Namen HTTP Anrufe tätigen. Zu den Arten von Diensten, die Ihre Anmeldeinformationen offenlegen könnten, gehören HTTP Proxys, HTML CSS /Validator-Dienste und XML Prozessoren, die Inklusion unterstützen. XML

Für Ihre EC2 Amazon-Workloads empfehlen wir, dass Sie die Anmeldeinformationen für die Sitzung mithilfe der unten beschriebenen Methode abrufen. Diese Anmeldeinformationen sollten es Ihrem Workload ermöglichen, AWS API Anfragen zu stellen, ohne dieselbe Rolle übernehmen sts:AssumeRole zu müssen, die der Instance bereits zugewiesen ist. Sofern Sie keine Sitzungstags für die attributebasierte Zugriffskontrolle (ABAC) oder eine Sitzungsrichtlinie übergeben müssen, um die Berechtigungen der Rolle weiter einzuschränken, sind solche Aufrufe zur Rollenübernahme unnötig, da sie einen neuen Satz derselben temporären Rollensitzungsanmeldedaten erstellen.

Wenn Ihr Workload eine Rolle verwendet, um sich selbst anzunehmen, müssen Sie eine Vertrauensrichtlinie erstellen, die ausdrücklich zulässt, dass diese Rolle sich selbst annimmt. Wenn Sie die Vertrauensrichtlinie nicht erstellen, erhalten Sie eine Fehlermeldung. AccessDenied Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Ändern einer Rollenvertrauensrichtlinie.

Mit dem folgenden Befehl werden die Sicherheitsanmeldedaten für eine IAM Rolle mit dem Namen s3access abgerufen.

cURL

IMDSv2

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

IMDSv1

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
PowerShell

IMDSv2

PS C:\> [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
PS C:\> Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

IMDSv1

PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access

Es folgt eine Beispielausgabe. Wenn Sie die Sicherheitsanmeldedaten nicht abrufen können, finden Sie im IAMBenutzerhandbuch weitere Informationen unter Ich kann nicht auf die temporären Sicherheitsanmeldedaten auf meiner EC2 Instance zugreifen.

{ "Code" : "Success", "LastUpdated" : "2012-04-26T16:39:16Z", "Type" : "AWS-HMAC", "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE", "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "Token" : "token", "Expiration" : "2017-05-17T15:09:54Z" }

Für Anwendungen und Tools for PowerShell Windows-Befehle AWS CLI, die auf der Instanz ausgeführt werden, müssen Sie die temporären Sicherheitsanmeldedaten nicht explizit abrufen — die AWS SDKs, AWS CLI, und Tools für Windows rufen die Anmeldeinformationen PowerShell automatisch vom Metadatendienst der EC2 Instanz ab und verwenden sie. Um außerhalb der Instanz mithilfe temporärer Sicherheitsanmeldedaten einen Anruf zu tätigen (z. B. um IAM Richtlinien zu testen), müssen Sie den Zugriffsschlüssel, den geheimen Schlüssel und das Sitzungstoken angeben. Weitere Informationen finden Sie im IAMBenutzerhandbuch unter Verwenden temporärer Sicherheitsanmeldedaten zur Anforderung des Zugriffs auf AWS Ressourcen.