Auflösung von Anmeldeinformationen und Profilen - 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.

Auflösung von Anmeldeinformationen und Profilen

Der AWS SDK for .NET sucht in einer bestimmten Reihenfolge nach Anmeldeinformationen und verwendet den ersten verfügbaren Satz für die aktuelle Anwendung.

Reihenfolge bei der Suche nach Anmeldeinformationen
  1. Anmeldeinformationen, die explizit auf dem AWS Service-Client festgelegt wurden, wie unter beschriebenZugreifen auf Anmeldeinformationen und Profile in einer Anwendung.

    Anmerkung

    Dieses Thema ist in diesem Besondere Überlegungen Abschnitt enthalten, da es nicht die bevorzugte Methode zur Angabe von Anmeldeinformationen ist.

  2. Ein Anmeldeinformationsprofil mit dem Namen, der durch einen Wert in angegeben wird AWSConfigs. AWSProfileName.

  3. Ein Anmeldeinformationsprofil mit dem in der AWS_PROFILE Umgebungsvariablen angegebenen Namen.

  4. Das [default]-Anmeldeinformationsprofil.

  5. Sitzungen AWSCredentials, die aus den AWS_SESSION_TOKEN Umgebungsvariablen AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, und erstellt werden, sofern sie alle nicht leer sind.

  6. Basic AWSCredentials, die aus den Umgebungsvariablen AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY Umgebungsvariablen erstellt werden, wenn sie beide nicht leer sind.

  7. IAM-Rollen für Aufgaben für Amazon ECS-Aufgaben.

  8. Metadaten der Amazon EC2 EC2-Instanz.

Wenn Ihre Anwendung auf einer Amazon EC2 EC2-Instance ausgeführt wird, z. B. in einer Produktionsumgebung, verwenden Sie eine IAM-Rolle, wie unter beschrieben. Zugriff mithilfe einer IAM Rolle gewähren Andernfalls, z. B. bei Tests vor einer Vorabversion, speichern Sie Ihre Anmeldeinformationen in einer Datei, die das Format der AWS Anmeldeinformationsdatei verwendet, auf das Ihre Webanwendung auf dem Server Zugriff hat.

Auflösung des Profils

Da es zwei verschiedene Speichermechanismen für Anmeldeinformationen gibt, ist es wichtig zu verstehen, wie diese konfiguriert werden müssenAWS SDK for .NET, um sie zu verwenden. Das AWSConfigs. AWSProfilesLocationDie Eigenschaft steuert, wie die Anmeldeinformationsprofile AWS SDK for .NET findet.

AWSProfilesLocation Verhalten bei der Profilauflösung

Null (nicht festgelegt) oder leer

Suchen Sie im SDK-Store, falls die Plattform dies unterstützt, und suchen Sie dann im Standardverzeichnis nach der Datei mit den gemeinsamen AWS Anmeldeinformationen. Wenn sich das Profil an keinem dieser Speicherorte befindet, suchen Sie ~/.aws/config (Linux oder macOS) oder %USERPROFILE%\.aws\config (Windows).

Der Pfad zu einer Datei im Format der AWS Anmeldeinformationsdatei

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

Verwenden von Anmeldeinformationen für Verbundbenutzerkonten

Anwendungen, die die AWS SDK for .NET (AWSSDK.Core-Version 3.1.6.0 und höher) verwenden, können Verbundbenutzerkonten über Active Directory Federation Services (AD FS) verwenden, um mithilfe von Security Assertion Markup Language (SAML) auf AWS Dienste zuzugreifen.

Verbundener Zugriffsunterstützung bedeutet, dass sich Benutzer mithilfe Ihrer Active Directory authentifizieren können. Temporäre Anmeldeinformationen werden dem Benutzer automatisch erteilt. Diese temporären Anmeldeinformationen, die eine Stunde lang gültig sind, werden verwendet, wenn Ihre Anwendung Dienste aufruft. AWS Das SDK übernimmt die Verwaltung der temporären Anmeldeinformationen. Wenn Ihre Anwendung bei Benutzerkonten, die mit einer Domäne verbunden sind, einen Aufruf durchführt, die Anmeldeinformationen jedoch abgelaufen sind, wird der Benutzer automatisch neu authentifiziert, und es werden neue Anmeldeinformationen erteilt. (Bei non-domain-joined Konten wird der Benutzer vor der erneuten Authentifizierung aufgefordert, Anmeldeinformationen einzugeben.)

Um diese Unterstützung in Ihrer .NET-Anwendung nutzen zu können, müssen Sie zunächst das Rollenprofil mithilfe eines PowerShell Cmdlets einrichten. Informationen dazu finden Sie in der AWS Tools for Windows PowerShell Dokumentation.

Nachdem Sie das Rollenprofil eingerichtet haben, verweisen Sie in Ihrer Anwendung auf das Profil. Es gibt eine Reihe von Möglichkeiten, dies zu tun. Eine davon ist die Verwendung von AWSConfigs. AWSProfileNameEigenschaft auf die gleiche Weise, wie Sie es mit anderen Zugangsprofilen tun würden.

Die AWS Security Token ServiceAssembly (AWSSDK. SecurityToken) bietet die SAML-Unterstützung zum Abrufen von AWS Anmeldeinformationen. Wenn Sie Anmeldeinformationen für Verbundbenutzerkonten verwenden möchten, stellen Sie sicher, dass diese Assembly für Ihre Anwendung verfügbar ist.

Angeben von Rollen oder temporären Anmeldeinformationen

Für Anwendungen, die auf Amazon EC2 EC2-Instances ausgeführt werden, ist die sicherste Methode zur Verwaltung von Anmeldeinformationen die Verwendung von IAM-Rollen, wie unter beschrieben. Zugriff mithilfe einer IAM Rolle gewähren

Für Anwendungsszenarien, in denen die ausführbare Software Benutzern außerhalb Ihrer Organisation zur Verfügung steht, empfehlen wir, dass Sie die Software so entwerfen, dass temporäre Sicherheitsanmeldedaten verwendet werden. Diese Anmeldeinformationen bieten nicht nur eingeschränkten Zugriff auf AWS Ressourcen, sondern haben auch den Vorteil, dass sie nach einem bestimmten Zeitraum ablaufen. Weitere Informationen zum Verwenden von temporären Sicherheitsanmeldeinformationen finden Sie in den folgenden Themen:

Verwendung von Proxy-Anmeldeinformationen

Wenn Ihre Software mit AWS über einen Proxy kommuniziert, können Sie Anmeldeinformationen für den Proxy angeben, indem Sie die ProxyCredentials Eigenschaft der Config Klasse eines Dienstes verwenden. Die Config Klasse eines Dienstes ist normalerweise Teil des primären Namespaces für den Dienst. Zu den Beispielen gehören die folgenden: AmazonCloudDirectoryConfigim Amazon. CloudDirectoryNamespace und AmazonGameLiftConfigim Amazon. GameLiftNamespace.

Für Amazon S3 könnten Sie beispielsweise Code verwenden, der dem folgenden ähnelt, wobei SecurelyStoredUserName und für den Proxy-Benutzernamen und das Passwort SecurelyStoredPassword stehen, die in einem NetworkCredentialObjekt angegeben sind.

AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword);
Anmerkung

In früheren Versionen von SDK wurde ProxyUsername und ProxyPassword verwendet, diese Eigenschaften sind jedoch veraltet.