Verwenden der AWS CLI für die Portalanmeldung - AWS Tools for PowerShell

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.

Verwenden der AWS CLI für die Portalanmeldung

Beginnend mit Version 4.1.538 der Tools for besteht PowerShelldie empfohlene Methode zum Konfigurieren von SSO-Anmeldeinformationen und zum Starten einer AWS -Zugriffsportalsitzung darin, die Invoke-AWSSSOLogin - Initialize-AWSSSOConfiguration und -Cmdlets zu verwenden, wie unter beschriebenKonfigurieren der Tool-Authentifizierung mit AWS. Wenn Sie keinen Zugriff auf diese Version der Tools für PowerShell (oder höher) haben oder diese Cmdlets nicht verwenden können, können Sie diese Aufgaben trotzdem mithilfe der ausführen AWS CLI.

Konfigurieren Sie die Tools für PowerShell zur Verwendung von IAM Identity Center über die AWS CLI.

Wenn Sie dies noch nicht getan haben, stellen Sie sicher, dass Sie IAM Identity Center aktivieren und konfigurieren, bevor Sie fortfahren.

Informationen zur Konfiguration der Tools für für PowerShell für die Verwendung von IAM Identity Center über die AWS CLI finden Sie in Schritt 2 im Thema zur IAM-Identity-Center-Authentifizierung im AWS Referenzhandbuch zu -SDKs und Tools. Nachdem Sie diese Konfiguration abgeschlossen haben, sollte Ihr System die folgenden Elemente enthalten:

  • Die AWS CLI, mit der Sie eine AWS -Zugriffsportalsitzung starten, bevor Sie Ihre Anwendung ausführen.

  • Die AWS config freigegebene Datei, die ein [default] Profil mit einer Reihe von Konfigurationswerten enthält, auf die über die Tools für verwiesen werden kann PowerShell. Den Speicherort dieser Datei finden Sie unter Speicherort der freigegebenen Dateien im Referenzhandbuch für AWS SDKs und Tools. Die Tools für PowerShell verwenden den SSO-Token-Anbieter des Profils, um Anmeldeinformationen zu erhalten, bevor Anfragen an gesendet werden AWS. Der sso_role_name Wert, bei dem es sich um eine IAM-Rolle handelt, die mit einem IAM-Identity-Center-Berechtigungssatz verbunden ist, sollte den Zugriff auf die in Ihrer Anwendung AWS-Services verwendeten ermöglichen.

    Die folgende config Beispieldatei zeigt ein [default] Profil, das bei einem SSO-Token-Anbieter eingerichtet wurde. Die sso_session-Einstellung des Profils bezieht sich auf den benannten sso-session-Abschnitt. Der sso-session Abschnitt enthält Einstellungen zum Initiieren einer AWS -Zugriffsportalsitzung.

    [default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://provided-domain.awsapps.com/start sso_registration_scopes = sso:account:access
Wichtig

In Ihrer PowerShell Sitzung müssen die folgenden Module installiert und importiert sein, damit die SSO-Auflösung funktioniert:

  • AWS.Tools.SSO

  • AWS.Tools.SSOOIDC

Wenn Sie eine ältere Version der Tools für verwenden PowerShell und diese Module nicht haben, erhalten Sie eine Fehlermeldung ähnlich der folgenden: „Assembly AWSSDK.SSOOIDC konnte nicht gefunden werden...“.

Starten einer - AWS Zugriffsportalsitzung

Bevor Sie Befehle ausführen, die auf zugreifen AWS-Services, benötigen Sie eine aktive - AWS Zugriffsportalsitzung, damit die Tools for Windows die IAM-Identity-Center-Authentifizierung verwenden PowerShell können, um Anmeldeinformationen aufzulösen. Abhängig von Ihren konfigurierten Sitzungslängen läuft Ihr Zugriff schließlich ab und bei den Tools for Windows PowerShell tritt ein Authentifizierungsfehler auf. Um sich beim - AWS Zugriffsportal anzumelden, führen Sie den folgenden Befehl in der aus AWS CLI.

aws sso login

Da Sie das [default] Profil verwenden, müssen Sie den Befehl nicht mit der --profile Option aufrufen. Wenn Ihre Konfiguration des SSO-Token-Anbieters ein benanntes Profil verwendet, lautet der Befehl aws sso login --profile named-profile stattdessen . Weitere Informationen zu benannten Profilen finden Sie im Abschnitt Profile im AWS Referenzhandbuch zu -SDKs und Tools.

Um zu testen, ob Sie bereits über eine aktive Sitzung verfügen, führen Sie den folgenden AWS CLI Befehl aus (mit der gleichen Berücksichtigung für das benannte Profil):

aws sts get-caller-identity

In der Antwort auf diesen Befehl sollten das in der freigegebenen config-Datei konfigurierte IAM-Identity-Center-Konto und der Berechtigungssatz angegeben werden.

Anmerkung

Wenn Sie bereits über eine aktive - AWS Zugriffsportalsitzung verfügen und ausführenaws sso login, müssen Sie keine Anmeldeinformationen angeben.

Beim Anmeldevorgang werden Sie möglicherweise aufgefordert, den AWS CLI Zugriff auf Ihre Daten zu erlauben. Da die auf dem SDK für Python AWS CLI aufbaut, können Berechtigungsnachrichten Variationen des botocore Namens enthalten.

Beispiel

Im Folgenden finden Sie ein Beispiel für die Verwendung von IAM Identity Center mit den Tools für PowerShell. Dem Beispiel liegen folgende Annahmen zugrunde:

  • Sie haben IAM Identity Center aktiviert und wie zuvor in diesem Thema beschrieben konfiguriert. Die SSO-Eigenschaften befinden sich im [default]-Profil.

  • Wenn Sie sich über die AWS CLI mit anmeldenaws sso login, verfügt dieser Benutzer mindestens über Leseberechtigungen für Amazon S3.

  • Einige S3-Buckets stehen diesem Benutzer zur Ansicht zur Verfügung.

Verwenden Sie die folgenden PowerShell Befehle, um eine Liste der S3-Buckets anzuzeigen:

Install-Module AWS.Tools.Installer Install-AWSToolsModule S3 # And if using an older version of the AWS Tools for PowerShell: Install-AWSToolsModule SSO, SSOOIDC # In older versions of the AWS Tools for PowerShell, we're not invoking a cmdlet from these modules directly, # so we must import them explicitly: Import-Module AWS.Tools.SSO Import-Module AWS.Tools.SSOOIDC # Older versions of the AWS Tools for PowerShell don't support the SSO login flow, so login with the CLI aws sso login # Now we can invoke cmdlets using the SSO profile Get-S3Bucket

Wie oben erwähnt, müssen Sie das Get-S3Bucket Cmdlet nicht mit der -ProfileName Option aufrufen, da Sie das [default] Profil verwenden. Wenn die Konfiguration Ihres SSO-Token-Anbieters ein benanntes Profil verwendet, lautet der Befehl Get-S3Bucket -ProfileName named-profile. Weitere Informationen zu benannten Profilen finden Sie im Abschnitt Profile im AWS Referenzhandbuch zu -SDKs und Tools.

Zusätzliche Informationen

  • Weitere Optionen zur Authentifizierung für die Tools für PowerShell, z. B. die Verwendung von Profilen und Umgebungsvariablen, finden Sie im Konfigurationskapitel im AWS Referenzhandbuch für SDKs und Tools.

  • Bei einigen Befehlen muss eine - AWS Region angegeben werden. Es gibt eine Reihe von Möglichkeiten, dies zu tun, darunter die -Region Cmdlet-Option, das [default] Profil und die AWS_REGION Umgebungsvariable. Weitere Informationen finden Sie unter Angeben von AWS Regionen in diesem Handbuch und in der AWS Region im AWS Referenzhandbuch zu -SDKs und Tools.

  • Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch.

  • Informationen zum Erstellen kurzfristiger AWS Anmeldeinformationen finden Sie unter Temporäre Sicherheitsanmeldeinformationen im IAM-Benutzerhandbuch.

  • Weitere Informationen zu anderen Anbietern von Anmeldeinformationen finden Sie unter Standardisierte Anbieter von Anmeldeinformationen im Referenzhandbuch für AWS SDKs und Tools.