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.
IAMund AWS STS Bedingungskontexttasten
Sie können das Condition
Element in einer JSON Richtlinie verwenden, um den Wert von Schlüsseln zu testen, die im Anforderungskontext aller AWS Anfragen enthalten sind. Diese Schlüssel enthalten Informationen zu der Anforderung selbst oder zu den Ressourcen, die die Anforderung referenziert. Sie können die Schlüssel auf bestimmte Werte überprüfen, bevor Sie die angeforderte Aktion zulassen. Auf diese Weise haben Sie eine detaillierte Kontrolle darüber, wann Ihre JSON Richtlinienaussagen mit einer eingehenden Anfrage übereinstimmen oder nicht. Informationen zur Verwendung des Condition
Elements in einer JSON Richtlinie finden Sie unterIAM-JSON-Richtlinienelemente: Condition.
In diesem Thema werden die Schlüssel beschrieben, die vom IAM Dienst (mit einem iam:
Präfix) und dem Dienst AWS Security Token Service (AWS STS) (mit einem sts:
Präfix) definiert und bereitgestellt werden. Verschiedene andere AWS Dienste stellen ebenfalls dienstspezifische Schlüssel bereit, die für die von diesem Dienst definierten Aktionen und Ressourcen relevant sind. Weitere Informationen finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für AWS Dienste. Weitere Informationen zu den unterstützten Bedingungsschlüsseln können Sie meist der Dokumentation des jeweiligen Service entnehmen. Weitere Informationen zu Schlüsseln, die Sie in Richtlinien für Amazon-S3-Ressourcen verwenden können, finden Sie beispielsweise unter Amazon-S3-Richtlinienschlüssel im Benutzerhandbuch für Amazon Simple Storage Service.
Themen
Verfügbare Schlüssel für IAM
Sie können die folgenden Bedingungsschlüssel in Richtlinien verwenden, die zur Zugriffssteuerung auf IAM-Ressourcen genutzt werden:
- Ich bin: AssociatedResourceArn
-
Funktioniert mit ARNOperatoren.
Gibt ARN die Ressource an, der diese Rolle im Zieldienst zugeordnet wird. Die Ressource gehört normalerweise zu dem Service, an den der Auftraggeber die Rolle übergibt. Manchmal kann die Ressource zu einem dritten Service gehören. Sie könnten beispielsweise eine Rolle an Amazon EC2 Auto Scaling übergeben, die sie auf einer EC2 Amazon-Instance verwenden. In diesem Fall würde die Bedingung mit der ARN der EC2 Amazon-Instance übereinstimmen.
Dieser Bedingungsschlüssel gilt nur für die PassRoleAktion in einer Richtlinie. Er kann nicht verwendet werden, um eine andere Aktion zu beschränken.
Wichtig
Wenn die
iam:AssociatedResourceArn
Bedingung in einer Richtlinie verwendet wird, um die PassRoleAktion einzuschränken, gelten besondere Überlegungen, wenn die Richtlinie den Zugriff für die AddRoleToInstanceProfileAktion definieren soll. In diesem Fall können Sie in der Instanz keine Regions- oder EC2 Instanz-ID angebenARN. Der ARN-Wert mussarn:aws:ec2:*:CallerAccountId:instance/*
lauten. Die Verwendung eines anderen ARN Werts kann zu unerwarteten Bewertungsergebnissen führen.Verwenden Sie diesen Bedingungsschlüssel in einer identitätsbasierten Richtlinie, um einer Entität die Übergabe einer Rolle zu gestatten, jedoch nur, wenn diese Rolle der angegebenen Ressource zugeordnet ist. Sie können beispielsweise zulassen, dass ein IAM Benutzer oder eine Rolle eine beliebige Rolle an den EC2 Amazon-Service weitergibt, der mit Instances in der verwendet werden kann AWS-Konto. Der IAM Benutzer oder die Rolle darf keine Rollen an andere Dienste weitergeben.
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" }, "ArnLike": { "iam:AssociatedResourceARN": [ "arn:aws:ec2:*:111122223333:instance/*" ] } } }
Anmerkung
AWS Dienste, die iam: unterstützen, unterstützen PassedToService auch diesen Bedingungsschlüssel.
- Ich bin: AWSServiceName
-
Funktioniert mit Zeichenfolgenoperatoren.
Gibt den AWS Dienst an, dem diese Rolle zugewiesen ist.
In diesem Beispiel erlauben Sie einer Entität das Erstellen einer serviceverknüpften Rolle, wenn der Servicename access-analyzer.amazonaws.com. lautet.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "access-analyzer.amazonaws.com" } } }] }
- iam: FIDO -Zertifizierung
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft die FIDO Zertifizierungsstufe des MFA Geräts zum Zeitpunkt der Registrierung eines FIDO Sicherheitsschlüssels. Die Gerätezertifizierung wird vom FIDOAlliance Metadata Service abgerufen (MDS)
. Wenn sich der Zertifizierungsstatus oder die Stufe Ihres FIDO Sicherheitsschlüssels ändert, wird er nicht aktualisiert, es sei denn, das Gerät wird nicht registriert und erneut registriert, um die aktualisierten Zertifizierungsinformationen abzurufen. Mögliche Werte von L1, L1plus, L2, L2plus, L3, L3plus
In diesem Beispiel registrieren Sie einen Sicherheitsschlüssel und rufen die FIDO Level-1-Plus-Zertifizierung für Ihr Gerät ab.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-certification": "L1plus" } } } ] }
- iam: FIDO -140-2-Zertifizierung FIPS
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft die Validierungszertifizierungsstufe FIPS -140-2 für MFA das Gerät zum Zeitpunkt der Registrierung eines Sicherheitsschlüssels. FIDO Die Gerätezertifizierung wird vom FIDOAlliance Metadata Service
abgerufen (). MDS Wenn sich der Zertifizierungsstatus oder die Stufe Ihres FIDO Sicherheitsschlüssels ändert, wird er nicht aktualisiert, es sei denn, das Gerät wird nicht registriert und erneut registriert, um die aktualisierten Zertifizierungsinformationen abzurufen. Mögliche Werte von L1, L2, L3, L4
In diesem Beispiel registrieren Sie einen Sicherheitsschlüssel und rufen die FIPS -140-2 Level 2-Zertifizierung für Ihr Gerät ab.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-2-certification": "L2" } } } ] }
- iam: - -140-3-Zertifizierung FIDO FIPS
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft die Validierungszertifizierungsstufe FIPS -140-3 für MFA das Gerät zum Zeitpunkt der Registrierung eines Sicherheitsschlüssels. FIDO Die Gerätezertifizierung wird vom FIDOAlliance Metadata Service
abgerufen (). MDS Wenn sich der Zertifizierungsstatus oder die Stufe Ihres FIDO Sicherheitsschlüssels ändert, wird er nicht aktualisiert, es sei denn, das Gerät wird nicht registriert und erneut registriert, um die aktualisierten Zertifizierungsinformationen abzurufen. Mögliche Werte von L1, L2, L3, L4
In diesem Beispiel registrieren Sie einen Sicherheitsschlüssel und rufen die FIPS -140-3 Level 3-Zertifizierung für Ihr Gerät ab.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L3" } } } ] }
- Ich bin: RegisterSecurityKey
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft den aktuellen Status der MFA Geräteaktivierung.
Mögliche Werte von
Create
oderActivate
.In diesem Beispiel registrieren Sie einen Sicherheitsschlüssel und rufen die FIPS -140-3 Level 1-Zertifizierung für Ihr Gerät ab.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Create" } } }, { "Effect": "Allow", "Action": "iam:EnableMFADevice", "Resource": "*", "Condition": { "StringEquals": { "iam:RegisterSecurityKey" : "Activate", "iam:FIDO-FIPS-140-3-certification": "L1" } } } ] }
- Ich bin: OrganizationsPolicyId
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft, ob die Richtlinie mit der angegebenen AWS Organizations ID mit der in der Anfrage verwendeten Richtlinie übereinstimmt. Informationen zum Anzeigen einer IAM-Beispielrichtlinie, die diesen Bedingungsschlüssel verwendet, finden Sie unter IAM: Anzeigen von Informationen zum letzten Zugriff auf einen Service für eine Organizations-Richtlinie.
- ich bin: PassedToService
-
Funktioniert mit Zeichenfolgenoperatoren.
Gibt den ServiceAuftraggeber des Services an, an den eine Rolle übergeben werden kann. Dieser Bedingungsschlüssel gilt nur für die PassRoleAktion in einer Richtlinie. Er kann nicht verwendet werden, um eine andere Aktion zu beschränken.
Wenn Sie diesen Bedingungsschlüssel in einer Richtlinie verwenden, geben Sie den Service über einen Dienstauftraggeber an. Ein ServiceAuftraggeber ist der Name eines Services, der im Element
Principal
einer Richtlinie angegeben werden kann. Standardformat:SERVICE_NAME_URL.amazonaws.com
.Sie können
iam:PassedToService
verwenden, um die Benutzer einzuschränken, damit sie Rollen nur an bestimmte Services übergeben können. Beispielsweise könnte ein Benutzer eine Servicerolle erstellen, die CloudWatch darauf vertraut, in seinem Namen Protokolldaten in einen Amazon S3 S3-Bucket zu schreiben. Der Benutzer muss dann eine Berechtigungsrichtlinie und eine Vertrauensrichtlinie an die neue Servicerolle anfügen. In diesem Fall muss die Vertrauensrichtliniecloudwatch.amazonaws.com
im ElementPrincipal
angeben. Eine Richtlinie, an die der Benutzer die Rolle übergeben kann CloudWatch, finden Sie unterIAM: Übergeben einer IAM-Rolle an einen bestimmten AWS-Service.Mit diesem Bedingungsschlüssel können Sie sicherstellen, dass Benutzer Servicerollen nur für die von Ihnen angegebenen Services erstellen. Wenn beispielsweise ein Benutzer mit der oben genannten Richtlinie versucht, eine Servicerolle für Amazon zu erstellenEC2, schlägt der Vorgang fehl. Der Fehler tritt auf, weil der Benutzer nicht berechtigt ist, die Rolle an Amazon weiterzugebenEC2.
Manchmal übergeben Sie eine Rolle an einen Service, der die Rolle dann an einen anderen Service übergibt.
iam:PassedToService
enthält nur den endgültigen Dienst, der die Rolle übernimmt, nicht den Zwischendienst, der die Rolle übergibt.Anmerkung
Einige Services unterstützen diesen Bedingungsschlüssel nicht.
- ich bin: PermissionsBoundary
-
Funktioniert mit ARNOperatoren.
Überprüft, ob die angegebene Richtlinie als Berechtigungsgrenze an die IAM-Prinzipal-Ressource angefügt. Weitere Informationen finden Sie unter Berechtigungsgrenzen für IAM-Entitäten
- Ich bin: Richtlinie ARN
-
Funktioniert mit Operatoren. ARN
Überprüft den Amazon-Ressourcennamen (ARN) einer verwalteten Richtlinie in Anfragen, die eine verwaltete Richtlinie betreffen. Weitere Informationen finden Sie unter Steuern des Zugriffs auf Richtlinien.
- Ich bin:/ResourceTag
key-name
-
Funktioniert mit Zeichenfolgenoperatoren.
Überprüft, ob das an die Identitätsressource (Benutzer oder Rolle) angefügte Tag mit dem angegebenen Schlüsselnamen und Wert übereinstimmt.
Anmerkung
IAMund AWS STS unterstützt sowohl den
iam:ResourceTag
IAM Bedingungsschlüssel als auch denaws:ResourceTag
globalen Bedingungsschlüssel.Sie können IAM Ressourcen benutzerdefinierte Attribute in Form eines Schlüssel-Wert-Paares hinzufügen. Weitere Informationen zum Markieren von IAM-Ressourcen finden Sie unter Tags für AWS Identity and Access Management-Ressourcen. Sie können
ResourceTag
verwenden, um den Zugriff auf AWS -Ressourcen, einschließlich IAM-Ressourcen, zu steuern. IAM unterstützt jedoch keine Tags für Gruppen. Daher können Sie Tags nicht verwenden, um den Zugriff auf Gruppen zu steuern.Dieses Beispiel zeigt, wie Sie eine identitätsbasierte Richtlinie erstellen könnten, die das Löschen von Benutzern mit dem
status=terminated
-Tag erlaubt. Um diese Richtlinie zu verwenden, ersetzen Sie die Richtlinieitalicized placeholder text
im Beispiel durch Ihre eigenen Informationen. Befolgen Sie dann die Anweisungen unter Erstellen einer Richtlinie oder Bearbeiten einer Richtlinie.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:DeleteUser", "Resource": "*", "Condition": {"StringEquals": {"iam:ResourceTag/
status
": "terminated
"}} }] }
Verfügbare Schlüssel für den AWS OIDC Verbund
Sie können den OIDC Verbund verwenden, um Benutzern, die über einen OpenID Connect-kompatiblen Identitätsanbieter (IdP) authentifiziert wurden, temporäre Sicherheitsanmeldedaten an einen IAM OpenID Connect (OIDC) -Identitätsanbieter in Ihrem Konto zu geben. AWS Beispiele für solche Anbieter sind GitHub Amazon Cognito, Login with Amazon und Google. Es können Identitäts- und Zugriffs-Tokens von Ihrem eigenen IdP sowie Servicekonto-Tokens verwendet werden, die Service-Workloads von Amazon Elastic Kubernetes gewährt werden.
Sie können AWS OIDC Bedingungskontextschlüssel verwenden, um Richtlinien zu schreiben, die den Zugriff von Verbundbenutzern auf Ressourcen beschränken, die einem bestimmten Anbieter, einer bestimmten App oder einem bestimmten Benutzer zugeordnet sind. Diese Schlüssel werden in der Regel in der Vertrauensrichtlinie für eine Rolle verwendet. Definieren Sie Bedingungsschlüssel anhand des Namens des OIDC Anbieters (token.actions.githubusercontent.com
) gefolgt von einem Anspruch (:aud
):token.actions.githubusercontent.com:aud
.
Einige OIDC Verbundbedingungsschlüssel können in der Rollensitzung verwendet werden, um den Ressourcenzugriff zu autorisieren. Wenn der Wert in der Spalte In Sitzung verfügbar auf Ja steht, können Sie diese Bedingungsschlüssel in Richtlinien verwenden, um zu definieren, auf welche Benutzer in anderen AWS Diensten zugreifen dürfen. Wenn ein Anspruch in einer Sitzung nicht verfügbar ist, kann der OIDC Bedingungskontextschlüssel nur in einer Rollenvertrauensrichtlinie für die AssumeRoleWithWebIdentityErstauthentifizierung verwendet werden.
Wählen Sie Ihren IdP aus, um zu sehen, wie Ansprüche Ihres IdP dem IAM Bedingungskontext zugeordnet werden. AWS Weitere Informationen zu Schlüsseln für GitHub und Google finden Sie auf der Registerkarte Standard.
Weitere Informationen zur Föderation OIDC
Verfügbare Schlüssel für den SAML basierten AWS STS Verbund
Wenn Sie mit einem SAMLbasierten Verbund arbeiten, der AWS Security Token Service (AWS STS) verwendet, können Sie zusätzliche Bedingungsschlüssel in die Richtlinie aufnehmen.
SAMLRichtlinien für Rollenvertrauensstellungen
Sie können in der Vertrauensrichtlinie einer Rolle die folgenden Schlüssel verwenden, um festzustellen, ob der Aufrufer die Rolle übernehmen darf. Mit Ausnahme saml:doc
von werden alle Werte aus der SAML Behauptung abgeleitet. Alle Elemente in der Liste sind im visuellen Editor der IAM-Konsole verfügbar, wenn Sie eine Richtlinie mit Bedingungen erstellen oder bearbeiten. Elemente, die mit []
gekennzeichnet sind, können einen Wert enthalten, der eine Liste des angegebenen Typs ist.
- saml:aud
-
Funktioniert mit Zeichenfolgenoperatoren.
Ein EndpunktURL, an dem SAML Behauptungen präsentiert werden. Der Wert dieses Schlüssels stammt aus dem Feld
SAML Recipient
der Zusicherung, nicht aus dem FeldAudience
. - saml: [] commonName
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
commonName
-Attribut. - saml:cn[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml:doc
-
Funktioniert mit Zeichenfolgenoperatoren.
Dieser Schlüssel steht für den Auftraggeber, der zum Übernehmen der Rolle verwendet wurde. Das Format ist
account-ID
/provider-friendly-name
, zum Beispiel123456789012/SAMLProviderName
. Der Account-ID-Wert bezieht sich auf das Konto, dem der Anbieter gehört. SAML - saml:edupersonaffiliation[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonassurance[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonentitlement[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonnickname[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonorgdn
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonorgunitdn[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonprimaryaffiliation
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonprimaryorgunitdn
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonprincipalname
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersonscopedaffiliation[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:edupersontargetedid[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduPerson
-Attribut. - saml:eduorghomepageuri[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml:eduorgidentityauthnpolicyuri[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml:eduorglegalname[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml:eduorgsuperioruri[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml:eduorgwhitepagesuri[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
eduOrg
-Attribut. - saml: [] givenName
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
givenName
-Attribut. - saml:iss
-
Funktioniert mit Zeichenfolgenoperatoren.
Der Emittent, der vertreten wird durch einen. URN
- saml:mail[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
mail
-Attribut. - saml:name[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
name
-Attribut. - saml:namequalifier
-
Funktioniert mit Zeichenfolgenoperatoren.
Ein Hashwert, der auf dem benutzerfreundlichen Namen des SAML Anbieters basiert. Der Wert ist die Verkettung der folgenden Werte in der an gegebenen Reihenfolge und getrennt durch das Zeichen „/“:
-
Der
Issuer
Antwortwert (saml:iss
) -
Die
AWS
-Konto-ID. -
Der Anzeigename (der letzte Teil vonARN) des SAML Anbieters in IAM
Die Verknüpfung der Konto-ID und des Anzeigenamens des SAML Anbieters steht den IAM Richtlinien als Schlüssel zur Verfügung.
saml:doc
Weitere Informationen finden Sie unter Eindeutige Identifizierung von Benutzern im SAML-basierten Verbund. -
- saml: [] organizationStatus
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
organizationStatus
-Attribut. - saml: [] primaryGroup SID
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
primaryGroupSID
-Attribut. - saml:sub
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist der Betreff des Antrags, der einen Wert enthält, der einen einzelnen Benutzer innerhalb einer Organisation eindeutig identifiziert (zum Beispiel
_cbb88bf52c2510eabe00c1642d4643f41430fe25e3
). - saml:sub_type
-
Funktioniert mit Zeichenfolgenoperatoren.
Dieser Schlüssel kann den Wert
persistent
,transient
, haben oder aus den vollständigenFormat
URINameID
Elementen ausSubject
und bestehen, die in Ihrer SAML Assertion verwendet wurden. Der Wertpersistent
gibt an, dass der Wert insaml:sub
für einen Benutzer für alle Sitzungen identisch ist. Wenn der Werttransient
lautet, hat der Benutzer einen anderensaml:sub
-Wert für jede Sitzung. Weitere Informationen zumNameID
-Attribut desFormat
-Elements finden Sie unter Konfigurieren von SAML-Assertionen für die Authentifizierungsreaktion. - saml:surname[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
surnameuid
-Attribut. - saml:uid[]
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist ein
uid
-Attribut. - saml:x500 [] UniqueIdentifier
-
Funktioniert mit Zeichenfolgenoperatoren.
Hierbei handelt es sich um ein
x500UniqueIdentifier
-Attribut.
Allgemeine Informationen zu eduPerson
und eduOrg
Attributen finden Sie auf der Wiki-Website. REFEDSeduPerson
Attribute finden Sie unter eduPerson Objektklassenspezifikation (201602)
Bedingungsschlüssel mit dem Typ "Liste" können mehrere Werte enthalten. Um in einer Richtlinie Bedingungen für Listenwerte zu erstellen, können Sie Mengenoperatoren (ForAllValues
, ForAnyValue
) verwenden. Um beispielsweise jeden Benutzer zuzulassen, dessen Zugehörigkeit „Lehrkörper“ oder „Personal“ (aber nicht „Student“) ist, können Sie eine Bedingung wie die folgende verwenden:
"Condition": { "ForAllValues:StringLike": { "saml:edupersonaffiliation":[ "faculty", "staff"] } }
Dienstübergreifende SAML AWS STS Verbundkontextschlüssel
Einige SAML auf Verbundbedingungen basierende Schlüssel können in nachfolgenden Anfragen verwendet werden, um AWS Operationen in anderen Diensten und AssumeRole
Aufrufen zu autorisieren. Dies sind die folgenden Bedingungsschlüssel, die in Rollenvertrauensrichtlinien verwendet werden können, wenn föderierte Prinzipale eine andere Rolle übernehmen, und in Ressourcenrichtlinien anderer AWS Dienste, um den Ressourcenzugriff von Verbundprinzipalen zu autorisieren. Weitere Informationen zur Verwendung dieser Schlüssel finden Sie unter Informationen zum 2.0-basierten Verbund. SAML
Wählen Sie einen Bedingungsschlüssel aus, um die Beschreibung zu sehen.
Anmerkung
Nach der ersten Authentifizierungsantwort des externen Identitätsanbieters (IdP) sind keine anderen SAML basierten Verbundbedingungsschlüssel für die Verwendung verfügbar.
Verfügbare Schlüssel für AWS STS
Sie können die folgenden Bedingungsschlüssel in IAM Rollenvertrauensrichtlinien für Rollen verwenden, die mithilfe von AWS Security Token Service (AWS STS) -Vorgängen angenommen werden.
- saml:sub
-
Funktioniert mit Zeichenfolgenoperatoren.
Dies ist der Betreff des Antrags, der einen Wert enthält, der einen einzelnen Benutzer innerhalb einer Organisation eindeutig identifiziert (zum Beispiel
_cbb88bf52c2510eabe00c1642d4643f41430fe25e3
). - sts: AWSServiceName
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um einen Service anzugeben, in dem ein Bearertoken verwendet werden kann. Wenn Sie diesen Bedingungsschlüssel in einer Richtlinie verwenden, geben Sie den Service über einen Dienstauftraggeber an. Ein ServiceAuftraggeber ist der Name eines Services, der im Element
Principal
einer Richtlinie angegeben werden kann. Zum Beispielcodeartifact.amazonaws.com
ist der AWS CodeArtifact Service Principal.Verfügbarkeit – Dieser Schlüssel ist in Anforderungen vorhanden, die ein Bearer-Token erhalten. Sie können nicht direkt anrufen, AWS STS um ein Bearer-Token zu erhalten. Wenn Sie einige Operationen in anderen Services ausführen, fordert der Service das Bearer-Token in Ihrem Namen an.
Für einige AWS Dienste benötigen Sie die Erlaubnis, ein AWS STS Dienstträgertoken abzurufen, bevor Sie programmgesteuert auf ihre Ressourcen zugreifen können. AWS CodeArtifact erfordert beispielsweise, dass Prinzipale Bearer-Tokens verwenden, um einige Vorgänge auszuführen. Der Befehl
aws codeartifact get-authorization-token
gibt ein Bearertoken zurück. Anschließend können Sie das Bearer-Token verwenden, um Operationen auszuführen. AWS CodeArtifact Weitere Hinweise zu Bearer-Tokens finden Sie unter Service-Inhaber-Token.Sie können diesen Bedingungsschlüssel verwenden, um es Auftraggeber zu ermöglichen, ein Bearer-Token für die Verwendung mit einem bestimmten Service zu erhalten.
- sts: DurationSeconds
-
Funktioniert mit nummerischen Operatoren.
Verwenden Sie diesen Schlüssel, um die Dauer (in Sekunden) anzugeben, die ein Principal beim Abrufen eines AWS STS Bearer-Tokens verwenden kann.
Verfügbarkeit – Dieser Schlüssel ist in Anforderungen vorhanden, die ein Bearer-Token erhalten. Sie können keinen direkten Anruf tätigen, AWS STS um ein Inhaber-Token zu erhalten. Wenn Sie einige Operationen in anderen Services ausführen, fordert der Service das Bearer-Token in Ihrem Namen an. Der Schlüssel ist für AWS STS -assume-role-Operationen nicht vorhanden.
Für einige AWS Dienste benötigen Sie die Erlaubnis, ein AWS STS Dienstträgertoken abzurufen, bevor Sie programmgesteuert auf ihre Ressourcen zugreifen können. AWS CodeArtifact erfordert beispielsweise, dass Prinzipale Bearer-Tokens verwenden, um einige Vorgänge auszuführen. Der Befehl
aws codeartifact get-authorization-token
gibt ein Bearertoken zurück. Anschließend können Sie das Bearer-Token verwenden, um Operationen auszuführen. AWS CodeArtifact Weitere Hinweise zu Bearer-Tokens finden Sie unter Service-Inhaber-Token. - sts: ExternalId
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um zu verlangen, dass ein Prinzipal bei der Übernahme einer IAM-Rolle einen bestimmten Bezeichner bereitstellt.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage enthalten, wenn der Principal eine externe ID bereitstellt und gleichzeitig mithilfe von AWS CLI oder eine Rolle annimmt AWS API.
Eine eindeutige Kennung, die erforderlich sein kann, wenn Sie eine Rolle in einem anderen Konto übernehmen. Wenn Ihnen der Administrator des Kontos, zu dem die Rolle gehört, eine externe ID zur Verfügung gestellt hat, geben Sie diesen Wert im Parameter
ExternalId
an. Dieser Wert kann eine beliebige Zeichenfolge sein, wie eine Passphrase oder Kontonummer. Die Hauptfunktion des externen Ausweises besteht darin, das Problem des verwirrten Stellvertreters zu lösen und zu verhindern. Weitere Informationen über die externe ID und den "verwirrten Stellvertreter" finden Sie unter Zugriffs auf im Besitz von Drittanbietern befindlichen AWS-Konten.Der Wert
ExternalId
muss mindestens 2 Zeichen und darf höchstens 1.224 Zeichen lang sein. Der Wert muss alphanumerisch sein ohne Leerzeichen. Er kann auch die folgenden Zeichen enthalten: Pluszeichen (+), Gleichheitszeichen (=), Komma (,), Punkt (.), At-Zeichen (@), Doppelpunkt (:), Schrägstrich (/) und Bindestrich (-). - sts:RequestContext/Kontextschlüssel
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um die Schlüssel-Wert-Paare aus dem Sitzungskontext, die in die signierte Kontext-Assertion des vertrauenswürdigen Token-Emittenten eingebettet sind, die in der Anfrage übergeben wurde, mit den in der Rollen-Vertrauensrichtlinie angegebenen Kontext-Schlüsselwerten zu vergleichen.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage vorhanden, wenn eine Kontext-Assertion im
ProvidedContexts
Anforderungsparameter angegeben wird, während eine Rolle übernommen wird, die die Operation verwendet. AWS STS AssumeRoleAPIDieser Kontextschlüssel ist formatiert als
"sts:RequestContext/context-key":"context-value"
, wobeicontext-key
undcontext-value
ein Kontext-Schlüssel-Wert-Paar sind. Wenn mehrere Kontextschlüssel in die in der Anforderung übergebene signierte Kontext-Assertion eingebettet sind, gibt es einen Kontextschlüssel für jedes Schlüssel-Wert-Paar. Sie müssen in der Rollen-Vertrauensrichtlinie die Erlaubnis für diests:SetContext
-Aktion erteilen, damit ein Prinzipal Kontextschlüssel innerhalb des resultierenden Sitzungs-Token festlegen kann. Weitere Informationen zu den unterstützten IAM Identity Center-Kontextschlüsseln, die mit diesem Schlüssel verwendet werden können, finden Sie im AWS IAM Identity Center Benutzerhandbuch unter AWS STS Bedingungsschlüssel für IAM Identity Center.Sie können diesen Schlüssel in einer Rollen-Vertrauensrichtlinie verwenden, um eine detaillierte Zugriffskontrolle zu erzwingen, die auf dem Benutzer oder seinen Attributen basiert, wenn er eine Rolle übernimmt. Nachdem die Rolle übernommen wurde, erscheint die Aktivität in den AWS CloudTrail Protokollen innerhalb des
AdditionalEventData
Attributs, die die Schlüssel-Wert-Paare für den Sitzungskontext enthalten, die vom Kontextanbieter in der Anfrage „Rolle übernehmen“ festgelegt wurden. Dies erleichtert Administratoren die Unterscheidung zwischen Rollensitzungen, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird. Die Schlüssel-Wert-Paare werden vom angegebenen Kontextanbieter festgelegt, nicht von oder. AWS CloudTrail AWS STS Dadurch hat der Kontextanbieter die Kontrolle darüber, welcher Kontext in den CloudTrail Protokollen und Sitzungsinformationen enthalten ist. - sts: RequestContextProviders
-
Funktioniert mit ARNOperatoren.
Verwenden Sie diesen Schlüssel, um den Kontextanbieter ARN in der Anfrage mit dem Kontextanbieter zu vergleichen, der in der Rollenvertrauensrichtlinie ARN angegeben ist.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage enthalten, wenn im
ProvidedContexts
Anforderungsparameter eine Kontext-Assertion angegeben wird, während die AWS STS AssumeRoleAPIOperation eine Rolle übernommen wird.Die folgende Beispielbedingung überprüft, ob der in der Anforderung ARN übergebene Kontextanbieter mit der in der Rollenvertrauensrichtlinie ARN angegebenen Bedingung übereinstimmt.
"Condition": { "ForAllValues:ArnEquals": { "sts:RequestContextProviders": [ "arn:aws:iam::aws:contextProvider/IdentityCenter" ] } }
- sts: RoleSessionName
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um den Sitzungsnamen zu vergleichen, den ein Auftraggeber angibt, wenn er eine Rolle mit dem Wert annimmt, der in der Richtlinie angegeben ist.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage enthalten, wenn der Principal die Rolle mithilfe des Befehls AWS Management Console, eines beliebigen CLI Assume-Role-Befehls oder einer beliebigen AWS STS
AssumeRole
API Operation übernimmt.Sie können diesen Schlüssel in einer Rollenvertrauensrichtlinie verwenden, um zu verlangen, dass Ihre Benutzer einen bestimmten Sitzungsnamen angeben, wenn sie eine Rolle übernehmen. Sie können beispielsweise verlangen, dass IAM-Benutzer ihren eigenen Benutzernamen als Sitzungsnamen angeben. Nachdem der IAM-Benutzer die Rolle übernommen hat, wird die Aktivität in AWS CloudTrail -Protokollen mit dem Sitzungsnamen angezeigt, der dem Benutzernamen entspricht. Dies erleichtert Administratoren die Unterscheidung zwischen Rollensitzungen, wenn eine Rolle von verschiedenen Auftraggeber verwendet wird.
Die folgende Rollenvertrauensrichtlinie erfordert, dass IAM-Benutzer im Konto
111122223333
ihren IAM-Benutzernamen als Sitzungsnamen angeben, wenn sie die Rolle übernehmen. Diese Anforderung wird mit der Bedingungsvariablenaws:username
im Bedingungsschlüssel erzwungen. Mit dieser Richtlinie können IAM-Benutzer die Rolle übernehmen, an die die Richtlinie angefügt ist. Diese Richtlinie erlaubt niemandem, der temporäre Anmeldeinformationen verwendet, die Rolle zu übernehmen, da dieusername
-Variable nur für IAM-Benutzer vorhanden ist.Wichtig
Sie können jeden einwertigen Bedingungsschlüssel als Variable verwenden. Sie können einen mehrwertigen Bedingungsschlüssel nicht als Variable verwenden.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "RoleTrustPolicyRequireUsernameForSessionName", "Effect": "Allow", "Action": "sts:AssumeRole", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Condition": { "StringLike": {"sts:RoleSessionName": "${aws:username}"} } } ] }
Wenn ein Administrator das AWS CloudTrail Protokoll einer Aktion einsieht, kann er den Sitzungsnamen mit den Benutzernamen in seinem Konto vergleichen. Im folgenden Beispiel führte der Benutzer
matjac
den Vorgang mit der Rolle namensMateoRole
. Der Administrator kann sich dann an Mateo Jackson wenden, den der Benutzer alsmatjac
benannt hat."assumedRoleUser": { "assumedRoleId": "AROACQRSTUVWRAOEXAMPLE:
matjac
", "arn": "arn:aws:sts::111122223333:assumed-role/MateoRole
/matjac
" }Wenn Sie kontenübergreifenden Zugriff mithilfe von Rollen zulassen, können Benutzer in einem Konto eine Rolle in einem anderen Konto übernehmen. Der Benutzer mit ARN der angenommenen Rolle, unter der er aufgeführt ist, CloudTrail schließt das Konto ein, in dem die Rolle existiert. Darin ist nicht das Konto des Benutzers enthalten, der die Rolle übernommen hat. Benutzer sind nur innerhalb eines Kontos eindeutig. Daher empfehlen wir, diese Methode nur für die Überprüfung von CloudTrail Protokollen für Rollen zu verwenden, die von Benutzern in von Ihnen verwalteten Konten übernommen wurden. Ihre Benutzer verwenden möglicherweise denselben Benutzernamen in mehreren Konten.
- sts: SourceIdentity
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um den Sitzungsnamen zu vergleichen, den ein Auftraggeber angibt, wenn er eine Rolle mit dem Wert annimmt, der in der Richtlinie angegeben ist.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage enthalten, wenn der Principal eine Quellidentität bereitstellt und gleichzeitig mithilfe eines AWS STS CLI Assume-Role-Befehls oder AWS STS
AssumeRole
API einer Operation eine Rolle übernimmt.Sie können diesen Schlüssel in einer Rollenvertrauensrichtlinie verwenden, um zu verlangen, dass Ihre Benutzer eine bestimmte Ursprungsidentität festlegen, wenn sie eine Rolle übernehmen. Beispielsweise können Sie verlangen, dass Ihre Mitarbeiter oder Verbundidentitäten einen Wert für die Quellidentität angeben. Sie können Ihren Identity Provider (IdP) so konfigurieren, dass eines der Attribute verwendet wird, die Ihren Benutzern zugeordnet sind, z. B. ein Benutzername oder eine E-Mail als Quellidentität. Der IdP übergibt dann die Quellidentität als Attribut in den Assertions oder Claims, an die er sendet. AWS Der Wert des Quellidentitätsattributs identifiziert den Benutzer oder die Anwendung, der die Rolle übernimmt.
Nachdem der Benutzer die Rolle übernommen hat, erscheint die Aktivität in den AWS CloudTrail -Protokollen mit dem eingestellten Wert der Quellidentität. Auf diese Weise können Administratoren leichter feststellen, wer oder was Aktionen mit einer Rolle in ausgeführt hat. AWS Sie müssen für die Aktion
sts:SetSourceIdentity
die Berechtigung erteilen, dass eine Identität eine Quellidentität festlegen kann.Im Gegensatz zu sts:RoleSessionName, nachdem die Quellidentität festgelegt wurde, kann der Wert nicht geändert werden. Es ist im Anforderungskontext für alle Aktionen vorhanden, die mit der Rolle von der Quellidentität durchgeführt werden. Wenn Sie die Sitzungsanmeldeinformationen verwenden, bleibt der Wert in nachfolgenden Rollensitzungen bestehen, um eine andere Rolle anzunehmen. Die Annahme einer Rolle von einer anderen wird als Rollenverkettung bezeichnet.
Sie können den aws:SourceIdentityglobalen Bedingungsschlüssel verwenden, um den Zugriff auf AWS Ressourcen anhand des Werts der Quellidentität in nachfolgenden Anfragen weiter zu steuern.
Die folgende Richtlinie zur Rollenvertrauensstellung ermöglicht es
AdminUser
dem IAM Benutzer, eine Rolle im Konto anzunehmen111122223333
. Sie erteilt demAdminUser
auch die Erlaubnis, eine Quellidentität zu setzen, solange die gesetzte QuellidentitätDiegoRamirez
ist.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAdminUserAssumeRole", "Effect": "Allow", "Principal": {"AWS": " arn:aws:iam::111122223333:user/AdminUser"}, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringEquals": {"sts:SourceIdentity": "DiegoRamirez"} } } ] }
Weitere Informationen zur Verwendung von Quellidentitätsinformationen finden Sie unter Überwachen und Steuern von Aktionen mit übernommenen Rollen.
- sts: TaskPolicyArn
-
Funktioniert mit ARNOperatoren.
Verwenden Sie diesen Schlüssel, um die Richtlinie ARN in einer STS: AssumeRoot -Anforderung mit der in der Richtlinie ARN angegebenen Richtlinie zu vergleichen.
Verfügbarkeit — Dieser Schlüssel ist in der Anfrage enthalten, wenn Sie eine Anfrage mit sts stellen: AssumeRoot.
Sie können diesen Bedingungsschlüssel in einer Richtlinie verwenden, um die Aktionen einzuschränken, die ein Verwaltungskonto oder ein delegierter Administrator während einer Sitzung eines privilegierten Root-Benutzers ausführen kann. Weitere Informationen finden Sie unter Privilegierte Aufgabe in einem AWS Organizations -Mitgliedskonto ausführen.
- sts: TransitiveTagKeys
-
Funktioniert mit Zeichenfolgenoperatoren.
Verwenden Sie diesen Schlüssel, um die transitiven Sitzungstag-Schlüssel in der Anforderung mit den in der Richtlinie angegebenen Schlüsseln zu vergleichen.
Verfügbarkeit – Dieser Schlüssel ist in der Anforderung vorhanden, wenn Sie eine Anforderung mit temporären Sicherheitsanmeldeinformationen stellen. Dazu gehören Anmeldeinformationen, die mit einer beliebigen assume-role-Operation oder der
GetFederationToken
-Operation erstellt wurden.Wenn Sie eine Anforderung mit temporären Sicherheitsanmeldeinformationen erstellen, enthält der Anforderungskontext den
aws:PrincipalTag
-Kontextschlüssel. Dieser Schlüssel enthält eine Liste von Sitzungs-Tags, transitiven Sitzungs-Tags und Rollentags. Transitive Sitzungs-Tags sind Tags, die in allen nachfolgenden Sitzungen bestehen, wenn Sie die Sitzungsanmeldeinformationen verwenden, um eine andere Rolle anzunehmen. Die Annahme einer Rolle von einer anderen wird als Rollenverkettung bezeichnet.Sie können diesen Bedingungsschlüssel in einer Richtlinie verwenden, um bestimmte Sitzungs-Tags als transitiv festzulegen, wenn Sie eine Rolle übernehmen oder einen Benutzer föderieren.