Gemeinsame Anmeldeinformationen in AWS Tools for PowerShell - 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.

Gemeinsame Anmeldeinformationen in AWS Tools for PowerShell

Die Tools for Windows PowerShell unterstützen die Verwendung der gemeinsamen AWS-Anmeldeinformationen, ähnlich wie die AWS CLI und andere AWS-SDKs. Tools for Windows PowerShell unterstützt jetzt das Lesen und Schreiben von basic-, session-, und assume role-Anmeldeinformationsprofilen in der .NET-Anmeldeinformationsdatei und in der gemeinsamen AWS-Anmeldeinformationsdatei. Diese Funktionalität wird durch einen neuen Amazon.Runtime.CredentialManagement-Namespace ermöglicht.

Warnung

Um Sicherheitsrisiken zu vermeiden, sollten Sie IAM-Benutzer nicht zur Authentifizierung verwenden, wenn Sie eigens entwickelte Software entwickeln oder mit echten Daten arbeiten. Verwenden Sie stattdessen den Verbund mit einem Identitätsanbieter wie AWS IAM Identity Center.

Anmerkung

Die Informationen in diesem Thema beziehen sich auf Situationen, in denen Sie kurz- oder langfristige Anmeldeinformationen manuell abrufen und verwalten müssen. Weitere Informationen zu kurz- und langfristigen Anmeldeinformationen finden Sie unter Andere Authentifizierungsmethoden im Referenzhandbuch für AWS SDKs und Tools.

Als bewährte Sicherheitsmethode verwenden Sie AWS IAM Identity Center, wie unter Tool-Authentifizierung konfigurieren beschrieben.

Die neuen Profiltypen und der Zugriff auf die Datei mit gemeinsamen AWS-Anmeldeinformationen werden über die folgenden Parameter unterstützt, die zu den für Anmeldeinformationen relevanten Cmdlets hinzugefügt wurden: Initialize-AWSDefaultConfiguration, New-AWSCredential und Set-AWSCredential. In Service-Cmdlets können Sie auf Ihre Profile verweisen, indem Sie den allgemeinen Parameter -ProfileName hinzufügen.

Verwenden einer IAM-Rolle mit AWS Tools for PowerShell

Die Datei mit gemeinsamen AWS-Anmeldeinformationen ermöglicht zusätzliche Zugriffsarten. Sie können beispielsweise auf Ihre AWS-Ressourcen zugreifen, indem Sie anstelle der langfristigen Anmeldeinformationen eines IAM-Benutzers eine IAM-Rolle verwenden. Dazu müssen Sie über ein Standardprofil verfügen, das über die erforderlichen Berechtigungen verfügt, um die Rolle zu übernehmen. Wenn Sie angeben, dass die AWS Tools for PowerShell ein Profil verwenden sollen, das eine Rolle angegeben hat, suchen die AWS Tools for PowerShell das durch den Parameter SourceProfile identifizierte Profil. Diese Anmeldeinformationen werden verwendet, um temporäre Anmeldeinformationen für die durch den Parameter RoleArn angegebene Rolle anzufordern. Sie können optional die Verwendung eines Multi-Factor Authentication(MFA)-Geräts oder eines ExternalId-Codes verlangen, wenn die Rolle von einem Dritten übernommen wird.

Parametername Beschreibung

ExternalId

Die benutzerdefinierte externe ID, die zu verwenden ist, wenn eine Rolle übernommen wird, für die dies erforderlich ist. Dies ist in der Regel nur erforderlich, wenn Sie den Zugriff auf Ihr Konto an Dritte delegieren. Der Dritte muss die ExternalID als Parameter angeben, wenn er die zugewiesene Rolle übernimmt. Weitere Informationen finden Sie unter Verwenden einer externen ID, um Dritten Zugriff auf Ihre AWS-Ressourcen zu gewähren im IAM-Benutzerhandbuch.

MfaSerial

Die MFA-Seriennummer, die zu verwenden ist, wenn eine Rolle übernommen wird, für die dies erforderlich ist. Weitere Informationen finden Sie unter Verwenden der Multi-Faktor-Authentifizierung (MFA) in AWS im IAM-Benutzerhandbuch.

RoleArn

Der ARN der übernommenen Rolle für übernommene Rollenanmeldeinformationen. Weitere Informationen zum Erstellen und Verwenden von Rollen finden Sie unter IAM-Rollen im IAM-Benutzerhandbuch.

SourceProfile

Der Name des Quellprofils, der von den übernommenen Rollenanmeldeinformationen zu verwenden ist. Die in diesem Profil gefundenen Anmeldeinformationen werden verwendet, um die durch den Parameter RoleArn angegebene Rolle zu übernehmen.

Einrichten von Profilen zur Übernahme einer Rolle

Im folgenden Beispiel wird gezeigt, wie ein Quellprofil eingerichtet wird, das die direkte Übernahme einer IAM-Rolle ermöglicht.

Mit dem ersten Befehl wird ein Quellprofil erstellt, auf das mit dem Rollenprofil verwiesen wird. Mit dem zweiten Befehl wird das Rollenprofil erstellt, das die Rolle übernehmen soll. Mit dem dritten Befehl werden die Anmeldeinformationen für das Rollenprofil angezeigt.

PS > Set-AWSCredential -StoreAs my_source_profile -AccessKey access_key_id -SecretKey secret_key PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn:aws:iam::123456789012:role/role-i-want-to-assume PS > Get-AWSCredential -ProfileName my_role_profile SourceCredentials RoleArn RoleSessionName Options ----------------- ------- --------------- ------- Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions

Wenn Sie dieses Rollenprofil mit den Tools-for-Windows-Powershell-Service-Cmdlets verwenden möchten, fügen Sie den allgemeinen Parameter -ProfileName zum Befehl hinzu, um auf das Rollenprofil zu verweisen. Im folgenden Beispiel wird das im vorherigen Beispiel definierte Rollenprofil verwendet, um auf das Cmdlet Get-S3Bucket zuzugreifen. AWS Tools for PowerShell sucht die Anmeldeinformationen in my_source_profile, verwendet diese Anmeldeinformationen, um im Namen des Benutzers AssumeRole aufzurufen, und verwendet dann diese temporären Rollen-Anmeldeinformationen zum Aufrufen von Get-S3Bucket.

PS > Get-S3Bucket -ProfileName my_role_profile CreationDate BucketName ------------ ---------- 2/27/2017 8:57:53 AM 4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1 2/27/2017 10:44:37 AM 2091a504-66a9-4d69-8981-aaef812a02c3-bucket2

Verwenden der Anmeldeinformationsprofil-Typen

Um einen Anmeldeinformationsprofil-Typ festlegen zu können, müssen Sie wissen, welche Parameter die für den Profiltyp erforderlichen Daten bereitstellen.

Anmeldeinformationstyp Parameter, die Sie verwenden müssen

Basic

Dies sind die langfristigen Anmeldeinformationen für einen IAM-Benutzer

-AccessKey

-SecretKey

Sitzung

Dies sind die kurzfristigen Anmeldeinformationen für eine IAM-Rolle, die Sie manuell abrufen, z. B. indem Sie das Cmdlet Use-STSRole direkt aufrufen.

-AccessKey

-SecretKey

-SessionToken

Rolle:

Dies sind kurzfristige Anmeldeinformationen für eine IAM-Rolle, die die AWS Tools for PowerShell für Sie abrufen.

-SourceProfile

-RoleArn

Optional: -ExternalId

Optional: -MfaSerial

Der allgemeine Parameter ProfilesLocation

Sie können -ProfileLocation verwenden, um die gemeinsame Anmeldeinformationsdatei zu schreiben sowie ein Cmdlet anzuweisen, Daten in der Anmeldeinformationsdatei zu lesen. Durch Hinzufügen des Parameters -ProfileLocation wird gesteuert, ob Tools for Windows PowerShell die gemeinsame Anmeldeinformationsdatei oder die .NET-Anmeldeinformationsdatei verwendet. Die folgende Tabelle beschreibt, wie der Parameter in Tools for Windows PowerShell funktioniert.

Profilpositionswert Profilauflösungsverhalten

Null (nicht festgelegt) oder leer

Durchsuchen Sie zunächst die .NET-Anmeldeinformationsdatei für ein Profil mit dem angegebenen Namen. Wenn das Profil nicht gefunden wird, suchen Sie die Datei mit gemeinsamen AWS-Anmeldeinformationen unter (user's home directory)\.aws\credentials.

Der Pfad zu einer Datei im Format der Datei mit gemeinsamen AWS-Anmeldeinformationen

Suchen Sie zunächst nur die angegebene Datei für ein Profil mit dem gegebenen Namen.

Speichern der Anmeldeinformationen in einer Anmeldeinformationsdatei

Führen Sie das Cmdlet Set-AWSCredential aus, um die Anmeldeinformationen in eine der beiden Anmeldeinformationsdateien zu schreiben und die Datei zu speichern. Das Verfahren wird im folgenden Beispiel gezeigt. Der erste Befehl verwendet Set-AWSCredential mit -ProfileLocation, um Zugriffs- und geheime Schlüssel zu einem durch den Parameter -ProfileName angegebenen Profil hinzuzufügen. Führen Sie in der zweiten Zeile das Cmdlet Get-Content aus, um den Inhalt der Anmeldeinformationsdatei anzuzeigen.

PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2 PS > Get-Content C:\Users\auser\.aws\credentials aws_access_key_id=access_key2 aws_secret_access_key=secret_key2

Anzeigen von Anmeldeinformationsprofilen

Führen Sie das Cmdlet Get-AWSCredential aus und fügen Sie den Parameter -ListProfileDetail hinzu, um die Typen und Speicherorte der Datei mit Anmeldeinformationen sowie eine Liste der Profilnamen zurückzugeben.

PS > Get-AWSCredential -ListProfileDetail ProfileName StoreTypeName ProfileLocation ----------- ------------- --------------- source_profile NetSDKCredentialsFile assume_role_profile NetSDKCredentialsFile basic_profile SharedCredentialsFile C:\Users\auser\.aws\credentials

Entfernen von Anmeldeinformationsprofilen

Führen Sie zum Entfernen von Anmeldeinformationsprofilen das neue Cmdlet Remove-AWSCredentialProfile aus. Clear-AWSCredential ist veraltet, steht aber weiterhin zur Abwärtskompatibilität zur Verfügung.

Wichtige Hinweise

Nur Initialize-AWSDefaultConfiguration, New-AWSCredential und Set-AWSCredential unterstützen die Parameter für Rollenprofile. Sie können die Rollenparameter nicht direkt in einem Befehl wie beispielsweise Get-S3Bucket -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name angeben. Dies ist nicht möglich, da Dienst-Cmdlets die Parameter RoleArn oder SourceProfile nicht direkt unterstützen. Stattdessen müssen Sie diese Parameter in einem Profil speichern und dann den Befehl mit dem Parameter -ProfileName aufrufen.