Version 5 (V5) von AWS -Tools für PowerShell wurde veröffentlicht!
Informationen zu wichtigen Änderungen und zur Migration Ihrer Anwendungen finden Sie im Migrationsthema.
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.
Authentifizieren des mit AWS -Tools für PowerShellAWS
Sie müssen festlegen, wie sich Ihr Code AWS bei der Entwicklung mit authentifiziert. AWS-Services Je nach Umgebung und verfügbarem Zugriff gibt es verschiedene Möglichkeiten, den programmatischen AWS Zugriff auf AWS Ressourcen zu konfigurieren.
Informationen zu den verschiedenen Authentifizierungsmethoden für die Tools für PowerShell finden Sie unter Authentifizierung und Zugriff im AWS SDKs Referenzhandbuch zu Tools.
In diesem Thema wird davon ausgegangen, dass ein neuer Benutzer sich lokal weiterentwickelt, von seinem Arbeitgeber noch keine Authentifizierungsmethode erhalten hat und diese AWS IAM Identity Center zum Abrufen temporärer Anmeldeinformationen verwenden wird. Wenn Ihre Umgebung nicht unter diese Annahmen fällt, treffen einige der Informationen in diesem Thema möglicherweise nicht auf Sie zu, oder einige der Informationen wurden Ihnen möglicherweise bereits gegeben.
Die Konfiguration dieser Umgebung erfordert mehrere Schritte, die sich wie folgt zusammenfassen lassen:
Melden Sie sich mit Anmeldeinformationen für die Konsole an
Sie können Ihre vorhandenen Anmeldedaten für die AWS Management Console für den programmatischen Zugriff auf verwenden. AWS-Services AWS -Tools für PowerShell Generiert nach einem browserbasierten Authentifizierungsablauf temporäre Anmeldeinformationen, die in allen lokalen Entwicklungstools wie, und funktionieren. AWS SDKs AWS -Tools für PowerShell AWS CLI Diese Funktion vereinfacht die Konfiguration und Verwaltung von CLI-Anmeldeinformationen, insbesondere wenn Sie die interaktive Authentifizierung der Verwaltung von langfristigen Zugriffsschlüsseln vorziehen.
Mit diesem Prozess können Sie sich mit Root-Anmeldeinformationen, die bei der ersten Kontoeinrichtung erstellt wurden, mit einem IAM-Benutzer oder einer föderierten Identität von Ihrem Identitätsanbieter authentifizieren. Tools for verwaltet die temporären Anmeldeinformationen PowerShell automatisch für Sie. Dieser Ansatz erhöht die Sicherheit, da die Notwendigkeit entfällt, langfristige Anmeldeinformationen lokal zu speichern.
Wenn Sie das Invoke-AWSLogin Cmdlet ausführen, können Sie aus Ihren aktiven Konsolensitzungen auswählen oder sich über den browserbasierten Authentifizierungsablauf anmelden. Dadurch werden automatisch temporäre Anmeldeinformationen generiert. AWS -Tools für PowerShell aktualisiert diese Anmeldeinformationen automatisch für bis zu 12 Stunden.
Nach der Konfiguration kann Ihre Sitzung in AWS -Tools für PowerShell und allen anderen AWS SDKs Tools verwendet werden.
Melden Sie sich AWS mit dem Invoke-Cmdlet an AWSLogin
Führen Sie das Invoke-AWSLogin Cmdlet aus, um sich mit Ihren vorhandenen Anmeldeinformationen für die Management Console zu authentifizieren. AWS Wenn Sie noch kein Profil konfiguriert haben, werden Sie zur Eingabe zusätzlicher Informationen aufgefordert.
Gehen Sie wie folgt vor, um sich anzumelden oder ein Profil zu konfigurieren.
-
Stellen Sie sicher, dass Sie das richtige Modul, das Sie installiert haben, aus der Installationsanleitung importiert haben.
Anmerkung
Wir haben drei verschiedene Module für PowerShell -
AWS.Tools,AWSPowerShell.NetCoreundAWSPowerShell. Weitere Informationen finden Sie unter Was sind die AWS -Tools für PowerShell?.-
Führen Sie das Cmdlet in Ihrem PowerShell Terminal aus. Dabei wird das Profil verwendet.
defaultPS > Invoke-AWSLogin -
Verwenden Sie den
-ProfileNameParameter, um sich bei einem benannten Profil anzumelden oder ein neues zu erstellen.PS > Invoke-AWSLogin -ProfileName 'my-dev-profile' -
Wenn es sich um ein neues Profil handelt oder in keiner Ihrer vorherigen profiles/environment Variablen angegeben oder konfiguriert AWS-Region wurde, werden Sie vom Cmdlet aufgefordert, eine Region anzugeben.
Press Ctrl+C to cancel the following login prompts. Specify AWS Region No AWS region has been configured. The AWS region is the geographic location of your AWS resources. If you've used AWS before and already have resources in your account, tell us which region they were created in. If you haven't created resources in your account before, you can pick the region closest to you: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html AWS Region:
-
-
Die AWS -Tools für PowerShell Versuche, Ihren Standardbrowser für den Anmeldevorgang Ihres Kontos zu öffnen. AWS
Using region 'us-west-2' Attempting to open the login page for 'us-west-2' in your default browser. If the browser does not open, use the following URL to complete your login: https://signin.us-west-2.amazonaws.com/authorize?<abbreviated> If you cannot connect to this URL, make sure that you have specified a valid region.-
Wenn das verwendete Gerät AWS -Tools für PowerShell keinen Browser hat, können Sie den
-RemoteParameter verwenden, um eine URL anzugeben, die Sie auf einem browserfähigen Gerät öffnen können.PS > Invoke-AWSLogin -Remote -
Wenn Sie den
-RemoteParameter verwendet haben, werden je nach Art der verwendeten Autorisierung Anweisungen zum manuellen Starten des Anmeldevorgangs angezeigt. Die angezeigte URL ist eine eindeutige URL, die mit: https://signin.us-east-1.amazonaws.com /authorize beginnt. Sobald Sie die Browser-Anmeldung abgeschlossen haben, müssen Sie den resultierenden Autorisierungscode kopieren und wieder in das Terminal einfügen.Press Ctrl+C to cancel the following login prompts. Using region 'us-west-2' determined by profile/environment defaults. To override, specify '-Region' parameter. Please complete the login workflow via the following URL: https://us-west-2.signin.aws.amazon.com/v1/authorize?<abbrievated> Please enter the authorization code displayed in the browser:
-
-
Wählen Sie im Browser Ihre zu verwendenden Anmeldeinformationen aus der angezeigten Liste aus und kehren Sie dann zu Ihrem Terminal zurück.
-
Wenn das Profil, das Sie konfigurieren, über eine zuvor konfigurierte Anmeldesitzung verfügt, die nicht mit Ihrer neuen Sitzung übereinstimmt, werden Sie AWS -Tools für PowerShell aufgefordert, zu bestätigen, dass Sie die Sitzung wechseln, die dem vorhandenen Profil entspricht.
WARNING: Previously profile default was configured for arn:aws:iam::0123456789012:user/ReadOnly, and is now being updated to arn:aws:iam::0123456789012:user/Admin. Do you wish to change the identity that default is associated with? (y/n)
-
-
Eine abschließende Meldung beschreibt die abgeschlossene Profilkonfiguration.
Login completed successfully for profile 'my-dev-profile'.Das Authentifizierungstoken wird auf der Festplatte unter dem zwischengespeichert. aws/login/cacheVerzeichnis mit einem Hash-Dateinamen, der auf dem aufgelösten Profil basiert.
Generierte Konfigurationsdatei
Diese Schritte führen dazu, dass das Standardprofil oder das angegebene Profil in der Konfigurationsdatei erstellt wird, das wie folgt aussieht:
[default] login_session = arn:aws:iam::0123456789012:user/username region = us-east-1 [my-dev-profile] login_session = arn:aws:iam::0123456789012:user/username region = us-east-1
Führen Sie einen Befehl mit Ihrem Profil aus
Sobald Sie angemeldet sind, können Sie Ihre Anmeldeinformationen verwenden, um Tools für PowerShell Cmdlets mit dem zugehörigen Profil aufzurufen. Im folgenden Beispiel wird das Get-STSCallerIdentity Cmdlet mit dem Standardprofil aufgerufen:
PS > Get-STSCallerIdentity
Verwenden Sie den Parameter, um nach einer bestimmten Sitzung zu suchen. -ProfileName
PS > Get-STSCallerIdentity -ProfileName 'my-dev-profile'
Das temporäre Anmeldeinformationstoken läuft in 15 Minuten ab, wird dann aber SDKs automatisch aktualisiert, wenn es für Ihre Anfragen benötigt wird. AWS -Tools für PowerShell Die gesamte Sitzung ist bis zu 12 Stunden gültig. Danach müssen Sie das Invoke-AWSLogin Cmdlet erneut ausführen.
Melden Sie sich mit dem Cmdlet von Ihrer Sitzung ab Invoke-AWSLogout
Wenn Sie mit Ihrer Sitzung fertig sind, können Sie Ihre Anmeldeinformationen ablaufen lassen oder das Invoke-AWSLogout Cmdlet ausführen, um Ihre zwischengespeicherten Anmeldeinformationen zu löschen. Wenn in der CLI oder in der AWS_PROFILE Umgebungsvariablen kein Profil angegeben ist, meldet der Befehl Sie von Ihrem Standardprofil ab. Im folgenden Beispiel werden Sie von Ihrem Standardprofil abgemeldet.
PS > Invoke-AWSLogout
Verwenden Sie den -ProfileName Parameter, um sich von einer bestimmten Profilsitzung abzumelden.
PS > Invoke-AWSLogout -ProfileName 'my-dev-profile'
Verwenden Sie den -All Parameter, um sich von allen Profilsitzungen abzumelden, für die Sie sich angemeldet haben.
PS > Invoke-AWSLogout -All
Anmeldeinformationen im Cache
Die temporär zwischengespeicherten Anmeldeinformationen sowie die Metadaten, die für ihre Aktualisierung erforderlich sind, werden standardmäßig unter Windows oder %USERPROFILE%\.aws\login\cache ~/.aws/login/cache unter Linux und macOS gespeichert.
Sie können diesen Speicherort überschreiben, indem Sie die AWS_LOGIN_CACHE_DIRECTORY Umgebungsvariable festlegen.
Aktivieren und Konfigurieren von IAM Identity Center
Um es verwenden zu können AWS IAM Identity Center, muss es zuerst aktiviert und konfiguriert werden. Einzelheiten dazu finden Sie in Schritt 1 des Themas zur PowerShell IAM Identity Center-Authentifizierung im Referenzhandbuch AWS SDKs zu Tools. Folgen Sie insbesondere den Anweisungen unter Ich habe keinen Zugriff über IAM Identity Center eingerichtet.
Konfigurieren Sie die Tools für die Verwendung PowerShell von IAM Identity Center.
Anmerkung
Ab Version 4.1.538 der Tools für wird empfohlen PowerShell, SSO-Anmeldeinformationen zu konfigurieren und eine AWS Access-Portal-Sitzung zu starten, die Invoke-AWSSSOLoginCmdlets Initialize-AWSSSOConfigurationund zu verwenden, wie in diesem Thema beschrieben. 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 mit dem ausführen. AWS CLI Wie das geht, erfahren Sie unter. Verwenden Sie das AWS CLI für die Portal-Anmeldung
Mit dem folgenden Verfahren wird die gemeinsam genutzte AWS config Datei mit SSO-Informationen aktualisiert, die von den Tools für zum Abrufen temporärer Anmeldeinformationen PowerShell verwendet werden. Als Konsequenz dieses Verfahrens wird auch eine AWS Access-Portal-Sitzung gestartet. Wenn die gemeinsam genutzte config Datei bereits SSO-Informationen enthält und Sie nur wissen möchten, wie Sie eine Access-Portal-Sitzung mithilfe der Tools für starten PowerShell, finden Sie weitere Informationen im nächsten Abschnitt dieses ThemasStarten Sie eine AWS Access-Portal-Sitzung.
-
Falls Sie dies noch nicht getan haben, öffnen PowerShell und installieren Sie die AWS -Tools für PowerShell Datei entsprechend Ihrem Betriebssystem und Ihrer Umgebung, einschließlich der gängigen Cmdlets. Weitere Informationen über die entsprechende Vorgehensweise finden Sie unter Fangen Sie an mit dem AWS -Tools für PowerShell.
Wenn Sie beispielsweise die modularisierte Version der Tools für PowerShell unter Windows installieren, würden Sie höchstwahrscheinlich Befehle ausführen, die den folgenden ähneln:
Install-Module -Name AWS.Tools.Installer Install-AWSToolsModule AWS.Tools.Common -
Führen Sie den folgenden Befehl aus. Ersetzen Sie die Beispieleigenschaftswerte durch Werte aus Ihrer IAM Identity Center-Konfiguration. Informationen zu diesen Eigenschaften und wie Sie sie finden, finden Sie unter Einstellungen für den IAM Identity Center-Anmeldeinformationsanbieter im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.
$params = @{ ProfileName = 'my-sso-profile' AccountId = '111122223333' RoleName = 'SamplePermissionSet' SessionName = 'my-sso-session' StartUrl = 'https://provided-domain.awsapps.com/start' SSORegion = 'us-west-2' RegistrationScopes = 'sso:account:access' }; Initialize-AWSSSOConfiguration @paramsSie können auch einfach das Cmdlet selbst verwenden und die Tools für werden Sie dann zur PowerShell Eingabe der Eigenschaftswerte aufgefordert.
Initialize-AWSSSOConfigurationÜberlegungen zu bestimmten Eigenschaftswerten:
-
Wenn Sie einfach den Anweisungen zur Aktivierung und Konfiguration von IAM Identity Center gefolgt sind,
-RoleNamekönnte der Wert für lautenPowerUserAccess. Wenn Sie jedoch einen IAM Identity Center-Berechtigungssatz speziell für die PowerShell Arbeit erstellt haben, verwenden Sie diesen stattdessen. -
Stellen Sie sicher, dass Sie das IAM Identity AWS-Region Center verwenden, für das Sie das IAM Identity Center konfiguriert haben.
-
-
Zu diesem Zeitpunkt enthält die gemeinsam genutzte AWS
configDatei ein aufgerufenes Profilmy-sso-profilemit einer Reihe von Konfigurationswerten, auf die in den Tools für PowerShell verwiesen werden kann. Informationen zum Speicherort dieser Datei finden Sie unter Speicherort der gemeinsam genutzten Dateien im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.Die Tools für PowerShell verwenden den SSO-Token-Anbieter des Profils, um Anmeldeinformationen abzurufen, bevor Anfragen an gesendet AWS werden. Der
sso_role_nameWert, 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 AWS-Services Anwendung verwendeten Rollen ermöglichen.Das folgende Beispiel zeigt das Profil, das mit dem oben gezeigten Befehl erstellt wurde. Einige der Eigenschaftswerte und ihre Reihenfolge können in Ihrem tatsächlichen Profil anders sein. Die
sso-sessionEigenschaft des Profils bezieht sich auf den genannten Abschnittmy-sso-session, der Einstellungen zum Initiieren einer AWS Access-Portal-Sitzung enthält.[profile my-sso-profile] sso_account_id=111122223333sso_role_name=SamplePermissionSetsso_session=my-sso-session [sso-session my-sso-session] sso_region=us-west-2sso_registration_scopes=sso:account:access sso_start_url=https://provided-domain.awsapps.com/start/ -
Wenn Sie bereits eine aktive AWS Access-Portal-Sitzung haben, werden Sie in den Tools für PowerShell darüber informiert, dass Sie bereits angemeldet sind.
Ist dies nicht der Fall, PowerShell versuchen die Tools für, die SSO-Autorisierungsseite automatisch in Ihrem Standard-Webbrowser zu öffnen. Folgen Sie den Anweisungen in Ihrem Browser, die einen SSO-Autorisierungscode, einen Benutzernamen und ein Passwort sowie die Erlaubnis zum Zugriff auf AWS IAM Identity Center Konten und Berechtigungssätze enthalten können.
Die Tools für PowerShell informieren Sie darüber, dass die SSO-Anmeldung erfolgreich war.
Starten Sie eine AWS Access-Portal-Sitzung
Bevor Sie Befehle für den Zugriff ausführen können AWS-Services, benötigen Sie eine aktive AWS Zugriffsportalsitzung, damit die Tools für die Anmeldeinformationen die IAM Identity Center-Authentifizierung verwenden PowerShell können. Um sich beim AWS Zugriffsportal anzumelden, führen Sie den folgenden Befehl aus. Dabei -ProfileName my-sso-profile handelt es sich um den Namen des Profils, das in der gemeinsam genutzten config Datei erstellt wurde, als Sie das Verfahren im vorherigen Abschnitt dieses Themas ausgeführt haben. PowerShell
Invoke-AWSSSOLogin -ProfileName my-sso-profile
Wenn Sie bereits eine aktive AWS Access-Portal-Sitzung haben, werden Sie in den Tools für PowerShell darüber informiert, dass Sie bereits angemeldet sind.
Ist dies nicht der Fall, PowerShell versuchen die Tools für, die SSO-Autorisierungsseite automatisch in Ihrem Standard-Webbrowser zu öffnen. Folgen Sie den Anweisungen in Ihrem Browser, die einen SSO-Autorisierungscode, einen Benutzernamen und ein Passwort sowie die Erlaubnis zum Zugriff auf AWS IAM Identity Center Konten und Berechtigungssätze enthalten können.
Die Tools für PowerShell informieren Sie darüber, dass die SSO-Anmeldung erfolgreich war.
Um zu testen, ob Sie bereits eine aktive Sitzung haben, führen Sie nach der Installation oder dem Import des AWS.Tools.SecurityToken Moduls nach Bedarf den folgenden Befehl aus.
Get-STSCallerIdentity -ProfileName my-sso-profile
In der Antwort auf das Get-STSCallerIdentity Cmdlet werden das IAM Identity Center-Konto und der Berechtigungssatz gemeldet, die in der gemeinsam genutzten Datei konfiguriert sind. config
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
my-sso-profileProfil, das weiter oben in diesem Thema konfiguriert wurde. -
Wenn Sie sich über die
Invoke-AWSSSOLoginCmdletsInitialize-AWSSSOConfigurationoder anmelden, hat der Benutzer mindestens nur Leseberechtigungen für Amazon S3. -
Einige S3-Buckets stehen diesem Benutzer zur Ansicht zur Verfügung.
Installieren oder importieren Sie das AWS.Tools.S3 Modul nach Bedarf und verwenden Sie dann den folgenden PowerShell Befehl, um eine Liste der S3-Buckets anzuzeigen.
Get-S3Bucket -ProfileName my-sso-profile
Zusätzliche Informationen
-
Weitere Authentifizierungsoptionen für die Tools für PowerShell, wie z. B. die Verwendung von Profilen und Umgebungsvariablen, finden Sie im Konfigurationskapitel im AWS SDKs Referenzhandbuch zu Tools.
Für einige Befehle muss eine AWS Region angegeben werden. Dazu gibt es eine Reihe von Möglichkeiten, darunter die
-RegionCmdlet-Option, das[default]Profil und dieAWS_REGIONUmgebungsvariable. Weitere Informationen finden Sie Geben Sie die AWS Region für AWS -Tools für PowerShell in diesem Handbuch und AWS Region im AWS SDKs Referenzhandbuch zu 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 Sicherheitsanmeldedaten im IAM-Benutzerhandbuch.
-
Weitere Informationen zu anderen Anbietern von Anmeldeinformationen finden Sie unter Standardisierte Anmeldeinformationsanbieter im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.