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.
Rolle als Anmeldeinformationsanbieter übernehmen
Anmerkung
Hilfe zum Verständnis des Layouts von Einstellungsseiten oder zur Interpretation der folgenden Tabelle „Unterstützung durch AWS SDKs und Tools“ finden Sie unterDie Einstellungsseiten dieses Handbuchs verstehen.
Um eine Rolle anzunehmen, müssen Sie eine Reihe temporärer Sicherheitsanmeldeinformationen verwenden, um auf AWS Ressourcen zuzugreifen, auf die Sie sonst möglicherweise keinen Zugriff hätten. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token.
Um Ihr SDK oder Tool so einzurichten, dass es eine Rolle übernimmt, müssen Sie zunächst eine bestimmte Rolle erstellen oder identifizieren, die übernommen werden soll. IAM-Rollen werden eindeutig durch eine Rolle identifiziert — Amazon Resource Name (ARN). Rollen stellen Vertrauensbeziehungen zu einer anderen Entität her. Bei der vertrauenswürdigen Entität, die die Rolle verwendet AWS-Service, kann es sich um einen Web-Identitätsanbieter oder einen OIDC- oder SAML-Verbund handeln. AWS-Konto
Nachdem die IAM-Rolle identifiziert wurde und Ihnen diese Rolle vertraut, können Sie Ihr SDK oder Tool so konfigurieren, dass die von der Rolle gewährten Berechtigungen verwendet werden. Verwenden Sie dazu die folgenden Einstellungen.
Eine Anleitung zu den ersten Schritten mit diesen Einstellungen finden Sie Übernahme einer Rolle mit AWS Anmeldeinformationen zur Authentifizierung AWS SDKs und Tools in dieser Anleitung.
Nehmen Sie die Einstellungen für den Anbieter von Rollenanmeldeinformationen an
Konfigurieren Sie diese Funktion mithilfe der folgenden Optionen:
credential_source- Einstellung für gemeinsam genutzte AWSconfigDateien-
Wird in Amazon EC2-Instances oder Amazon Elastic Container Service-Containern verwendet, um anzugeben, wo das SDK oder Tool Anmeldeinformationen finden kann, die die Berechtigung haben, die Rolle zu übernehmen, die Sie mit dem
role_arnParameter angeben.Standardwert: Keiner
Zulässige Werte:
-
Umgebung — Gibt an, dass das SDK oder Tool Quellanmeldeinformationen aus den Umgebungsvariablen AWS_ACCESS_KEY_ID und abrufen soll AWS_SECRET_ACCESS_KEY.
-
Ec2InstanceMetadata— Gibt an, dass das SDK oder Tool die dem EC2-Instance-Profil zugeordnete IAM-Rolle verwenden soll, um Quellanmeldeinformationen abzurufen.
-
EcsContainer— Gibt an, dass das SDK oder Tool die an den Amazon ECS-Container angehängte IAM-Rolle oder die an den Amazon EKS-Container angehängte IAM-Rolle zum Abrufen der Quellanmeldeinformationen verwenden soll.
Sie können
credential_sourceundsource_profilenicht im selben Profil angeben.Beispiel für die Einstellung in einer
configDatei, um anzugeben, dass die Anmeldeinformationen von Amazon EC2 bezogen werden sollen:credential_source = Ec2InstanceMetadata role_arn = arn:aws:iam::123456789012:role/my-role-name -
duration_seconds- Einstellung für gemeinsam genutzte AWSconfigDateien-
Gibt die maximale Dauer der Rollensitzung in Sekunden an.
Diese Einstellung gilt nur, wenn das Profil angibt, dass eine Rolle übernommen werden soll.
Standardwert: 3600 Sekunden (eine Stunde)
Gültige Werte: Der Wert kann zwischen 900 Sekunden (15 Minuten) und der für die Rolle konfigurierten Einstellung für die maximale Sitzungsdauer liegen (maximal 43200 Sekunden oder 12 Stunden). Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Einstellung für die maximale Sitzungsdauer für eine Rolle https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session anzeigen.
Beispiel für die Einstellung in einer
configDatei:duration_seconds =43200 external_id- Einstellung für gemeinsam genutzte AWSconfigDateien-
Gibt eine eindeutige Kennung an, die von Dritten verwendet wird, um eine Rolle in den Konten ihrer Kunden zu übernehmen.
Diese Einstellung gilt nur, wenn das Profil angibt, eine Rolle zu übernehmen, und die Vertrauensrichtlinie für die Rolle einen Wert für erfordert
ExternalId. Der Wert entspricht demExternalIdParameter, der an denAssumeRoleVorgang übergeben wird, wenn das Profil eine Rolle angibt.Standardwert: Keiner.
Gültige Werte: Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter So verwenden Sie eine externe ID, um Dritten Zugriff auf Ihre AWS Ressourcen zu gewähren.
Beispiel für die Einstellung in einer
configDatei:external_id =unique_value_assigned_by_3rd_party mfa_serial- Einstellung für gemeinsam genutzte AWSconfigDateien-
Gibt die Identifikation oder Seriennummer eines Geräts mit mehrstufiger Authentifizierung (MFA) an, das der Benutzer verwenden muss, wenn er eine Rolle übernimmt.
Erforderlich, wenn eine Rolle übernommen wird, bei der die Vertrauensrichtlinie für diese Rolle eine Bedingung enthält, die eine MFA-Authentifizierung erfordert. Weitere Informationen zu MFA finden Sie unter AWS Multi-factor Authentifizierung in IAM im IAM-Benutzerhandbuch.
Standardwert: Keiner.
Gültige Werte: Der Wert kann entweder eine Seriennummer für ein Hardwaregerät (z. B.
GAHT12345678) oder ein Amazon-Ressourcenname (ARN) für ein virtuelles MFA-Gerät sein. Das ARN-Format ist:arn:aws:iam::account-id:mfa/mfa-device-nameBeispiel für die Einstellung in einer
configDatei:In diesem Beispiel wird davon ausgegangen, dass ein virtuelles MFA-Gerät mit dem Namen
MyMFADevice, für das Konto erstellt und für einen Benutzer aktiviert wurde.mfa_serial =arn:aws:iam::123456789012:mfa/MyMFADevice role_arn- Einstellung für gemeinsam genutzte AWSconfigDateienAWS_ROLE_ARN- Umgebungsvariableaws.roleArn- JVM-Systemeigenschaft: nur Java/Kotlin-
Gibt den Amazon-Ressourcennamen (ARN) einer IAM-Rolle an, die Sie für die Ausführung von Vorgängen verwenden möchten, die mit diesem Profil angefordert werden.
Standardwert: Keiner.
Gültige Werte: Der Wert muss der ARN einer IAM-Rolle sein und wie folgt formatiert sein:
arn:aws:iam::account-id:role/role-nameDarüber hinaus müssen Sie eine der folgenden Einstellungen angeben:
-
source_profile— Um ein anderes Profil zu identifizieren, das verwendet werden soll, um Anmeldeinformationen zu finden, die berechtigt sind, die Rolle in diesem Profil zu übernehmen. -
credential_source— Um entweder Anmeldeinformationen zu verwenden, die durch die aktuellen Umgebungsvariablen identifiziert wurden, oder Anmeldeinformationen, die an ein Amazon EC2-Instance-Profil angehängt sind, oder um eine Amazon ECS-Container-Instance. -
web_identity_token_file— Um öffentliche Identitätsanbieter oder einen OpenID Connect (OIDC) -kompatiblen Identitätsanbieter für Benutzer zu verwenden, die in einer Mobil- oder Webanwendung authentifiziert wurden.
-
role_session_name— Einstellung für gemeinsam genutzte Dateien AWSconfigAWS_ROLE_SESSION_NAME- Umgebungsvariableaws.roleSessionName- JVM-Systemeigenschaft: nur Java/Kotlin-
Gibt den Namen an, der der Rollensitzung zugeordnet werden soll. Dieser Name erscheint in AWS CloudTrail Protokollen für Einträge, die mit dieser Sitzung verknüpft sind, was bei der Überwachung nützlich sein kann. Einzelheiten finden Sie unter dem Element CloudTrail userIdentity im AWS CloudTrail Benutzerhandbuch.
Standardwert: Ein optionaler Parameter. Wenn Sie diesen Wert nicht angeben, wird automatisch ein Sitzungsname generiert, wenn das Profil eine Rolle übernimmt.
Gültige Werte: Wird für den
RoleSessionNameParameter bereitgestellt, wenn die AWS CLI AWS OR-API dieAssumeRoleOperation (oder Operationen wie dieAssumeRoleWithWebIdentityOperation) in Ihrem Namen aufruft. Der Wert wird Teil der angenommenen Benutzerrolle Amazon Resource Name (ARN), die Sie abfragen können, und wird als Teil der CloudTrail Protokolleinträge für Operationen angezeigt, die von diesem Profil aufgerufen werden.arn:aws:sts::.123456789012:assumed-role/my-role-name/my-role_session_nameBeispiel für die Einstellung in einer
configDatei:role_session_name =my-role-session-name source_profile- Einstellung für gemeinsam genutzte AWSconfigDateien-
Gibt ein anderes Profil an, dessen Anmeldeinformationen verwendet werden, um die in der
role_arnEinstellung im ursprünglichen Profil angegebene Rolle zu übernehmen. Informationen zur Verwendung von Profilen in den gemeinsam genutzten AWSconfigcredentialsAND-Dateien finden Sie unterGeteilte credentials Dateien config und Dateien.Wenn Sie ein Profil angeben, bei dem es sich auch um ein Rollenübernahmeprofil handelt, wird jede Rolle der Reihe nach übernommen, um die Anmeldeinformationen vollständig aufzulösen. Diese Kette wird beendet, wenn das SDK auf ein Profil mit Anmeldeinformationen stößt. Die Rollenverkettung begrenzt Ihre AWS CLI oder AWS API-Rollensitzung auf maximal eine Stunde und kann nicht verlängert werden. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Begriffe und Konzepte zu Rollen.
Standardwert: Keiner.
Gültige Werte: Eine Textzeichenfolge, die aus dem Namen eines Profils besteht, das in den
credentialsDateienconfigund definiert ist. Sie müssen auch einen Wert fürrole_arnim aktuellen Profil angeben.Sie können
credential_sourceundsource_profilenicht im selben Profil angeben.Beispiel für die Einstellung in einer Konfigurationsdatei:
[profileA] source_profile =Brole_arn = arn:aws:iam::123456789012:role/RoleArole_session_name =ProfileARoleSession[profileB] credential_process =./aws_signing_helper credential-process --certificate /path/to/certificate --private-key /path/to/private-key --trust-anchor-arn arn:aws:rolesanywhere:region:account:trust-anchor/TA_ID --profile-arn arn:aws:rolesanywhere:region:account:profile/PROFILE_ID --role-arn arn:aws:iam::account:role/ROLE_IDIm vorherigen Beispiel weist das
AProfil das SDK oder Tool an, automatisch nach den Anmeldeinformationen für das verknüpfteBProfil zu suchen. In diesem Fall verwendet dasBProfil das Hilfsprogramm für Anmeldeinformationen, das von bereitgestellt wirdAuthentifizierung AWS SDKs und Tools mit IAM Roles Anywhere, um Anmeldeinformationen für das AWS SDK abzurufen. Diese temporären Anmeldeinformationen werden dann von Ihrem Code für den Zugriff auf AWS Ressourcen verwendet. Der angegebenen Rolle müssen IAM-Berechtigungsrichtlinien zugeordnet sein, die die Ausführung des angeforderten Codes ermöglichen, z. B. der Befehl oder die API-Methode. AWS-Service Bei jeder Aktion, die von einem ProfilAausgeführt wird, ist der Name der Rollensitzung in den CloudTrail Protokollen enthalten.Als zweites Beispiel für die Rollenverkettung kann die folgende Konfiguration verwendet werden, wenn Sie eine Anwendung auf einer Amazon Elastic Compute Cloud-Instance haben und diese Anwendung eine andere Rolle übernehmen soll.
[profileA] source_profile =Brole_arn = arn:aws:iam::123456789012:role/RoleArole_session_name =ProfileARoleSession[profileB] credential_source=Ec2InstanceMetadataProfile verwendet
Adie Anmeldeinformationen der Amazon EC2-Instance, um die angegebene Rolle zu übernehmen, und erneuert die Anmeldeinformationen automatisch. web_identity_token_file- Einstellung für gemeinsam genutzte AWSconfigDateienAWS_WEB_IDENTITY_TOKEN_FILE- Umgebungsvariableaws.webIdentityTokenFile- JVM-Systemeigenschaft: nur Java/Kotlin-
Gibt den Pfad zu einer Datei an, die ein Zugriffstoken von einem unterstützten OAuth 2.0-Anbieter
oder OpenID Connect ID-Identitätsanbieter enthält. Diese Einstellung ermöglicht die Authentifizierung mithilfe von Anbietern von Web-Identitätsverbänden wie Google
, Facebook und Amazon und vielen anderen. Das SDK oder das Entwicklertool lädt den Inhalt dieser Datei und übergibt ihn als WebIdentityTokenArgument, wenn es denAssumeRoleWithWebIdentityVorgang in Ihrem Namen aufruft.Standardwert: Keiner.
Gültige Werte: Dieser Wert muss ein Pfad und ein Dateiname sein. Die Datei muss ein OAuth 2.0-Zugriffstoken oder ein OpenID Connect-Token enthalten, das Ihnen von einem Identitätsanbieter zur Verfügung gestellt wurde. Relative Pfade werden als relativ zum Arbeitsverzeichnis des Prozesses behandelt.
Unterstützung von AWS SDKs und Tools
Die folgenden SDKs unterstützen die in diesem Thema beschriebenen Funktionen und Einstellungen. Alle teilweisen Ausnahmen werden vermerkt. Alle JVM-Systemeigenschaftseinstellungen werden von AWS SDK für Java and the AWS SDK für Kotlin only unterstützt.
| SDK | Unterstützt | Hinweise oder weitere Informationen |
|---|---|---|
| AWS CLI v2 | Ja | |
| SDK für C++ | Teilweise | credential_sourcewird nicht unterstützt. duration_secondswird nicht unterstützt. mfa_serialwird nicht unterstützt. |
| SDK für Go V2 (1.x) | Ja | |
| SDK für Go 1.x (V1) | Ja | Um die Einstellungen für gemeinsam genutzte config Dateien zu verwenden, müssen Sie das Laden aus der Konfigurationsdatei aktivieren; siehe Sitzungen. |
| SDK für Java 2.x | Teilweise | mfa_serialwird nicht unterstützt. duration_secondswird nicht unterstützt. |
| SDK für Java 1.x | Teilweise | credential_sourcewird nicht unterstützt. mfa_serialwird nicht unterstützt. JVM-Systemeigenschaften werden nicht unterstützt. |
| SDK für 3.x JavaScript | Ja | |
| SDK für 2.x JavaScript | Teilweise | credential_sourcewird nicht unterstützt. |
| SDK für Kotlin | Ja | |
| SDK für.NET 4.x | Ja | |
| SDK für.NET 3.x | Ja | |
| SDK für PHP 3.x | Ja | |
| SDK für Python (Boto3) | Ja | |
| SDK für Ruby 3.x | Ja | |
| SDK für Rust | Ja | |
| SDK für Swift | Ja | |
| Tools für PowerShell V5 | Ja | |
| Tools für V4 PowerShell | Ja |