Authentifizieren des mit AWS SDK für .NETAWS - AWS SDK für .NET (V4)

Version 4 (V4) von AWS SDK für .NET 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 SDK für .NETAWS

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 das SDK 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 programmgesteuerten Zugriff AWS auf Dienste verwenden. AWS Generiert nach einem browserbasierten Authentifizierungsablauf temporäre Anmeldeinformationen, die in allen lokalen Entwicklungstools wie der AWS CLI AWS -Tools für PowerShell und dem AWS SDK for .NET v4 funktionieren.

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, und AWS CLI oder verwaltet die temporären Anmeldeinformationen AWS -Tools für 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 AWS -Tools für PowerShell oder den aws login Befehl über die AWS CLI 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. Das temporäre Anmeldeinformationstoken läuft in 15 Minuten ab, aber das AWS SDK for .NET v4 aktualisiert das Token automatisch, wenn es während Ihrer Anfragen benötigt wird.

Wichtig

Wenn Sie die Konsolenanmeldedaten für die Authentifizierung verwenden, muss Ihre Anwendung auf die folgenden NuGet Pakete verweisen, damit die AWS Anmeldungsauflösung funktioniert:

  • AWSSDK. Melden Sie sich an

Wenn diese Pakete nicht referenziert werden, führt dies zu einer Laufzeitausnahme.

Die config Datei würde so aussehen, sobald Sie sich gemäß den oben angegebenen Schritten für AWS -Tools für PowerShell oder AWS CLI angemeldet haben.

[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

Aktivieren und Konfigurieren von IAM Identity Center

Um IAM Identity Center verwenden zu können, muss es zuerst aktiviert und konfiguriert werden. Einzelheiten dazu, wie Sie dies für das SDK tun können, finden Sie in Schritt 1 des Themas zur IAM Identity Center-Authentifizierung im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch. Folgen Sie insbesondere den Anweisungen unter Ich habe keinen Zugriff über IAM Identity Center eingerichtet.

Konfigurieren Sie das SDK für die Verwendung von IAM Identity Center.

Informationen zur Konfiguration des SDK für die Verwendung von IAM Identity Center finden Sie in Schritt 2 des Themas zur IAM Identity Center-Authentifizierung im ReferenzhandbuchAWS SDKs zu Tools. Nachdem Sie diese Konfiguration abgeschlossen haben, sollte Ihr System die folgenden Elemente enthalten:

  • Das AWS CLI, mit dem Sie eine AWS Access-Portal-Sitzung starten, bevor Sie Ihre Anwendung ausführen.

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

    Die folgende config-Beispieldatei zeigt ein Standardprofil, das mit dem 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 Access-Portal-Sitzung.

    [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

Wenn Sie die Authentifizierung verwenden AWS IAM Identity Center , muss Ihre Anwendung auf die folgenden NuGet Pakete verweisen, damit die SSO-Auflösung funktioniert:

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Wenn diese Pakete nicht referenziert werden, wird eine Laufzeitausnahme ausgelöst.

Starten Sie eine AWS Access-Portal-Sitzung

Bevor Sie eine Zugriffsanwendung ausführen AWS-Services, benötigen Sie eine aktive AWS Access-Portal-Sitzung, damit das SDK die IAM Identity Center-Authentifizierung zur Auflösung von Anmeldeinformationen verwenden kann. Abhängig von Ihrer konfigurierten Sitzungsdauer läuft Ihr Zugriff irgendwann ab und das SDK wird auf einen Authentifizierungsfehler stoßen. Um sich beim AWS Zugriffsportal anzumelden, führen Sie den folgenden Befehl in der aus AWS CLI.

aws sso login

Da Sie ein Standardprofil eingerichtet haben, müssen Sie den Befehl nicht mit einer --profile-Option aufrufen. Wenn die Konfiguration Ihres SSO-Token-Anbieters ein benanntes Profil verwendet, lautet der Befehl aws sso login --profile named-profile.

Führen Sie den folgenden AWS CLI Befehl aus, um zu testen, ob Sie bereits eine aktive Sitzung haben.

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 Access-Portal-Sitzung verfügen und diese 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 gewähren. Da AWS CLI das auf dem SDK für Python aufbaut, können Berechtigungsnachrichten Variationen des botocore Namens enthalten.

Zusätzliche Informationen