Temporäre Sicherheitsnachweise anfordern - 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.

Temporäre Sicherheitsnachweise anfordern

Um temporäre Sicherheitsanmeldeinformationen anzufordern, können Sie die Operationen AWS Security Token Service (AWS STS) in der verwenden AWS API. Dazu gehören Operationen zum Erstellen und Bereitstellen temporärer Sicherheitsanmeldedaten für vertrauenswürdige Benutzer, mit denen der Zugriff auf Ihre AWS Ressourcen gesteuert werden kann. Weitere Informationen zu finden AWS STS Sie unterTemporäre Sicherheitsanmeldedaten in IAM. Weitere Informationen zu den verschiedenen Methoden, die Sie verwenden können, um temporäre Anmeldeinformationen anzufordern, indem Sie eine Rolle übernehmen, finden Sie unter Methoden, um eine Rolle zu übernehmen.

Um die API Operationen aufzurufen, können Sie einen der verwenden AWS SDKs. Sie SDKs sind für eine Vielzahl von Programmiersprachen und Umgebungen verfügbar, darunter Java,. NET, Python, Ruby, Android und iOS. SDKsSie kümmern sich um Aufgaben wie das kryptografische Signieren Ihrer Anfragen, das Wiederholen von Anfragen, falls erforderlich, und die Bearbeitung von Fehlerantworten. Sie können auch die AWS STS Abfrage verwendenAPI, die in der Referenz beschrieben wird.AWS Security Token Service API Schließlich unterstützen zwei Befehlszeilentools die AWS STS Befehle: the AWS Command Line Interface, und the AWS Tools for Windows PowerShell.

Die AWS STS API Operationen erstellen eine neue Sitzung mit temporären Sicherheitsanmeldeinformationen, die ein Zugriffsschlüsselpaar und ein Sitzungstoken enthalten. Das Zugriffschlüsselpaar besteht aus einer Zugriffsschlüssel-ID und einem geheimen Schlüssel. Benutzer (oder eine Anwendung, die vom Benutzer ausgeführt wird) können diese Anmeldeinformationen verwenden, um auf Ihre Ressourcen zuzugreifen. Sie können eine Rollensitzung erstellen und Sitzungsrichtlinien und Sitzungs-Tags mithilfe AWS STS API von Vorgängen programmgesteuert übergeben. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der Identität des Benutzers oder der auf die Rolle basierenden Richtlinien und der Sitzungssrichtlinien. Weitere Informationen zu Sitzungsrichtlinien finden Sie unter Sitzungsrichtlinien. Weitere Hinweise zu Sitzungs-Tags finden Sie unter Sitzungs-Tags übergeben AWS STS.

Anmerkung

Die Größe des Sitzungstokens, das von AWS STS API Operationen zurückgegeben wird, ist nicht festgelegt. Es wird ausdrücklich empfohlen, dass Sie keine Annahmen über die maximale Größe machen. Die typische Tokengröße ist kleiner als 4096 Bytes, diese kann jedoch variieren.

Verwendung AWS STS mit AWS Regionen

Sie können AWS STS API Anrufe entweder an einen globalen Endpunkt oder an einen der regionalen Endpunkte senden. Wenn Sie einen Endpunkt in Ihrer Nähe wählen, können Sie die Latenz reduzieren und die Leistung Ihrer API Anrufe verbessern. Sie können Ihre Aufrufe auch an einen alternativen regionalen Endpunkt richten, wenn Sie nicht mehr mit dem ursprünglichen Endpunkt kommunizieren können. Wenn Sie einen der verschiedenen verwenden AWS SDKs, verwenden Sie diese SDK Methode, um eine Region anzugeben, bevor Sie den API Anruf tätigen. Wenn Sie HTTP API Anfragen manuell erstellen, müssen Sie die Anfrage selbst an den richtigen Endpunkt weiterleiten. Weitere Informationen finden Sie im AWS STS -Abschnitt von Regionen und Endpunkte und Verwalte AWS STS in einem AWS-Region.

Mit den folgenden API Vorgängen können Sie temporäre Anmeldeinformationen für die Verwendung in Ihrer AWS Umgebung und Ihren Anwendungen abrufen.

Anfordern von Anmeldeinformationen für die kontenübergreifende Delegierung und den Verbund über einen benutzerdefinierten Identity Broker

Dieser AssumeRoleAPIVorgang ist nützlich, um bestehenden IAM Benutzern den Zugriff auf AWS Ressourcen zu ermöglichen, auf die sie noch keinen Zugriff haben. Beispielsweise benötigt der Benutzer möglicherweise Zugriff auf Ressourcen in einem anderen AWS-Konto. Es ist auch nützlich, um vorübergehend privilegierten Zugriff zu erhalten, z. B. um eine Multi-Faktor-Authentifizierung () bereitzustellen. MFA Sie müssen dies API mit aktiven Anmeldeinformationen aufrufen. Um zu erfahren, wer diesen Vorgang aufrufen kann, siehe AWS STS Referenzen vergleichen. Weitere Informationen erhalten Sie unter Erstellen Sie eine Rolle, um Berechtigungen an einen IAM Benutzer zu delegieren und Sicherer API Zugriff mit MFA.

Um temporäre Sicherheitsanmeldedaten für die kontenübergreifende Delegierung und den Zusammenschluss über einen benutzerdefinierten Identity Broker anzufordern
  1. Authentifizieren Sie sich mit Ihren AWS Sicherheitsanmeldedaten. Dieser Aufruf muss unter Verwendung von gültigen AWS -Sicherheitsanmeldeinformationen gemacht werden.

  2. Aufrufen der AssumeRole-Operation.

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit AssumeRole gezeigt. In dieser Beispielanforderung wird die demo-Rolle für die angegebene Dauer mit der enthaltenen Sitzungsrichtlinie, den Sitzungs-Tags und der externen ID und Quellidentität übernommen. Die resultierende Sitzung wird als John-session bezeichnet.

Beispielanforderung
https://sts.amazonaws.com/ ?Version=2011-06-15 &Action=AssumeRole &RoleSessionName=John-session &RoleArn=arn:aws::iam::123456789012:role/demo &Policy=%7B%22Version%22%3A%222012-10-17%22%2C%22Statement%22%3A%5B%7B%22Sid%22%3A%20%22Stmt1%22%2C%22Effect%22%3A%20%22Allow%22%2C%22Action%22%3A%20%22s3%3A*%22%2C%22Resource%22%3A%20%22*%22%7D%5D%7D &DurationSeconds=1800 &Tags.member.1.Key=Project &Tags.member.1.Value=Pegasus &Tags.member.2.Key=Cost-Center &Tags.member.2.Value=12345 &ExternalId=123ABC &SourceIdentity=DevUser123 &AUTHPARAMS

Der im vorherigen Beispiel gezeigte Richtlinienwert ist die URL -kodierte Version der folgenden Richtlinie:

{"Version":"2012-10-17","Statement":[{"Sid":"Stmt1","Effect":"Allow","Action":"s3:*","Resource":"*"}]}

Der AUTHPARAMS-Parameter in diesem Beispiel ist ein Platzhalter für Ihre Signatur. Eine Signatur ist die Authentifizierungsinformation, die Sie Anfragen beifügen müssen. AWS HTTP API Wir empfehlen die Verwendung von, AWS SDKsum API Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie das Signieren von SDKs Anfragen für Sie übernimmt. Wenn Sie API Anfragen manuell erstellen und signieren müssen, finden Sie unter Signieren von AWS Anfragen mithilfe von Signature Version 4 in der Allgemeine Amazon Web Services-Referenz, wie Sie eine Anfrage signieren.

Zusätzlich zu den temporären Sicherheitsanmeldedaten enthält die Antwort den Amazon-Ressourcennamen (ARN) für den Verbundbenutzer und die Ablaufzeit der Anmeldeinformationen.

Beispielantwort
<AssumeRoleResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <AssumeRoleResult> <SourceIdentity>DevUser123</SourceIdentity> <Credentials> <SessionToken> AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU 9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA== </SessionToken> <SecretAccessKey> wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY </SecretAccessKey> <Expiration>2019-07-15T23:28:33.359Z</Expiration> <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId> </Credentials> <AssumedRoleUser> <Arn>arn:aws:sts::123456789012:assumed-role/demo/John</Arn> <AssumedRoleId>ARO123EXAMPLE123:John</AssumedRoleId> </AssumedRoleUser> <PackedPolicySize>8</PackedPolicySize> </AssumeRoleResult> <ResponseMetadata> <RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId> </ResponseMetadata> </AssumeRoleResponse>
Anmerkung

Bei einer AWS Konvertierung werden die übergebenen Sitzungsrichtlinien und Sitzungs-Tags in ein gepacktes Binärformat komprimiert, für das ein separates Limit gilt. Ihre Anforderung kann für diese Begrenzung fehlschlagen, selbst wenn Ihr Nur-Text-Inhalt die übrigen Anforderungen erfüllt. Das PackedPolicySize-Antwortelement gibt in Prozent an, wie nah die Richtlinien und Tags für Ihre Anforderung an der oberen Größengrenze liegen.

Anmeldeinformationen über einen OIDC Anbieter anfordern

Der AssumeRoleWithWebIdentityAPIVorgang gibt einen Satz temporärer Sicherheitsanmeldeinformationen für Verbundbenutzer zurück, die über einen öffentlichen Identitätsanbieter authentifiziert wurden. Beispiele für öffentliche Identitätsanbieter sind Login with Amazon, Facebook, Google oder ein anderer OpenID Connect (OIDC) -kompatibler Identitätsanbieter. Wenn Sie diesen Vorgang verwenden, benötigen Ihre Benutzer keine eigenen Identitäten AWS oder IAM Identitäten. Weitere Informationen finden Sie unter OIDCföderation.

Anmerkung

Anstatt direkt anzurufenAssumeRoleWithWebIdentity, empfehlen wir Ihnen, Amazon Cognito und den Amazon Cognito-Anmeldeinformationsanbieter mit dem AWS SDKs für die mobile Entwicklung zu verwenden. Weitere Informationen finden Sie unter Authentifizierung mit Amplify in der Amplify-Dokumentation.

Wenn Sie Amazon Cognito nicht verwenden, rufen Sie die AssumeRoleWithWebIdentity-Aktion von AWS STS auf.

  1. Aufrufen der AssumeRoleWithWebIdentity-Operation.

    Dies ist ein unsignierter Anruf, was bedeutet, dass Sie keine AWS Sicherheitsanmeldedaten authentifizieren müssen, bevor Sie die Anfrage stellen.

    Anmerkung

    Ein Aufruf an AssumeRoleWithWebIdentity ist nicht signiert (verschlüsselt). Daher sollten Sie diese optionale Sitzungsrichtlinie nur einschließen, wenn die Anforderung über einen vertrauenswürdigen Vermittler übertragen wird. In diesem Fall könnte jemand die Richtlinie ändern, um die Beschränkungen zu entfernen.

  2. Wenn Sie anrufenAssumeRoleWithWebIdentity, AWS wird die Echtheit des Tokens überprüft. Je nach Anbieter AWS können Sie beispielsweise den Anbieter anrufen und das Token angeben, das die App übergeben hat. Unter der Annahme, dass der Identitätsanbieter das Token validiert, werden Ihnen die folgenden Informationen AWS zurückgegeben:

    • Einen Satz temporärer Sicherheitsanmeldeinformationen. Diese bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungs-Token.

    • Die Rollen-ID und die ARN der übernommenen Rolle.

    • Ein SubjectFromWebIdentityToken-Wert mit der eindeutigen Benutzer-ID.

  3. Verwenden Sie die temporären Sicherheitsanmeldedaten, die in der Antwort zurückgegeben wurden, um AWS API Anrufe zu tätigen. Dies ist derselbe Vorgang wie das Tätigen eines AWS API Anrufs mit langfristigen Sicherheitsanmeldedaten. Der Unterschied besteht darin, dass Sie das Sitzungstoken angeben müssen, mit dem AWS überprüft werden kann, ob die temporären Sicherheitsanmeldedaten gültig sind.

Ihre App sollte die Anmeldeinformationen zwischenspeichern. Wie bereits erwähnt laufen die Anmeldeinformationen standardmäßig nach einer Stunde ab. Wenn Sie den mazonSTSCredentialsA-Provider-Vorgang in der nicht verwenden AWS SDK, liegt es an Ihnen und Ihrer App, AssumeRoleWithWebIdentity erneut aufzurufen. Rufen Sie diese Operation auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen zu erhalten, bevor die alten ablaufen.

Anmeldeinformationen über einen SAML 2.0-Identitätsanbieter anfordern

Der AssumeRoleWithSAMLAPIVorgang gibt einen Satz temporärer Sicherheitsanmeldeinformationen für Verbundbenutzer zurück, die über das bestehende Identitätssystem Ihrer Organisation authentifiziert wurden. Die Benutzer müssen außerdem SAML2.0 (Security Assertion Markup Language) verwenden, um Authentifizierungs- und Autorisierungsinformationen an sie weiterzugeben. AWS Dieser API Vorgang ist in Organisationen nützlich, die ihre Identitätssysteme (wie Windows Active Directory oder OpenLDAP) mit Software integriert haben, die Assertions erzeugen SAML kann. Eine solche Integration bietet Informationen über Benutzeridentität und Berechtigungen (wie Active Directory Federation Services oder Shibboleth). Weitere Informationen finden Sie unter SAML2.0-Föderation.

  1. Aufrufen der AssumeRoleWithSAML-Operation.

    Dies ist ein unsignierter Anruf, was bedeutet, dass Sie vor der Anforderung keine AWS Sicherheitsanmeldedaten authentifizieren müssen.

    Anmerkung

    Ein Aufruf an AssumeRoleWithSAML ist nicht signiert (verschlüsselt). Daher sollten Sie diese optionale Sitzungsrichtlinie nur einschließen, wenn die Anforderung über einen vertrauenswürdigen Vermittler übertragen wird. In diesem Fall könnte jemand die Richtlinie ändern, um die Beschränkungen zu entfernen.

  2. Wenn Sie anrufenAssumeRoleWithSAML, AWS wird die Echtheit der Assertion überprüft. SAML Unter der Annahme, dass der Identitätsanbieter die Assertion validiert, werden Ihnen die folgenden Informationen AWS zurückgegeben:

    • Einen Satz temporärer Sicherheitsanmeldeinformationen. Diese bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sitzungs-Token.

    • Die Rollen-ID und die ARN der übernommenen Rolle.

    • Ein Audience Wert, der den Wert des Recipient Attributs des SubjectConfirmationData Elements der SAML Assertion enthält.

    • Ein Issuer Wert, der den Wert des Issuer Elements der SAML Assertion enthält.

    • Ein NameQualifier Element, das einen Hashwert enthält, der aus dem Issuer Wert, der AWS-Konto ID und dem Anzeigenamen des SAML Anbieters gebildet wird. In Kombination mit dem Subject-Element können sie den Verbundbenutzer eindeutig identifizieren.

    • Ein Subject Element, das den Wert des NameID Elements im Subject Element der SAML Assertion enthält.

    • Ein SubjectType-Element, das das Format des Subject-Elements angibt. Der Wert kann persistenttransient, oder der vollständige Format URI Wert der in Ihrer NameID SAML Assertion verwendeten Elemente Subject und sein. Weitere Informationen zum NameID-Attribut des Format-Elements finden Sie unter SAMLAssertionen für die Authentifizierungsantwort konfigurieren.

  3. Verwenden Sie die temporären Sicherheitsanmeldedaten, die in der Antwort zurückgegeben wurden, um AWS API Anrufe zu tätigen. Dies ist derselbe Vorgang wie das Tätigen eines AWS API Anrufs mit langfristigen Sicherheitsanmeldedaten. Der Unterschied besteht darin, dass Sie das Sitzungstoken einschließen müssen, mit dem AWS überprüfen kann, dass die temporären Sicherheitsanmeldeinformationen gültig sind.

Ihre App sollte die Anmeldeinformationen zwischenspeichern. Standardmäßig laufen die Anmeldeinformationen nach einer Stunde ab. Wenn Sie die mazonSTSCredentialsA-Provider-Aktion in der nicht verwenden AWS SDK, liegt es an Ihnen und Ihrer App, AssumeRoleWithSAML erneut anzurufen. Rufen Sie diese Operation auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen zu erhalten, bevor die alten ablaufen.

Anmeldeinformationen über einen benutzerdefinierten Identity Broker anfordern

Der GetFederationTokenAPIVorgang gibt einen Satz temporärer Sicherheitsanmeldeinformationen für Verbundbenutzer zurück. Der API Unterschied besteht AssumeRole darin, dass die Standardablaufzeit wesentlich länger ist (12 Stunden statt einer Stunde). Außerdem können Sie den DurationSeconds- Parameter verwenden, um eine Dauer anzugeben, in der die temporären Sicherheitsanmeldeinformationen gültig bleiben. Die resultierenden Anmeldeinformationen sind für die angegebene Dauer gültig, zwischen 900 Sekunden (15 Minuten) und 129.600 Sekunden (36 Stunden). Der längere Ablaufzeitraum kann dazu beitragen, die Anzahl der Anrufe zu reduzieren AWS , da Sie nicht so oft neue Anmeldeinformationen abrufen müssen.

  1. Authentifizieren Sie sich mit den AWS Sicherheitsanmeldedaten Ihres spezifischen IAM Benutzers. Dieser Anruf muss mit gültigen AWS Sicherheitsanmeldedaten erfolgen.

  2. Aufrufen der GetFederationToken-Operation.

Der GetFederationToken-Aufruf gibt temporäre Sicherheitsanmeldeinformationen zurück, die aus dem Sitzungstoken, dem Zugriffsschlüssel, dem geheimen Schlüssel und dem Ablaufdatum bestehen. Sie können GetFederationToken verwenden, wenn Sie Berechtigungen in Ihrer Organisation verwalten möchten (z. B. mithilfe der Proxy-Anwendung für die Zuweisung von Berechtigungen).

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit GetFederationToken gezeigt. Diese Beispielanforderung verbindet den aufrufenden Benutzer für die angegebene Dauer mit der Sitzungsrichtlinie ARN und den Sitzungs-Tags. Die resultierende Sitzung wird als Jane-session bezeichnet.

Beispielanforderung
https://sts.amazonaws.com/ ?Version=2011-06-15 &Action=GetFederationToken &Name=Jane-session &PolicyArns.member.1.arn==arn%3Aaws%3Aiam%3A%3A123456789012%3Apolicy%2FRole1policy &DurationSeconds=1800 &Tags.member.1.Key=Project &Tags.member.1.Value=Pegasus &Tags.member.2.Key=Cost-Center &Tags.member.2.Value=12345 &AUTHPARAMS

Die im vorherigen Beispiel ARN gezeigte Richtlinie beinhaltet Folgendes in URL ARN -kodierter Form:

arn:aws:iam::123456789012:policy/Role1policy

Beachten Sie außerdem, dass der &AUTHPARAMS-Parameter im Beispiel als Platzhalter für die Authentifizierungsinformationen gedacht ist. Dies ist die Signatur, die Sie Anfragen beifügen müssen. AWS HTTP API Wir empfehlen, die AWS SDKszum Erstellen von API Anfragen zu verwenden. Ein Vorteil dabei ist, dass sie das Signieren von SDKs Anfragen für Sie übernimmt. Wenn Sie API Anfragen manuell erstellen und signieren müssen, finden Sie unter Signieren von AWS Anfragen mithilfe von Signature Version 4 in der Allgemeine Amazon Web Services-Referenz, wie Sie eine Anfrage signieren.

Zusätzlich zu den temporären Sicherheitsanmeldedaten enthält die Antwort den Amazon-Ressourcennamen (ARN) für den Verbundbenutzer und die Ablaufzeit der Anmeldeinformationen.

Beispielantwort
<GetFederationTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <GetFederationTokenResult> <Credentials> <SessionToken> AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQW LWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGd QrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU 9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz +scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCEXAMPLE== </SessionToken> <SecretAccessKey> wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY </SecretAccessKey> <Expiration>2019-04-15T23:28:33.359Z</Expiration> <AccessKeyId>AKIAIOSFODNN7EXAMPLE;</AccessKeyId> </Credentials> <FederatedUser> <Arn>arn:aws:sts::123456789012:federated-user/Jean</Arn> <FederatedUserId>123456789012:Jean</FederatedUserId> </FederatedUser> <PackedPolicySize>4</PackedPolicySize> </GetFederationTokenResult> <ResponseMetadata> <RequestId>c6104cbe-af31-11e0-8154-cbc7ccf896c7</RequestId> </ResponseMetadata> </GetFederationTokenResponse>
Anmerkung

Bei einer AWS Konvertierung werden die übergebenen Sitzungsrichtlinien und Sitzungs-Tags in ein gepacktes Binärformat komprimiert, für das ein separates Limit gilt. Ihre Anforderung kann für diese Begrenzung fehlschlagen, selbst wenn Ihr Nur-Text-Inhalt die übrigen Anforderungen erfüllt. Das PackedPolicySize-Antwortelement gibt in Prozent an, wie nah die Richtlinien und Tags für Ihre Anforderung an der oberen Größengrenze liegen.

AWS empfiehlt, dass Sie Berechtigungen auf Ressourcenebene gewähren (wenn Sie beispielsweise eine ressourcenbasierte Richtlinie an einen Amazon S3 S3-Bucket anhängen). Sie können den Parameter weglassen. Policy Wenn Sie jedoch keine Richtlinie für den Verbundbenutzer einschließen, werden über die temporären Sicherheitsanmeldeinformationen keine Berechtigungen erteilt. In diesem Fall müssen Sie Ressourcenrichtlinien verwenden, um dem Verbundbenutzer Zugriff auf Ihre AWS -Ressourcen zu gewähren.

Nehmen wir zum Beispiel an, Ihre AWS-Konto Nummer ist 111122223333 und Sie haben einen Amazon S3 S3-Bucket, auf den Sie Susan Zugriff gewähren möchten. Susans temporäre Sicherheitsanmeldeinformationen enthalten keine Richtlinie für den Bucket. In diesem Fall müssten Sie sicherstellen, dass für den Bucket eine Richtlinie gilt, deren Richtlinie mit der von ARN Susan übereinstimmtARN, z. B. arn:aws:sts::111122223333:federated-user/Susan

Anmeldeinformationen für Benutzer in nicht vertrauenswürdigen Umgebungen anfordern

Der GetSessionTokenAPIVorgang gibt einen Satz temporärer Sicherheitsanmeldeinformationen an einen vorhandenen IAM Benutzer zurück. Dies ist nützlich, um mehr Sicherheit zu bieten, z. B. AWS Anfragen nur zuzulassen, wenn dies für den IAM Benutzer aktiviert MFA ist. Da die Anmeldeinformationen temporär sind, bieten sie mehr Sicherheit, wenn ein IAM Benutzer über eine weniger sichere Umgebung auf Ihre Ressourcen zugreift. Beispiele für weniger sicheren Umgebungen sind ein mobiles Gerät oder ein Webbrowser.

  1. Authentifizieren Sie sich mit den AWS Sicherheitsanmeldeinformationen Ihres spezifischen IAM Benutzers. Dieser Anruf muss mit gültigen AWS Sicherheitsanmeldedaten erfolgen.

  2. Aufrufen der GetSessionToken-Operation.

  3. GetSessionToken gibt temporäre Sicherheitsanmeldeinformationen bestehend aus einem Sitzungstoken, einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel zurück.

Standardmäßig sind temporäre Sicherheitsanmeldeinformationen für einen IAM Benutzer maximal 12 Stunden gültig. Sie können jedoch mit dem DurationSeconds-Parameter die Dauer beliebig zwischen 15 Minuten und 36 Stunden festlegen. Aus Sicherheitsgründen Root-Benutzer des AWS-Kontos ist ein Token für einen auf eine Dauer von einer Stunde beschränkt.

Im folgenden Beispiel wird eine Beispielanforderung und -antwort mit GetSessionToken gezeigt. Die Antwort umfasst auch die Ablaufzeit der temporären Sicherheitsanmeldeinformationen.

Beispielanforderung
https://sts.amazonaws.com/ ?Version=2011-06-15 &Action=GetSessionToken &DurationSeconds=1800 &AUTHPARAMS

Der AUTHPARAMS-Parameter in diesem Beispiel ist ein Platzhalter für Ihre Signatur. Eine Signatur ist die Authentifizierungsinformation, die Sie AWS HTTP API Anfragen beifügen müssen. Wir empfehlen die Verwendung von, AWS SDKsum API Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie das Signieren von SDKs Anfragen für Sie übernimmt. Wenn Sie API Anfragen manuell erstellen und signieren müssen, finden Sie unter Signieren von AWS Anfragen mithilfe von Signature Version 4 in der Allgemeine Amazon Web Services-Referenz, wie Sie eine Anfrage signieren.

Beispielantwort
<GetSessionTokenResponse xmlns="https://sts.amazonaws.com/doc/2011-06-15/"> <GetSessionTokenResult> <Credentials> <SessionToken> AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/L To6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3z rkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtp Z3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE </SessionToken> <SecretAccessKey> wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY </SecretAccessKey> <Expiration>2011-07-11T19:55:29.611Z</Expiration> <AccessKeyId>AKIAIOSFODNN7EXAMPLE</AccessKeyId> </Credentials> </GetSessionTokenResult> <ResponseMetadata> <RequestId>58c5dbae-abef-11e0-8cfe-09039844ac7d</RequestId> </ResponseMetadata> </GetSessionTokenResponse>

Optional kann die GetSessionToken Anfrage TokenCode Werte für die Überprüfung der AWS Multi-Faktor-Authentifizierung (MFA) enthaltenSerialNumber. Wenn die angegebenen Werte gültig sind, werden temporäre Sicherheitsanmeldedaten AWS STS bereitgestellt, die den MFA Authentifizierungsstatus enthalten. Die temporären Sicherheitsanmeldedaten können dann für den Zugriff auf die MFA -geschützten API Vorgänge oder AWS Websites verwendet werden, solange die MFA Authentifizierung gültig ist.

Das folgende Beispiel zeigt eine GetSessionToken Anfrage, die einen MFA Bestätigungscode und eine Geräteseriennummer enthält.

https://sts.amazonaws.com/ ?Version=2011-06-15 &Action=GetSessionToken &DurationSeconds=7200 &SerialNumber=YourMFADeviceSerialNumber &TokenCode=123456 &AUTHPARAMS
Anmerkung

Der Anruf an AWS STS kann an den globalen Endpunkt oder an einen der regionalen Endpunkte erfolgen, den Sie AWS-Konto aktivieren. Weitere Informationen finden Sie im AWS STS -Abschnitt von Regionen und Endpunkte.

Der AUTHPARAMS-Parameter in diesem Beispiel ist ein Platzhalter für Ihre Signatur. Eine Signatur ist die Authentifizierungsinformation, die Sie AWS HTTP API Anfragen beifügen müssen. Wir empfehlen die Verwendung von, AWS SDKsum API Anfragen zu erstellen. Ein Vorteil dabei ist, dass sie das Signieren von SDKs Anfragen für Sie übernimmt. Wenn Sie API Anfragen manuell erstellen und signieren müssen, finden Sie unter Signieren von AWS Anfragen mithilfe von Signature Version 4 in der Allgemeine Amazon Web Services-Referenz, wie Sie eine Anfrage signieren.