Konfigurieren Sie die SDK-Authentifizierung mit AWS - AWS SDK for .NET

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 die SDK-Authentifizierung mit AWS

Sie müssen bei der Entwicklung mit AWS-Services festlegen, wie sich Ihr Code bei AWS authentifiziert. Es gibt verschiedene Möglichkeiten, den programmgesteuerten Zugriff auf AWS-Ressourcen je nach Umgebung und verfügbarem AWS-Zugriff zu konfigurieren.

Informationen zu den verschiedenen Authentifizierungsmethoden für das SDK finden Sie unter Authentifizierung und Zugriff im Referenzhandbuch für AWS SDKs und Tools.

In diesem Thema wird davon ausgegangen, dass ein neuer Benutzer Projekte lokal entwickelt, von seinem Arbeitgeber noch keine Authentifizierungsmethode erhalten hat und AWS IAM Identity Center zum Abrufen temporärer Anmeldeinformationen verwendet. 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:

Aktivieren und Konfigurieren von IAM Identity Center

Um IAM Identity Center verwenden zu können, muss es zunächst 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 für AWSSDKs und Tools. 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 Referenzhandbuch für AWSSDKs 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 gemeinsam genutzte AWS config Datei, die ein [default]Profil mit einer Reihe von Konfigurationswerten enthält, auf die im SDK verwiesen werden kann. Den Speicherort dieser Datei finden Sie unter Speicherort der freigegebenen Dateien im Referenzhandbuch für AWS SDKs und Tools. Der AWS SDK for .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-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

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

  • AWSSDK.SSO

  • AWSSDK.SSOOIDC

Wenn Sie auf diese Pakete nicht verweisen, wird eine Laufzeitausnahme ausgelöst.

Starten einer AWS-Zugriffsportalsitzung

Bevor Sie eine Anwendung ausführen, die zugreiftAWS-Services, benötigen Sie eine aktive AWS Access-Portalsitzung, 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. Führen Sie den folgenden Befehl in der AWS CLI aus, um sich beim AWS-Zugriffsportal anzumelden.

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-Zugriffsportalsitzung verfügen und aws sso login ausführen, müssen Sie keine Anmeldeinformationen angeben.

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

Zusätzliche Informationen

  • Weitere Informationen zur Verwendung von IAM Identity Center und SSO in einer Entwicklungsumgebung finden Sie Single Sign-On im Advanced Auth Abschnitt. Diese Informationen umfassen alternative und fortgeschrittenere Methoden sowie Tutorials, die Ihnen zeigen, wie Sie diese Methoden verwenden.

  • Weitere Authentifizierungsoptionen für das SDK, z. B. die Verwendung von Profilen und Umgebungsvariablen, finden Sie im Kapitel Konfiguration im Referenzhandbuch für AWS 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.