Konfiguration der IAM Identity Center-Authentifizierung mit dem AWS CLI - AWS Command Line Interface

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

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:

  1. Wählen Sie in Ihrem AWS Zugriffsportal den Berechtigungssatz aus, den Sie für die Entwicklung verwenden, und klicken Sie auf den Link Zugriffstasten.

  2. Wählen Sie im Dialogfeld Anmeldeinformationen abrufen die Registerkarte aus, die Ihrem Betriebssystem entspricht.

  3. Wählen Sie die IAMIdentity Center-Anmeldedatenmethode, um die SSO Region Werte SSO 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
  1. Führen Sie den aws configure sso Befehl in Ihrem bevorzugten Terminal aus.

    IAM Identity Center

    Erstellen Sie einen Sitzungsnamen, geben Sie Ihren IAM Identity Center-StartURL, den AWS-Region Namen, der das IAM Identity Center-Verzeichnis hostet, und den Registrierungsbereich an.

    $ aws configure sso SSO session name (Recommended): 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
    Legacy IAM Identity Center

    Überspringen Sie den Sitzungsnamen und geben Sie Ihren IAM Identity Center-Start URL und die AWS Region an, in der das Identity Center-Verzeichnis gehostet wird.

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. 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
  3. 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)
  4. 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
  5. 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>
  6. 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:

IAM Identity Center
[profile my-dev-profile] sso_session = my-sso sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json [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
Legacy IAM Identity Center
[profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

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:

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-session my-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 [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-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.