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.
Konfiguration der IAM Identity Center-Authentifizierung mit dem AWS CLI
Dieses Thema enthält Anweisungen zur Konfiguration von AWS CLI with AWS IAM Identity Center (IAMIdentity Center) zum Abrufen von Anmeldeinformationen für die Ausführung von AWS CLI Befehlen. Es gibt hauptsächlich zwei Möglichkeiten, Benutzer mit IAM Identity Center zu authentifizieren, um Anmeldeinformationen für die Ausführung von AWS CLI Befehlen über die config
Datei zu erhalten:
-
(Empfohlene) Konfiguration des SSO Token-Anbieters.
-
Nicht aktualisierbare Legacy-Konfiguration.
Informationen zur Verwendung der Bearer-Authentifizierung, die keine Konto-ID und Rolle verwendet, finden Sie unter Einrichtung zur Verwendung von AWS CLI with CodeCatalyst im CodeCatalyst Amazon-Benutzerhandbuch.
Anmerkung
Eine Anleitung zur Verwendung von IAM Identity Center mit AWS CLI Befehlen finden Sie unter. Tutorial: Verwenden von IAM Identity Center zur Ausführung von Amazon S3 S3-Befehlen in AWS CLI
Topics
Voraussetzungen
-
Installieren Sie die AWS CLI. Weitere Informationen finden Sie unter Installation oder Aktualisierung auf die neueste Version von AWS CLI.
-
Sie müssen zunächst Zugriff auf die SSO Authentifizierung innerhalb von IAM Identity Center haben. Wählen Sie eine der folgenden Methoden, um auf Ihre AWS Anmeldeinformationen zuzugreifen.
Folgen Sie den Anweisungen unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch. Durch diesen Vorgang wird IAM Identity Center aktiviert, ein Administratorbenutzer erstellt und ein entsprechender Berechtigungssatz mit den geringsten Rechten hinzugefügt.
Anmerkung
Erstellen Sie einen Berechtigungssatz, der Berechtigungen mit den geringsten Rechten anwendet. Wir empfehlen, den vordefinierten PowerUserAccess
-Berechtigungssatz zu verwenden, es sei denn, Ihr Arbeitgeber hat zu diesem Zweck einen benutzerdefinierten Berechtigungssatz erstellt.
Verlassen Sie das Portal und melden Sie sich erneut an AWS-Konten, um Ihre programmatischen Zugangsdaten und Optionen für oder zu sehen. Administrator
PowerUserAccess
Wählen Sie diese OptionPowerUserAccess
, wenn Sie mit dem SDK arbeiten.
Melden Sie sich AWS über das Portal Ihres Identitätsanbieters an. Wenn Ihr Cloud-Administrator Ihnen PowerUserAccess
(Entwickler-) Berechtigungen erteilt hat, sehen Sie, auf AWS-Konten welche Sie Zugriff haben, und Ihren Berechtigungssatz. Neben dem Namen Ihres Berechtigungssatzes sehen Sie Optionen für den manuellen oder programmgesteuerten Zugriff auf die Konten mithilfe dieses Berechtigungssatzes.
Benutzerdefinierte Implementierungen können zu unterschiedlichen Erfahrungen führen, z. B. zu unterschiedlichen Namen von Berechtigungssätzen. Wenn Sie sich nicht sicher sind, welchen Berechtigungssatz Sie verwenden sollen, wenden Sie sich an Ihr IT-Team.
Melden Sie sich AWS über Ihr AWS Zugangsportal an. Wenn Ihr Cloud-Administrator Ihnen PowerUserAccess
(Entwickler-) Berechtigungen erteilt hat, sehen Sie, auf AWS-Konten welche Sie Zugriff haben, und Ihren Berechtigungssatz. Neben dem Namen Ihres Berechtigungssatzes sehen Sie Optionen für den manuellen oder programmgesteuerten Zugriff auf die Konten mithilfe dieses Berechtigungssatzes.
Wenden Sie sich an Ihr IT-Team, um Hilfe zu erhalten.
Nachdem Sie Zugriff auf IAM Identity Center erhalten haben, sammeln Sie Ihre IAM Identity Center-Informationen, indem Sie wie folgt vorgehen:
-
Wählen Sie in Ihrem AWS Zugriffsportal den Berechtigungssatz aus, den Sie für die Entwicklung verwenden, und klicken Sie auf den Link Zugriffstasten.
-
Wählen Sie im Dialogfeld Anmeldeinformationen abrufen die Registerkarte aus, die Ihrem Betriebssystem entspricht.
-
Wählen Sie die IAMIdentity Center-Anmeldedatenmethode, um die
SSO Region
WerteSSO Start URL
und abzurufen, die Sie zur Ausführung benötigenaws configure sso
. Informationen dazu, welcher Bereichswert registriert werden soll, finden Sie unter OAuth2.0 Zugriffsbereiche im IAMIdentity Center-Benutzerhandbuch.
Konfigurieren Ihres Profils mit dem aws
configure sso
-Assistenten
So konfigurieren Sie ein IAM Identity Center-Profil für Ihr: AWS CLI
-
Führen Sie den
aws configure sso
Befehl in Ihrem bevorzugten Terminal aus. -
Die AWS CLI Versuche, Ihren Standardbrowser für den Anmeldevorgang Ihres IAM Identity Center-Kontos zu öffnen. Bei diesem Vorgang werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu gewähren. Da AWS CLI der auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des
botocore
Namens enthalten.Wenn der Browser AWS CLI nicht geöffnet werden kann, werden Anweisungen zum manuellen Starten des Anmeldevorgangs angezeigt.
If the browser does not open or you wish to use a different device to authorize this request, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
Then enter the code:QCFK-N451
-
Wählen Sie das zu verwendende AWS Konto aus der angezeigten Liste aus. Wenn Sie berechtigt sind, nur ein Konto zu verwenden, wählt das AWS CLI automatisch dieses Konto aus und überspringt die Eingabeaufforderung.
There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (
123456789011
) ProductionAccount, production-account-admin@example.com (123456789022
) -
Wählen Sie die zu verwendende IAM Rolle aus der angezeigten Liste aus. Wenn nur eine Rolle verfügbar ist, wählt die AWS CLI automatisch diese Rolle aus und überspringt die Eingabeaufforderung.
Using the account ID
123456789011
There are 2 roles available to you. > ReadOnly FullAccess -
Geben Sie das Standardausgabeformat, das AWS-Region Standardformat für das Senden von Befehlen und einen Namen für das Profil an. Wenn Sie
default
als Profilnamen angeben, wird dieses Profil als Standardprofil verwendet. Im folgenden Beispiel gibt der Benutzer eine Standardregion, ein Standardausgabeformat und den Namen des Profils ein.CLI default client Region [None]:
us-west-2
<ENTER>CLI default output format [None]:
json
<ENTER>CLI profile name [123456789011_ReadOnly]:
my-dev-profile
<ENTER> -
Eine abschließende Meldung beschreibt die abgeschlossene Profilkonfiguration. Sie können dieses Profil jetzt verwenden, um Anmeldeinformationen anzufordern. Verwenden Sie den
aws sso login
-Befehl, um die Anmeldeinformationen, die zum Ausführen von Befehlen erforderlich sind, anzufordern und abzurufen. Detaillierte Anweisungen finden Sie unter Melden Sie sich bei einer IAM Identity Center-Sitzung an.
Diese Schritte führen dazu, dass der sso-session
Abschnitt und das benannte Profil in der config
Datei erstellt werden, die wie folgt aussehen:
Ausschließliches Konfigurieren des sso-session
-Abschnitts mit dem aws configure sso-session
-Assistenten
Anmerkung
Diese Konfiguration ist nicht mit dem älteren IAM Identity Center kompatibel.
Der aws configure sso-session
Befehl aktualisiert die sso-session
Abschnitte in der ~/.aws/config
Datei. Führen Sie den aws configure sso-session
Befehl aus und geben Sie Ihren IAM Identity Center-Start URL und die AWS Region an, in der das IAM Identity Center-Verzeichnis gehostet wird.
$
aws configure sso-session
SSO session name:
my-sso
SSO start URL [None]:
https://my-sso-portal.awsapps.com/start
SSO region [None]:
us-east-1
SSO registration scopes [None]:
sso:account:access
Manuelle Konfiguration mithilfe der config
-Datei
IAMDie Identity Center-Konfigurationsinformationen werden in der config
Datei gespeichert und können mit einem Texteditor bearbeitet werden. Um IAM Identity Center-Unterstützung manuell zu einem benannten Profil hinzuzufügen, müssen Sie der config
Datei Schlüssel und Werte hinzufügen.
Der sso-session
Abschnitt der config
Datei wird verwendet, um Konfigurationsvariablen für den Erwerb von SSO Zugriffstoken zu gruppieren, die dann zum Abrufen von AWS Anmeldeinformationen verwendet werden können. Die folgenden Einstellungen werden verwendet:
-
(Erforderlich)
sso_start_url
-
(Erforderlich)
sso_region
Sie definieren einen sso-session
Abschnitt und ordnen ihn einem Profil zu. Die sso_start_url
Einstellungen sso_region
und müssen innerhalb des sso-session
Abschnitts festgelegt werden. In sso_account_id
der Regel sso_role_name
müssen sie in dem profile
Abschnitt festgelegt werden, damit sie SSO Anmeldeinformationen anfordern SDK können.
Im folgenden Beispiel wird das so konfiguriert, dass es SSO Anmeldeinformationen SDK anfordert, und unterstützt die automatische Token-Aktualisierung:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Dadurch können sso-session
-Konfigurationen zudem auch in mehreren Profilen wiederverwendet werden:
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[profileprod
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole2
[sso-sessionmy-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
Sie sind jedoch sso_account_id
sso_role_name
nicht für alle Szenarien der SSO Token-Konfiguration erforderlich. Wenn Ihre Anwendung nur AWS Dienste verwendet, die die Trägerauthentifizierung unterstützen, sind herkömmliche AWS
Anmeldeinformationen nicht erforderlich. Die Bearer-Authentifizierung ist ein HTTP Authentifizierungsschema, das Sicherheitstoken verwendet, die als Bearer-Token bezeichnet werden. In diesem Szenario sind sso_account_id
und sso_role_name
nicht erforderlich. Sehen Sie sich die individuelle Anleitung für Ihren AWS Dienst an, um festzustellen, ob er die Bearer-Token-Autorisierung unterstützt.
Darüber hinaus können Registrierungsbereiche als Teil von sso-session
konfiguriert werden. Scope ist ein Mechanismus in OAuth 2.0, mit dem der Zugriff einer Anwendung auf das Konto eines Benutzers beschränkt werden kann. Eine Anwendung kann einen oder mehrere Bereiche anfordern und das an die Anwendung ausgegebene Zugriffstoken ist auf die gewährten Bereiche beschränkt. Diese Bereiche definieren die für die Autorisierung des registrierten OIDC Clients angeforderten Berechtigungen und die vom Client abgerufenen Zugriffstoken. Im folgenden Beispiel wird sso_registration_scopes
so festgelegt, dass der Zugriff zum Auflisten von Konten/Rollen möglich ist:
[sso-session
my-sso
] sso_region =us-east-1
sso_start_url =https://my-sso-portal.awsapps.com/start
sso_registration_scopes =sso:account:access
Das Authentifizierungs-Token wird auf der Festplatte unter dem Verzeichnis sso/cache
mit einem Dateinamen zwischengespeichert, der auf dem Sitzungsnamen basiert.
Anmerkung
Die automatisierte Token-Aktualisierung wird bei Verwendung der nicht aktualisierbaren Legacy-Konfiguration nicht unterstützt. Wir empfehlen die Verwendung der SSO Token-Konfiguration.
Um IAM Identity Center-Unterstützung manuell zu einem benannten Profil hinzuzufügen, müssen Sie der Profildefinition in der config
Datei die folgenden Schlüssel und Werte hinzufügen.
Sie können alle anderen gültigen Schlüssel und Werte in die .aws/config
Datei aufnehmen. Das folgende Beispiel ist ein IAM Identity Center-Profil:
[profile
my-sso-profile
] sso_start_url =https://my-sso-portal.awsapps.com/start
sso_region =us-west-2
sso_account_id =111122223333
sso_role_name =SSOReadOnlyRole
region =us-west-2
output =json
Um Befehle auszuführen, müssen Sie zuerst Melden Sie sich bei einer IAM Identity Center-Sitzung an Ihre temporären Anmeldeinformationen anfordern und abrufen.
Weitere Informationen zu den Dateien config
und credentials
finden Sie unter Einstellungen für die Konfiguration und die Anmeldeinformationsdatei in der AWS CLI.
Melden Sie sich bei einer IAM Identity Center-Sitzung an
Anmerkung
Während des Anmeldevorgangs werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu gewähren. Da AWS CLI der auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des botocore
Namens enthalten.
Um einen Satz von IAM Identity Center-Anmeldeinformationen abzurufen und zwischenzuspeichern, führen Sie den folgenden Befehl aus, AWS CLI um Ihren Standardbrowser zu öffnen und Ihre IAM Identity Center-Anmeldung zu überprüfen.
$
aws sso login --profile my-dev-profile
SSO authorization page has automatically been opened in your default browser.
Follow the instructions in the browser to complete this authorization request.
Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start
Ihre IAM Identity Center-Sitzungsinformationen werden zwischengespeichert und dann AWS CLI verwendet, um AWS Anmeldeinformationen für die im Profil angegebene IAM Rolle sicher abzurufen.
Wenn der Ihren Browser nicht öffnen AWS CLI kann, werden Sie aufgefordert, ihn selbst zu öffnen und den angegebenen Code einzugeben.
$
aws sso login --profile
my-dev-profile
Using a browser, open the following URL:
https://device.sso.us-west-2.amazonaws.com/
and enter the following code:QCFK-N451
Mit dem Parameter --sso-session
des aws sso login
-Befehls können Sie auch angeben, welches sso-session
-Profil bei der Anmeldung verwendet werden soll. Die sso-session
Option ist für ältere Versionen von IAM Identity Center nicht verfügbar.
$
aws sso login --sso-session
my-dev-session
Das Authentifizierungstoken wird auf der Festplatte unter dem ~/.aws/sso/cache
Verzeichnis zwischengespeichert, dessen Dateiname auf dem sso_start_url
basiert.
Führen Sie einen Befehl mit Ihrem IAM Identity Center-Profil aus
Sobald Sie angemeldet sind, können Sie Ihre Anmeldeinformationen verwenden, um AWS CLI Befehle mit dem zugehörigen benannten Profil aufzurufen. Das folgende Beispiel zeigt einen Befehl, der ein Profil verwendet:
$
aws sts get-caller-identity --profile
my-dev-profile
Solange Sie bei IAM Identity Center angemeldet sind und die zwischengespeicherten Anmeldeinformationen nicht abgelaufen sind, werden abgelaufene AWS Anmeldeinformationen bei Bedarf AWS CLI automatisch erneuert. Wenn Ihre IAM Identity Center-Anmeldeinformationen jedoch ablaufen, müssen Sie sie ausdrücklich erneuern, indem Sie sich erneut bei Ihrem IAM Identity Center-Konto anmelden.
Melden Sie sich von Ihren IAM Identity Center-Sitzungen ab
Wenn Sie Ihr IAM Identity Center-Profil nicht mehr verwenden, können Sie Ihre Anmeldeinformationen ablaufen lassen oder den folgenden Befehl ausführen, um Ihre zwischengespeicherten Anmeldeinformationen zu löschen.
$
aws sso logout
Successfully signed out of all SSO profiles.
Fehlerbehebung
Wenn Sie bei der Verwendung von auf Probleme stoßen AWS CLI, finden Sie unter Schritte Behebung von Fehlern für den AWS CLI zur Fehlerbehebung.
Zugehörige Ressourcen
Die zusätzlichen Ressourcen lauten wie folgt.
-
Tutorial: Verwenden von IAM Identity Center zur Ausführung von Amazon S3 S3-Befehlen in AWS CLI
-
Installation oder Aktualisierung auf die neueste Version von AWS CLI
-
Einstellungen für die Konfiguration und die Anmeldeinformationsdatei in der AWS CLI
-
aws configure sso
in der Referenz zu AWS CLI Version 2 -
aws configure sso-session
in der AWS CLI Version 2 Reference -
aws sso login
in der AWS CLI Version 2 Reference -
aws sso logout
in der AWS CLI Version 2 Reference -
Einrichtung für die Verwendung von AWS CLI with CodeCatalyst im CodeCatalyst Amazon-Benutzerhandbuch
-
OAuth2.0 Zugriffsbereiche im IAMIdentity Center-Benutzerhandbuch
-
Tutorials für die ersten Schritte im IAMIdentity Center-Benutzerhandbuch