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.
Zu einer IAM-Rolle wechseln (AWS CLI)
Eine Rolle legt eine Gruppe von Berechtigungen fest, die Sie für den Zugriff auf AWS -Ressourcen, die Sie benötigen, verwenden können. In dieser Hinsicht ist sie mit einem IAM-Benutzer AWS Identity and Access Management vergleichbar. Wenn Sie sich als Benutzer anmelden, erhalten Sie einen bestimmten Satz von Berechtigungen. Sie melden sich jedoch nicht bei einer Rolle an. Wenn Sie sich aber als Benutzer angemeldet haben, können Sie zu einer Rolle wechseln. Dadurch werden Ihre ursprünglichen Benutzerberechtigungen vorübergehend zurückgestellt und Sie erhalten stattdessen die der Rolle zugewiesenen Berechtigungen. Die Rolle kann sich in Ihrem eigenen Konto oder jedem anderen AWS-Konto befinden. Weitere Informationen zu Rollen, ihren Vorteilen sowie zu ihrer Erstellung und Konfiguration finden Sie unter IAM rolesund Erstellung einer IAM-Rolle. Weitere Informationen zu den unterschiedlichen Methoden, die Sie zum Übernehmen einer Rolle verwenden können, finden Sie unter Methoden, um eine Rolle zu übernehmen.
Wichtig
Die Berechtigungen Ihres IAM-Benutzers und alle Rollen, die Sie annehmen, können nicht kumuliert werden. Es ist nur jeweils ein Satz von Berechtigungen aktiv. Wenn Sie eine Rolle annehmen, geben Sie Ihre vorherigen Benutzer- oder Rollenberechtigungen temporär auf und arbeiten mit den Berechtigungen, die der Rolle zugeordnet sind. Wenn Sie die Rolle verlassen, werden Ihre Benutzerberechtigungen automatisch wiederhergestellt.
Sie können eine Rolle verwenden, um einen AWS CLI Befehl auszuführen, wenn Sie als IAM-Benutzer angemeldet sind. Sie können eine Rolle auch verwenden, um einen AWS CLI Befehl auszuführen, wenn Sie als extern authentifizierter Benutzer (SAML oder OIDC) angemeldet sind, der bereits eine Rolle verwendet. Darüber hinaus können Sie eine Rolle verwenden, um einen AWS CLI Befehl innerhalb einer EC2 Amazon-Instance auszuführen, die über ihr Instance-Profil an eine Rolle angehängt ist. Sie können keine Rolle anwenden, wenn Sie sich als Root-Benutzer des AWS-Kontos anmelden.
Verketten von Rollen – Sie können auch das Verketten von Rollen verwenden, was bedeutet, Berechtigungen einer Rolle für den Zugriff auf eine zweite Rolle zu verwenden.
Standardmäßig ist Ihre Rollensitzung eine Stunde gültig. Wenn Sie diese Rolle mithilfe der assume-role*-CLI-Operationen annehmen, können Sie einen Wert für den duration-seconds-Parameter angeben. Dieser Wert kann zwischen 900 Sekunden (15 Minuten) und der maximalen Sitzungsdauer für die Rolle liegen. Wenn Sie in der Konsole die Rollen wechseln, ist Ihre Sitzungsdauer auf maximal eine Stunde begrenzt. Weitere Informationen dazu, wie Sie den maximalen Wert für Ihre Rolle anzeigen, finden Sie unter Aktualisieren der maximalen Sitzungsdauer für eine Rolle.
Wenn Sie die Verkettung von Rollen verwenden, ist Ihre Sitzungsdauer auf die maximale Dauer von einer Stunde begrenzt. Wenn Sie den duration-seconds-Parameter verwenden, um einen Wert größer als eine Stunde anzugeben, schlägt die Operation fehl.
Beispielszenario: Wechseln zu einer Produktionsrolle
Stellen Sie sich vor, Sie sind ein IAM-Benutzer und arbeiten in der der Entwicklungsumgebung. In diesem Szenario müssen Sie gelegentlich mit der Produktionsumgebung an der Befehlszeile mit der AWS CLI
Anmerkung
Aus Sicherheitsgründen können Administratoren anhand von AWS CloudTrail Protokollen herausfinden, wer eine Aktion in ausgeführt hat AWS. Ihr Administrator erfordert möglicherweise, dass Sie einen bestimmten Wert für den Sitzungsnamen angeben, wenn Sie die Rolle übernehmen. Weitere Informationen erhalten Sie unter sts:SourceIdentity und sts:RoleSessionName.
So wechseln Sie zu einer Produktionsrolle (AWS CLI)
-
Wenn Sie das noch nie verwendet haben AWS CLI, müssen Sie zuerst Ihr Standard-CLI-Profil konfigurieren. Öffnen Sie eine Befehlszeile und richten Sie Ihre AWS CLI Installation so ein, dass sie den Zugriffsschlüssel Ihres IAM-Benutzers oder Ihrer Verbundrolle verwendet. Weitere Informationen finden Sie unter Konfigurieren der AWS Command Line Interface im AWS Command Line Interface -Leitfaden.
Konfigurieren Sie die mit dem Befehl wie folgt:
aws configureWenn Sie dazu aufgefordert werden, geben Sie die folgenden Informationen an:
AWS Access Key ID [None]:AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLEDefault region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault output format [None]:us-east-2json -
Erstellen Sie ein neues Profil für die Rolle in der Datei
.aws/configin Unix oder Linux oder in der DateiC:\Users\USERNAME\.aws\configin Windows. Im folgenden Beispiel wird ein Profil mit dem Namenprodaccesserstellt, das zur RolleimProductionAccessRole123456789012-Konto wechselt. Der ARN der Rolle wird Ihnen vom Kontoadministrator, der die Rolle erstellt hat, mitgeteilt. Wenn dieses Profil aufgerufen wird, AWS CLI verwendet es die Anmeldeinformationen von, um Anmeldeinformationen für diesource_profileRolle anzufordern. Daher muss die Identität, die alssource_profilereferenziert ist, übersts:AssumeRole-Berechtigungen für die Rolle verfügen, die inrole_arnangegeben ist.[profile prodaccess] role_arn = arn:aws:iam::123456789012:role/ProductionAccessRole source_profile = default -
Nachdem Sie das neue Profil erstellt haben, wird jeder AWS CLI Befehl, der den Parameter angibt, unter den Berechtigungen
--profile prodaccessausgeführt, die der IAM-Rolle zugewiesen sind, und nicht unter den BerechtigungenProductionAccessRoledes Standardbenutzers.aws iam list-users --profile prodaccessDieser Befehl funktioniert, wenn die Berechtigungen, die
ProductionAccessRolezugeordnet sind, das Auflisten der Benutzer im aktuellen AWS -Konto ermöglichen. -
Um zu den Berechtigungen zurückzukehren, die von Ihren ursprünglichen Anmeldeinformationen erteilt wurden, führen Sie Befehle ohne den
--profile-Parameter. Das AWS CLI verwendet wieder die Anmeldeinformationen in Ihrem Standardprofil, in dem Sie es konfiguriert haben. Schritt 1
Weitere Informationen hierzu finden Sie unter Assuming a Role im AWS Command Line Interface Leitfaden.
Beispielszenario: Einer Instance-Profilrolle erlauben, zu einer Rolle in einem anderen Konto zu wechseln
Stellen Sie sich vor AWS-Konten, Sie verwenden zwei und möchten einer Anwendung, die auf einer EC2 Amazon-Instance ausgeführt wird, erlauben, AWS CLI111111111111. Diese Instance enthält die abcd-Instance-Profilrolle, die der Anwendung erlaubt, schreibgeschützte Amazon S3-Aufgaben für den amzn-s3-demo-bucket1-Bucket innerhalb desselben 111111111111 Kontos auszuführen. Die Anwendung muss aber auch berechtigt sein, die kontoübergreifende efgh-Rolle zu übernehmen, um Aufgaben im Konto 222222222222 auszuführen. Zu diesem Zweck muss die abcd EC2 Instanzprofilrolle über die folgende Berechtigungsrichtlinie verfügen:
Konto 111111111111 abcd Rollen-Berechtigungsrichtlinie
Gehen Sie davon aus, dass die kontoübergreifende efgh-Rolle die Ausführung schreibgeschützter Amazon S3-Aufgaben für den amzn-s3-demo-bucket2-Bucket im selben 222222222222-Konto zulässt. Dazu muss der kontoübergreifenden efgh-Rolle die folgende Berechtigungsrichtlinie zugeordnet sein:
Konto 222222222222 efgh Rollen-Berechtigungsrichtlinie
Die efgh-Rolle muss der abcd-Instance-Profilrolle die Übernahme erlauben. Dazu benötigt die efgh-Rolle die folgende Vertrauensrichtlinie:
Konto 222222222222 efgh Rollen-Berechtigungsrichtlinie
Um dann AWS CLI Befehle im Konto auszuführen222222222222, müssen Sie die CLI-Konfigurationsdatei aktualisieren. Identifizieren Sie in der AWS CLI
Konfigurationsdatei die efgh Rolle als „Profil“ und die abcd EC2 Instanzprofilrolle als „Quelle für Anmeldeinformationen“. Dann werden Ihre CLI-Befehle mit den Berechtigungen der efgh-Rolle und nicht mit denen der ursprünglichen abcd-Rolle ausgeführt.
Anmerkung
Aus Sicherheitsgründen können Sie AWS CloudTrail damit die Verwendung von Rollen im Konto überprüfen. Um in CloudTrail Protokollen zwischen Rollensitzungen zu unterscheiden, wenn eine Rolle von verschiedenen Prinzipalen verwendet wird, können Sie den Namen der Rollensitzung verwenden. Wenn der eine Rolle im Namen eines Benutzers AWS CLI übernimmt, wie in diesem Thema beschrieben, wird automatisch ein Rollensitzungsname als AWS-CLI-session- erstellt. Hier nnnnnnnnnnnnnnnn ist eine Ganzzahl, die die Zeit in Unix-Epochenzeit
Um zu ermöglichen, dass eine EC2 Instanzprofilrolle zu einer kontoübergreifenden Rolle wechselt ()AWS CLI
-
Sie müssen kein Standard-CLI-Profil konfigurieren. Stattdessen können Sie Anmeldeinformationen aus den Metadaten des EC2 Instanzprofils laden. Erstellen Sie ein neues Profil für die Rolle in der
.aws/config-Datei. Das folgende Beispiel erstellt eininstancecrossaccount-Profil, das zur-Rolle imefgh222222222222-Konto wechselt. Wenn dieses Profil aufgerufen wird, AWS CLI verwendet es die Anmeldeinformationen der Metadaten des EC2 Instanzprofils, um Anmeldeinformationen für die Rolle anzufordern. Aus diesem Grund muss die EC2 Instanzprofilrolle übersts:AssumeRoleBerechtigungen für die in derrole_arnangegebene Rolle verfügen.[profile instancecrossaccount] role_arn = arn:aws:iam::222222222222:role/efgh credential_source = Ec2InstanceMetadata -
Nachdem Sie das neue Profil erstellt haben, wird jeder AWS CLI Befehl, der den Parameter angibt, unter den Berechtigungen
--profile instancecrossaccountausgeführt, die derefghRolle im Konto zugewiesen sind222222222222.aws s3 ls amzn-s3-demo-bucket2 --profile instancecrossaccountDieser Befehl funktioniert, wenn die Berechtigungen, die zur
efgh-Rolle zugewiesen sind, die Auflistung der Benutzer im aktuellen AWS-Konto zulässt. -
Um zu den ursprünglichen EC2 Instanzprofilberechtigungen im Konto zurückzukehren
111111111111, führen Sie die CLI-Befehle ohne den--profileParameter aus.
Weitere Informationen hierzu finden Sie unter Assuming a Role im AWS Command Line Interface Leitfaden.