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.
Anfordern temporärer Sicherheitsanmeldeinformationen
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 IAM Sicherheitsanmeldeinformationen. Weitere Informationen zu den verschiedenen Methoden, die Sie verwenden können, um temporäre Anmeldeinformationen anzufordern, indem Sie eine Rolle übernehmen, finden Sie unter IAMRollen verwenden.
Um die API Operationen aufzurufen, können Sie einen der verwenden AWS SDKs
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 Verwaltung AWS STS in einem AWS-Region.
Im Folgenden finden Sie die API Operationen, mit denen Sie temporäre Anmeldeinformationen für die Verwendung in Ihrer AWS Umgebung und Ihren Anwendungen abrufen können.
AssumeRole - Kontenübergreifende Delegation und Föderation durch einen benutzerdefinierten Identity Broker
Dieser AssumeRole
API Vorgang 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 Vergleich der AWS STS API Operationen. Weitere Informationen finden Sie unter Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer und Konfigurieren eines MFA-geschützten API-Zugriffs.
Dieser Aufruf muss mit gültigen AWS Sicherheitsanmeldedaten erfolgen. Wenn Sie diesen Aufruf machen, geben Sie die folgenden Informationen weiter:
-
Der Amazon-Ressourcenname (ARN) der Rolle, die die App annehmen soll.
-
(Optional) Die Dauer, die die Gültigkeitsdauer der temporären Sicherheitsanmeldeinformationen angibt. Verwenden Sie den
DurationSeconds
-Parameter, um die Dauer der Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter Anzeigen der maximalen Sitzungsdauer für eine Rolle. Wenn Sie diesen Parameter nicht übergeben, laufen die temporären Anmeldeinformationen in einer Stunde ab. DieserDurationSeconds
Parameter unterscheidet API sich von demSessionDuration
HTTP Parameter, mit dem Sie die Dauer einer Konsolensitzung angeben. Verwenden Sie denSessionDuration
HTTP Parameter in der Anfrage an den Verbundendpunkt für ein Konsolen-Anmeldetoken. Weitere Informationen finden Sie unter Aktivieren des benutzerdefinierten Identity Broker-Zugriffs auf die AWS Konsole. -
Rollensitzungsname. Verwenden Sie diesen Zeichenfolgenwert, um die Sitzung zu identifizieren, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird. Aus Sicherheitsgründen können Administratoren dieses Feld in AWS CloudTrail -Protokollen anzeigen, um festzustellen, wer eine Aktion in AWS ausgeführt hat. Ihr Administrator verlangt möglicherweise, dass Sie Ihren IAM Benutzernamen als Sitzungsnamen angeben, wenn Sie die Rolle übernehmen. Weitere Informationen finden Sie unter sts:RoleSessionName.
-
(Optional) Die Quellentität. Sie können festlegen, dass Benutzer eine Quellidentität angeben müssen, wenn sie eine Rolle übernehmen. Nachdem die Quellidentität festgelegt wurde, kann der Wert nicht geändert werden. Es ist in der Anforderung für alle Aktionen vorhanden, die während der Rollensitzung ausgeführt werden. Der Quellidentitätswert bleibt über Verketten von Rollen-Sitzungen. Sie können Informationen zur Quellenidentität in AWS CloudTrail Protokollen verwenden, um festzustellen, wer mit einer Rolle Aktionen ausgeführt hat. Weitere Informationen zur Verwendung von identitätsbasierten Richtlinien finden Sie unter Überwachen und Steuern von Aktionen mit übernommenen Rollen.
-
(Optional) Eingebundene oder verwaltete Sitzungsrichtlinien. Diese Richtlinien beschränken die Berechtigungen der identitätsbasierten Richtlinie der Rolle, die der Rollensitzung zugeordnet sind. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität des Benutzers oder der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter Sitzungsrichtlinien.
-
(Optional) Sitzungs-Tags. Sie können eine Rolle übernehmen und dann die temporären Anmeldeinformationen verwenden, um eine Anforderung zu stellen. Wenn Sie dies tun, enthalten die Auftraggebertags der Sitzung die Tags der Rolle und die übergebenen Sitzungs-Tags. Wenn Sie diesen Aufruf mit temporären Anmeldeinformationen tätigen, übernimmt die neue Sitzung auch transitive Sitzungs-Tags von der aufrufenden Sitzung. Weitere Hinweise zu Sitzungs-Tags finden Sie unter Sitzungs-Tags übergeben AWS STS.
-
(Optionale) MFA Informationen. Wenn Sie für die Verwendung der Multi-Faktor-Authentifizierung (MFA) konfiguriert sind, geben Sie die Kennung für ein MFA Gerät und den von diesem Gerät bereitgestellten Einmalcode an.
-
(Optional) Ein
ExternalId
-Wert, der verwendet werden kann, wenn der Zugriff auf Ihr Konto an einen Dritten delegiert wird. Durch diesen Wert wird sichergestellt, dass nur der angegebene Dritte auf die Rolle zugreifen kann. Weitere Informationen finden Sie unter So verwenden Sie eine externe ID, wenn Sie Dritten Zugriff auf Ihre AWS Ressourcen gewähren.
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 SDKs
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.
AssumeRoleWithWebIdentity - Verbund über einen webbasierten Identitätsanbieter
Der AssumeRoleWithWebIdentity
API Vorgang 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. Dieser Vorgang ist nützlich, um mobile Anwendungen oder clientbasierte Webanwendungen zu erstellen, für die Zugriff erforderlich ist. AWS Wenn Sie diesen Vorgang verwenden, benötigen Ihre Benutzer keine eigenen IAM Identitäten AWS oder Identitäten. Weitere Informationen finden Sie unter OIDC-Föderation.
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
Wenn Sie Amazon Cognito nicht verwenden, rufen Sie die AssumeRoleWithWebIdentity
-Aktion von AWS STS auf. Hierbei handelt es sich um einen nicht signierten Aufruf. Das bedeutet, dass die Anwendung keinen Zugriff auf AWS -Sicherheitsanmeldeinformationen haben muss, um den Aufruf zu senden. Wenn Sie diesen Aufruf machen, geben Sie die folgenden Informationen weiter:
-
Der Amazon-Ressourcenname (ARN) der Rolle, die die App annehmen soll. Wenn Ihre App mehrere Möglichkeiten für das Anmelden der Benutzer unterstützt, müssen Sie mehrere Rollen definieren, eine pro Identitätsanbieter. Der Aufruf an
AssumeRoleWithWebIdentity
sollte die ARN Rolle enthalten, die für den Anbieter spezifisch ist, über den sich der Benutzer angemeldet hat. -
Das Token, das die App vom Identitätsanbieter erhält, nachdem sie den Benutzer authentifiziert hat.
-
Sie können Ihren IdP so konfigurieren, dass Attribute als Sitzungs-Tags an Ihr Token übergeben werden.
-
(Optional) Die Dauer, die die Gültigkeitsdauer der temporären Sicherheitsanmeldeinformationen angibt. Verwenden Sie den
DurationSeconds
-Parameter, um die Dauer der Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter Anzeigen der maximalen Sitzungsdauer für eine Rolle. Wenn Sie diesen Parameter nicht übergeben, laufen die temporären Anmeldeinformationen in einer Stunde ab. DieserDurationSeconds
Parameter unterscheidet API sich von demSessionDuration
HTTP Parameter, mit dem Sie die Dauer einer Konsolensitzung angeben. Verwenden Sie denSessionDuration
HTTP Parameter in der Anfrage an den Verbundendpunkt für ein Konsolen-Anmeldetoken. Weitere Informationen finden Sie unter Aktivieren des benutzerdefinierten Identity Broker-Zugriffs auf die AWS Konsole. -
Rollensitzungsname. Verwenden Sie diesen Zeichenfolgenwert, um die Sitzung zu identifizieren, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird. Aus Sicherheitsgründen können Administratoren dieses Feld in AWS CloudTrail -Protokollen anzeigen, um festzustellen, wer eine Aktion in AWS ausgeführt hat. Ihr Administrator erfordert möglicherweise, dass Sie einen bestimmten Wert für den Sitzungsnamen angeben, wenn Sie die Rolle übernehmen. Weitere Informationen finden Sie unter sts:RoleSessionName.
-
(Optional) Die Quellentität. Sie können von Verbundbenutzern verlangen, dass sie eine Quellidentität angeben, wenn sie eine Rolle übernehmen. Nachdem die Quellidentität festgelegt wurde, kann der Wert nicht geändert werden. Es ist in der Anforderung für alle Aktionen vorhanden, die während der Rollensitzung ausgeführt werden. Der Quellidentitätswert bleibt über Verketten von Rollen-Sitzungen. Sie können Quellidentitätsinformationen in AWS CloudTrail Protokollen verwenden, um festzustellen, wer mit einer Rolle Aktionen ausgeführt hat. Weitere Informationen zur Verwendung von identitätsbasierten Richtlinien finden Sie unter Überwachen und Steuern von Aktionen mit übernommenen Rollen.
-
(Optional) Eingebundene oder verwaltete Sitzungsrichtlinien. Diese Richtlinien beschränken die Berechtigungen der identitätsbasierten Richtlinie der Rolle, die der Rollensitzung zugeordnet sind. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität des Benutzers oder der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter Sitzungsrichtlinien.
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.
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.
Wenn Sie über die temporären Sicherheitsanmeldedaten verfügen, können Sie sie für AWS API Anrufe verwenden. 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. Wie bereits erwähnt laufen die Anmeldeinformationen standardmäßig nach einer Stunde ab. Wenn Sie den mazonSTSCredentialsA-Provider-VorgangAssumeRoleWithWebIdentity
erneut anzurufen. Rufen Sie diese Operation auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen zu erhalten, bevor die alten ablaufen.
AssumeRoleWithSAML—Verbund über einen Enterprise Identity Provider, der mit SAML 2.0 kompatibel ist
Der AssumeRoleWithSAML
API Vorgang 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 SAML
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.
Hierbei handelt es sich um einen nicht signierten Aufruf, was bedeutet, dass die Anwendung keinen Zugriff auf AWS -Sicherheitsanmeldeinformationen benötigt, um den Aufruf zu tätigen. Wenn Sie diesen Aufruf machen, geben Sie die folgenden Informationen weiter:
-
Der Amazon-Ressourcenname (ARN) der Rolle, die die App annehmen soll.
-
Der ARN des SAML Anbieters, der in erstellt wurdeIAM, beschreibt den Identitätsanbieter.
-
Die in Base64 codierte SAML Assertion, die vom SAML Identitätsanbieter in seiner Authentifizierungsantwort auf die Anmeldeanforderung Ihrer App bereitgestellt wurde.
-
Sie können Ihren IdP so konfigurieren, dass er Attribute als Sitzungs-Tags an Ihre SAML Assertion weitergibt.
-
(Optional) Die Dauer, die die Gültigkeitsdauer der temporären Sicherheitsanmeldeinformationen angibt. Verwenden Sie den
DurationSeconds
-Parameter, um die Dauer der Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter Anzeigen der maximalen Sitzungsdauer für eine Rolle. Wenn Sie diesen Parameter nicht übergeben, laufen die temporären Anmeldeinformationen in einer Stunde ab. DerDurationSeconds
Parameter API ist unabhängig von demSessionDuration
HTTP Parameter, mit dem Sie die Dauer einer Konsolensitzung angeben. Verwenden Sie denSessionDuration
HTTP Parameter in der Anfrage an den Verbundendpunkt für ein Konsolen-Anmeldetoken. Weitere Informationen finden Sie unter Aktivieren des benutzerdefinierten Identity Broker-Zugriffs auf die AWS Konsole. -
(Optional) Eingebundene oder verwaltete Sitzungsrichtlinien. Diese Richtlinien beschränken die Berechtigungen der identitätsbasierten Richtlinie der Rolle, die der Rollensitzung zugeordnet sind. Die resultierenden Sitzungsberechtigungen sind eine Schnittmenge der auf der Identität des Benutzers oder der Rolle basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter Sitzungsrichtlinien.
-
Rollensitzungsname. Verwenden Sie diesen Zeichenfolgenwert, um die Sitzung zu identifizieren, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird. Aus Sicherheitsgründen können Administratoren dieses Feld in AWS CloudTrail -Protokollen anzeigen, um festzustellen, wer eine Aktion in AWS ausgeführt hat. Ihr Administrator erfordert möglicherweise, dass Sie einen bestimmten Wert für den Sitzungsnamen angeben, wenn Sie die Rolle übernehmen. Weitere Informationen finden Sie unter sts:RoleSessionName.
-
(Optional) Die Quellentität. Sie können von Verbundbenutzern verlangen, dass sie eine Quellidentität angeben, wenn sie eine Rolle übernehmen. Nachdem die Quellidentität festgelegt wurde, kann der Wert nicht geändert werden. Es ist in der Anforderung für alle Aktionen vorhanden, die während der Rollensitzung ausgeführt werden. Der Quellidentitätswert bleibt über Verketten von Rollen-Sitzungen. Sie können Quellidentitätsinformationen in AWS CloudTrail Protokollen verwenden, um festzustellen, wer mit einer Rolle Aktionen ausgeführt hat. Weitere Informationen zur Verwendung von identitätsbasierten Richtlinien finden Sie unter Überwachen und Steuern von Aktionen mit übernommenen Rollen.
Wenn Sie anrufenAssumeRoleWithSAML
, AWS wird die Echtheit der SAML Behauptung überprüft. 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 desRecipient
Attributs desSubjectConfirmationData
Elements der SAML Assertion enthält. -
Ein
Issuer
Wert, der den Wert desIssuer
Elements der SAML Assertion enthält. -
Ein
NameQualifier
Element, das einen Hashwert enthält, der aus demIssuer
Wert, der AWS-Konto ID und dem Anzeigenamen des SAML Anbieters gebildet wird. In Kombination mit demSubject
-Element können sie den Verbundbenutzer eindeutig identifizieren. -
Ein
Subject
Element, das den Wert desNameID
Elements imSubject
Element der SAML Assertion enthält. -
Ein
SubjectType
-Element, das das Format desSubject
-Elements angibt. Der Wert kannpersistent
transient
, oder der vollständigeFormat
URI Wert der in IhrerNameID
SAML Assertion verwendeten ElementeSubject
und sein. Weitere Informationen zumNameID
-Attribut desFormat
-Elements finden Sie unter SAMLAssertionen für die Authentifizierungsantwort konfigurieren.
Wenn Sie über die temporären Sicherheitsanmeldedaten verfügen, können Sie sie für AWS API Anrufe verwenden. 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-AktionAssumeRoleWithSAML
erneut anzurufen. Rufen Sie diese Operation auf, um einen neuen Satz an temporären Sicherheitsanmeldeinformationen zu erhalten, bevor die alten ablaufen.
GetFederationToken - Verbund durch einen benutzerdefinierten Identity Broker
Der GetFederationToken
API Vorgang 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.
Wenn Sie diese Anfrage stellen, verwenden Sie die Anmeldeinformationen eines bestimmten IAM Benutzers. Die Berechtigungen für die temporären Sicherheitsanmeldeinformationen werden von den Sitzungsrichtlinien bestimmt, die Sie beim Aufruf von GetFederationToken
übergeben. Die daraus resultierenden Sitzungsberechtigungen stellen die Schnittmenge zwischen den IAM Benutzerrichtlinien und den Sitzungsrichtlinien dar, die Sie übergeben. Sitzungsrichtlinien können nicht verwendet werden, um mehr Berechtigungen zu gewähren, als in der identitätsbasierten Richtlinie des IAM Benutzers, der den Verbund anfordert, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter Sitzungsrichtlinien.
Wenn Sie die temporären Anmeldeinformationen verwenden, die von der GetFederationToken
-Operation zurückgegeben werden, enthalten die Auftraggeber-Tags der Sitzung die Tags des Benutzers und die übergebenen Sitzungs-Tags. Weitere Hinweise zu Sitzungs-Tags finden Sie unter Sitzungs-Tags übergeben AWS STS.
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. In dieser Beispielanforderung wird der aufrufende Benutzer für die angegebene Dauer mit der Sitzungsrichtlinie ARN und den Sitzungs-Tags verbunden. 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 SDKs
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
GetSessionToken - vorläufige Anmeldedaten für Benutzer in nicht vertrauenswürdigen Umgebungen
Der GetSessionToken
API Vorgang 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. Weitere Informationen finden Sie unter Anfordern temporärer Sicherheitsanmeldeinformationen oder GetSessionTokenin der AWS Security Token Service APIReferenz.
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.
GetSessionToken
gibt temporäre Sicherheitsanmeldeinformationen bestehend aus einem Sitzungstoken, einer Zugriffsschlüssel-ID und einem geheimen Zugriffsschlüssel zurück. 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 SDKs
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 SDKs
Vergleich der AWS STS API Operationen
In der folgenden Tabelle werden die Funktionen der API Operationen verglichen AWS STS , bei denen temporäre Sicherheitsanmeldeinformationen zurückgegeben werden. Weitere Informationen zu den verschiedenen Methoden, die Sie verwenden können, um temporäre Anmeldeinformationen anzufordern, indem Sie eine Rolle übernehmen, finden Sie unter IAMRollen verwenden. Informationen zu den verschiedenen AWS STS API Vorgängen, mit denen Sie Sitzungs-Tags übergeben können, finden Sie unterSitzungs-Tags übergeben AWS STS.
AWS STS API | Wer kann aufrufen? | Lebensdauer der Anmeldeinformationen (min | max | Standard) | MFAUnterstützung ¹ | Sitzungsrichtlinienunterstützung² | Einschränkungen bei den sich ergebenden temporären Anmeldeinformationen |
---|---|---|---|---|---|
AssumeRole | IAMBenutzer oder IAM Rolle mit vorhandenen temporären Sicherheitsanmeldedaten | 15 Min. | Maximale Sitzungsdauer³ | 1 Std. | Ja | Ja |
Kein Aufruf von |
AssumeRoleWithSAML | Jeder Benutzer oder Anrufer muss eine SAML Authentifizierungsantwort übergeben, die auf die Authentifizierung durch einen bekannten Identitätsanbieter hinweist | 15 Min. | Maximale Sitzungsdauer³ | 1 Std. | Nein | Ja |
Kein Aufruf von |
AssumeRoleWithWebIdentity | Jeder Benutzer oder Anrufer muss ein OIDC konformes JWT Token übergeben, das auf die Authentifizierung durch einen bekannten Identitätsanbieter hinweist | 15 Min. | Maximale Sitzungsdauer³ | 1 Std. | Nein | Ja |
Kein Aufruf von |
GetFederationToken | IAMBenutzer oder Root-Benutzer des AWS-Kontos |
IAMBenutzer: 15 m | 36 h | 12 h Stammbenutzer: 15 Min. | 1 Stunde | 1 Stunde |
Nein | Ja |
IAMOperationen können nicht mit AWS CLI oder aufgerufen AWS API werden. Diese Beschränkung gilt nicht für Konsolensitzungen. Es können keine AWS STS Operationen außer SSOzur Konsole ist erlaubt.359 |
GetSessionToken | IAMBenutzer oder Root-Benutzer des AWS-Kontos |
IAMBenutzer: 15 m | 36 h | 12 h Stammbenutzer: 15 Min. | 1 Stunde | 1 Stunde |
Ja | Nein |
IAMAPIOperationen können nur aufgerufen werden, wenn die Anfrage MFA Informationen enthält. AWS STS APIOperationen außer SSOzur Konsole zu gehen ist nicht erlaubt.356 |
¹ Unterstützung. MFA Sie können Informationen über ein Gerät mit Multi-Faktor-Authentifizierung (MFA) angeben, wenn Sie die GetSessionToken API Funktionen AssumeRole und aufrufen. Dadurch wird sichergestellt, dass die temporären Sicherheitsanmeldedaten, die sich aus dem API Anruf ergeben, nur von Benutzern verwendet werden können, die mit einem MFA Gerät authentifiziert sind. Weitere Informationen finden Sie unter Konfigurieren eines MFA-geschützten API-Zugriffs.
² Sitzungsrichtlinienunterstützung. Sitzungsrichtlinien sind Richtlinien, die Sie als Parameter übergeben, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer programmgesteuert erstellen. Diese Richtlinie beschränkt die Berechtigungen der identitätsbasierten Richtlinie der Rolle oder des Benutzers, die bzw. der der Sitzung zugeordnet ist. Die resultierenden Sitzungsberechtigungen bilden die Schnittmenge der auf der Identität der Entity basierenden Richtlinien und der Sitzungsrichtlinien. Sie können mit Sitzungsrichtlinien nicht mehr Berechtigungen erteilen, als durch die identitätsbasierte Richtlinie der Rolle, die angenommen wird, zulässig sind. Weitere Informationen über Rollensitzungsberechtigungen finden Sie unter Sitzungsrichtlinien.
³ Einstellung der maximalen Sitzungsdauer. Verwenden Sie den DurationSeconds
-Parameter, um die Dauer Ihrer Rollensitzung von 900 Sekunden (15 Minuten) bis zur maximalen Sitzungsdauer für die Rolle anzugeben. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter Anzeigen der maximalen Sitzungsdauer für eine Rolle.
² GetCallerIdentity. Für diese Operation sind keine Berechtigungen erforderlich. Wenn ein Administrator Ihrem IAM Benutzer oder Ihrer Rolle eine Richtlinie hinzufügt, die den Zugriff auf die sts:GetCallerIdentity
Aktion ausdrücklich verweigert, können Sie diesen Vorgang trotzdem ausführen. Berechtigungen sind nicht erforderlich, da dieselben Informationen zurückgegeben werden, wenn einem IAM Benutzer oder einer Rolle der Zugriff verweigert wird. Eine Beispielantwort finden Sie unter Ich bin nicht berechtigt, Folgendes auszuführen: iam: MFADevice DeleteVirtual.
¹ Single Sign-On (SSO) für die Konsole. Zur Unterstützung SSO AWS können Sie einen Verbundendpunkt (https://signin.aws.amazon.com/federation
) aufrufen und temporäre Sicherheitsanmeldedaten übergeben. Der Endpunkt gibt ein Token zurück, mit dem Sie ein Token erstellen könnenURL, das einen Benutzer direkt an der Konsole anmeldet, ohne dass ein Passwort erforderlich ist. Weitere Informationen finden Sie unter Aktivieren des Zugriffs von SAML 2.0-Verbundbenutzern auf AWS Management Console und So aktivieren Sie den kontoübergreifenden Zugriff auf die AWS Managementkonsole
Nachdem Sie Ihre temporären Anmeldeinformationen abgerufen haben, können Sie nicht mehr auf die zugreifen, AWS Management Console indem Sie die Anmeldeinformationen an den Single Sign-On-Endpunkt des Verbunds weitergeben. Weitere Informationen finden Sie unter Aktivieren des benutzerdefinierten Identity Broker-Zugriffs auf die AWS Konsole.