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. S essionAWSCredentials, die aus den AWS_SESSION_TOKEN Umgebungsvariablen AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY, und erstellt werden, sofern sie alle nicht leer sind.

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

  7. Der Anbieter von Container-Anmeldeinformationen.

  8. Metadaten der EC2 Amazon-Instanz.

Wenn Ihre Anwendung auf einer EC2 Amazon-Instance ausgeführt wird, z. B. in einer Produktionsumgebung, verwenden Sie eine IAM Rolle, wie unter beschriebenZugriff mithilfe einer IAM Rolle gewähren. Andernfalls, z. B. bei Tests vor der Veröffentlichung, speichern Sie Ihre Anmeldeinformationen in einer Datei, die das AWS Anmeldedaten-Dateiformat 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üssen AWS 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, wenn 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 der Security Assertion Markup Language () auf AWS Dienste zuzugreifen. SAML

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 Der SDK kümmert sich um 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 Ihrem zu verwenden. NETIn der Anwendung 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 bei anderen Profilen mit Anmeldeinformationen.

Die AWS Security Token ServiceVersammlung (AWSSDK. SecurityToken) bietet SAML Unterstützung beim 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 EC2 Amazon-Instances ausgeführt werden, besteht die sicherste Methode zur Verwaltung von Anmeldeinformationen darin, IAM Rollen zu verwenden, wie unter beschriebenZugriff 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

Frühere Versionen des SDK verwendeten ProxyUsername undProxyPassword, aber diese Eigenschaften sind veraltet.