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.
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 Services verwenden, die Instance-Metadaten mit IAM-Rollen nutzen, müssen Sie sicherstellen, dass Sie Ihre Anmeldeinformationen nicht zur Verfügung stellen, wenn die Services HTTP-Aufrufe in Ihrem Auftrag senden. Zu den Service-Typen, die Anmeldeinformationen verfügbar machen könnten, gehören HTTP-Proxys, HTML-/CSS-Validierungs-Services und XML-Prozessoren, die die XML-Aufnahme unterstützen.
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 sts:AssumeRole
verwenden zu müssen, um dieselbe Rolle zu übernehmen, die bereits mit dieser Instance verknüpft ist. Nur wenn Sie Sitzungs-Tags für die attributbasierte Zugriffskontrolle (ABAC) übergeben oder eine Sitzungsrichtlinie übergeben müssen, um die Berechtigungen der Rolle weiter einzuschränken, sind solche Rollenannahmeaufrufe erforderlich, da sie einen neuen Satz derselben temporären Anmeldeinformationen für die Rollensitzung 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 den Fehler AccessDenied
. Weitere Informationen finden Sie unter Aktualisieren einer Rollenvertrauensrichtlinie im IAM-Benutzerhandbuch.
Mit dem folgenden Befehl werden die Sicherheitsanmeldeinformationen für eine IAM-Rolle namens s3access
abgerufen.
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
Es folgt eine Beispielausgabe. Wenn Sie die Sicherheitsanmeldedaten nicht abrufen können, finden Sie im IAM-Benutzerhandbuch 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 Instance 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 EC2 Instanz-Metadatendienst ab und verwenden sie. Für einen Aufruf außerhalb der Instance mithilfe der temporären Sicherheitsanmeldeinformationen (beispielsweise um IAM-Richtlinien zu testen) müssen Sie den Zugriffsschlüssel, den geheimen Schlüssel und das Sitzungs-Token zur Verfügung stellen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Verwenden temporärer Sicherheitsanmeldedaten, um Zugriff auf AWS Ressourcen anzufordern.