Konfigurieren Sie den AWS CLI für die Verwendung der Anmeldeinformationen des IAM Identity Center-Token-Anbieters mit automatischer Authentifizierungsaktualisierung - 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.

Konfigurieren Sie den AWS CLI für die Verwendung der Anmeldeinformationen des IAM Identity Center-Token-Anbieters mit automatischer Authentifizierungsaktualisierung

In diesem Thema wird beschrieben, wie Sie die Konfiguration AWS CLI für die Authentifizierung von Benutzern mit der Token-Provider-Konfiguration AWS IAM Identity Center (IAM Identity Center) konfigurieren. Mit dieser Konfiguration des SSO-Token-Anbieters kann Ihr AWS -SDK oder -Tool automatisch aktualisierte Authentifizierungs-Token abrufen.

Bei Verwendung des IAM Identity Center können Sie sich bei Active Directory, einem integrierten IAM-Identity-Center-Verzeichnis oder einem anderen mit dem IAM Identity Center verbundenen IdP anmelden. Sie können diese Anmeldeinformationen einer AWS Identity and Access Management (IAM-) Rolle zuordnen, damit Sie Befehle ausführen können. AWS CLI

Unabhängig davon, welchen IdP Sie verwenden, abstrahiert das IAM Identity Center diese Unterschiede. So können Sie beispielsweise Microsoft Azure AD wie in dem Blogartikel The Next Evolution in IAM Identity Center beschrieben verbinden.

Anmerkung

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.

Sie können die Konfiguration des SSO-Token-Anbieters verwenden, um Authentifizierungstoken bei Bedarf für Ihre Anwendung automatisch zu aktualisieren und Optionen für die erweiterte Sitzungsdauer zu verwenden. Sie können dies wie folgt konfigurieren:

  • Automatisch mit den aws configure sso- und aws configure sso-session-Befehlen. Bei den folgenden Befehlen handelt es sich um Assistenten, die Sie durch die Konfiguration Ihres Profils führen. Die sso-session-Informationen lauten wie folgt:

    • Verwenden Sie aws configure sso zum Erstellen oder Bearbeiten Ihrer config-Profile und sso-session-Abschnitte.

    • Verwenden Sie aws configure sso-session, um nur sso-session-Abschnitte zu erstellen oder zu bearbeiten.

  • Manuell durch Bearbeiten der config-Datei, in der die benannten Profile gespeichert sind.

Voraussetzungen

Folgen Sie den Anweisungen unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch. Dieser Prozess aktiviert IAM Identity Center, erstellt einen Administratorbenutzer und fügt einen entsprechenden Berechtigungssatz mit der geringsten Berechtigung hinzu.

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, um Ihre Optionen AWS-Konten und Optionen für oder zu sehen. Administrator PowerUserAccess Wählen Sie PowerUserAccess aus, wenn Sie mit dem SDK arbeiten. Dies hilft Ihnen auch, Details zum programmgesteuerten Zugriff zu finden.

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 das 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.

Konfigurieren Ihres Profils mit dem aws configure sso-Assistenten

So konfigurieren Sie ein IAM-Identity-Center-Profil und eine sso-session für Ihre AWS CLI
  1. Erfassen 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 Methode für die IAM Identity Center-Anmeldeinformationen aus, um die Werte SSO Start URL und SSO Regionabzurufen, die Sie zur Ausführung von aws configure sso benötigen.

    4. Informationen dazu, welcher Bereichswert registriert werden soll, finden Sie unter OAuth 2.0-Zugriffsbereiche im IAM Identity Center-Benutzerhandbuch.

  2. Führen Sie den aws configure sso Befehl in Ihrem bevorzugten Terminal aus und geben Sie Ihre IAM Identity Center-Start-URL und die AWS Region ein, in der das Identity Center-Verzeichnis gehostet wird.

    $ 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
  3. AWS CLI Es wird versucht, Ihren Standardbrowser zu öffnen und den Anmeldevorgang für Ihr IAM Identity Center-Konto zu starten.

    Attempting to automatically open the SSO authorization page in your default browser.

    Wenn der Browser AWS CLI nicht geöffnet werden kann, wird die folgende Meldung mit 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

    Das IAM Identity Center verwendet den Code, um die IAM–Identity-Center-Sitzung Ihrer aktuellen AWS CLI -Sitzung zuzuordnen. Auf der Browserseite des IAM Identity Center werden Sie aufgefordert, sich mit Ihren IAM-Identity-Center-Anmeldeinformationen anzumelden. Dadurch erhalten Sie die Erlaubnis, AWS CLI die AWS Konten und Rollen abzurufen und anzuzeigen, für deren Verwendung Sie mit IAM Identity Center autorisiert sind.

    Anmerkung

    Während des Anmeldevorgangs werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu gewähren. Da AWS CLI das auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des botocore Namens enthalten.

  4. Das AWS CLI zeigt die AWS Konten an, die Sie verwenden können. Wenn Sie berechtigt sind, nur ein Konto zu verwenden, AWS CLI wählt der dieses Konto automatisch für Sie aus und überspringt die Eingabeaufforderung. Welche AWS Konten Ihnen zur Verfügung stehen, hängt von Ihrer Benutzerkonfiguration in IAM Identity Center ab.

    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 mit den Pfeiltasten das Konto aus, das Sie verwenden möchten. Das Zeichen „>“ auf der linken Seite zeigt auf die aktuelle Auswahl. Betätigen Sie die EINGABETASTE, um Ihre Auswahl zu treffen.

  5. Das AWS CLI bestätigt Ihre Kontoauswahl und zeigt die IAM-Rollen an, die Ihnen im ausgewählten Konto zur Verfügung stehen. Wenn das ausgewählte Konto nur eine Rolle auflistet, AWS CLI wählt es diese Rolle automatisch für Sie aus und überspringt die Aufforderung. Die Rollen, die Ihnen zur Verwendung zur Verfügung stehen, werden durch Ihre Benutzerkonfiguration im IAM Identity Center bestimmt.

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess

    Verwenden Sie die Pfeiltasten, um die zu verwendende IAM-Rolle auszuwählen, und drücken Sie die <EINGABETASTE>.

  6. Geben Sie das Standardausgabeformat, die standardmäßige AWS-Region, an die Befehle gesendet werden sollen, und einen Namen für das Profil an, damit Sie auf dieses Profil unter allen auf dem lokalen Computer definierten Profilen verweisen können. Im folgenden Beispiel gibt der Benutzer eine Standardregion, ein Standardausgabeformat und den Namen des Profils ein. Sie können alternativ <ENTER> betätigen, um alle Standardwerte auszuwählen, die zwischen den eckigen Klammern angezeigt werden, wenn Sie bereits eine Konfiguration haben. Der vorgeschlagene Profilname ist die Konto-ID-Nummer gefolgt von einem Unterstrich und dem Rollennamen.

    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>
    Anmerkung

    Wenn Sie default als Profilnamen angeben, wird dieses Profil immer dann verwendet, wenn Sie einen AWS CLI Befehl ausführen und keinen Profilnamen angeben.

  7. Eine abschließende Meldung beschreibt die abgeschlossene Profilkonfiguration.

    To use this profile, specify the profile name using --profile, as shown: aws s3 ls --profile my-dev-profile
  8. Dies führt dazu, dass der sso-session-Abschnitt und das benannte Profil in ~/.aws/config erstellt werden, das wie folgt aussieht:

    [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

    Sie können nun diese sso-session und das Profil verwenden, um aktualisierte Anmeldeinformationen anzufordern. Verwenden Sie den aws sso login-Befehl, um die Anmeldeinformationen, die zum Ausführen von Befehlen erforderlich sind, anzufordern und abzurufen. Anweisungen finden Sie unter Verwenden eines benannten IAM-Identity-Center-Profils .

Ausschließliches Konfigurieren des sso-session-Abschnitts mit dem aws configure sso-session-Assistenten

Der aws configure sso-session-Befehl aktualisiert nur die sso-session-Abschnitte in der Datei ~/.aws/config. Dieser Befehl kann verwendet werden, um Ihre Sitzungen zu erstellen oder zu aktualisieren. Dies ist nützlich, wenn Sie bereits über bestehende Konfigurationseinstellungen verfügen und eine neue Konfiguration erstellen oder eine bestehende sso-session-Konfiguration bearbeiten möchten.

Führen Sie den aws configure sso-session Befehl aus und geben Sie Ihre IAM Identity Center-Start-URL und die AWS Region an, in der das 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

Nach Eingabe Ihrer Informationen wird in einer Meldung die abgeschlossene Profilkonfiguration beschrieben.

Completed configuring SSO session: my-sso Run the following to login and refresh access token for this session: aws sso login --sso-session my-sso
Anmerkung

Wenn Sie bei der sso-session, die Sie gerade aktualisieren, angemeldet sind, aktualisieren Sie Ihr Token durch Ausführung des aws sso login-Befehls.

Manuelle Konfiguration mithilfe der config-Datei

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. sso_region und sso_start_url müssen innerhalb des sso-session-Abschnitts festgelegt werden. Normalerweise müssen sso_account_id und sso_role_name im profile-Abschnitt festgelegt werden, damit das SDK SSO-Anmeldeinformationen anfordern kann.

Im folgenden Beispiel wird das SDK für die Anforderung von SSO-Anmeldeinformationen konfiguriert und es wird eine automatische Token-Aktualisierung unterstützt:

[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

sso_account_id und sso_role_name sind jedoch 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. Bei der Bearer-Authentifizierung handelt es sich um ein HTTP-Authentifizierungsschema, das Sicherheitstoken, sogenannte Bearer-Token, verwendet. In diesem Szenario sind sso_account_id und sso_role_name nicht erforderlich. Im jeweiligen Leitfaden für Ihren AWS -Service können Sie nachlesen, ob die Autorisierung mit Bearer-Token unterstützt wird.

Darüber hinaus können Registrierungsbereiche als Teil von sso-session konfiguriert werden. Ein Bereich ist ein Mechanismus in OAuth 2.0, um den Zugriff einer Anwendung auf ein Benutzerkonto zu beschränken. 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 Berechtigungen, die für die Autorisierung für den registrierten OIDC-Client angefordert werden, 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 ~/.aws/sso/cache mit einem Dateinamen zwischengespeichert, der auf dem Sitzungsnamen basiert.