

Der AWS SDK für .NET V3 ist in den Wartungsmodus übergegangen.

Wir empfehlen Ihnen, auf [AWS SDK für .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in unserer [Ankündigung zum Wartungsmodus](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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
<a name="creds-assign"></a>

Der AWS SDK für .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 beschrieben[Zugreifen auf Anmeldeinformationen und Profile in einer Anwendung](creds-locate.md).
**Anmerkung**  
Dieses Thema ist in diesem [Besondere Überlegungen](special-considerations.md) Abschnitt enthalten, da es nicht die bevorzugte Methode zur Angabe von Anmeldeinformationen ist.

1. Ein Anmeldeinformationsprofil mit dem Namen, der durch einen Wert in angegeben wird [AWSConfigs. AWSProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html#properties)Name.

1. Ein Anmeldeinformationsprofil mit dem in der `AWS_PROFILE` Umgebungsvariablen angegebenen Namen.

1. Das `[default]`-Anmeldeinformationsprofil.

1. [Sitzungen AWSCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSessionAWSCredentials.html), die aus den `AWS_SESSION_TOKEN` Umgebungsvariablen `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY`, und erstellt werden, sofern sie alle nicht leer sind.

1.  [Basic AWSCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TBasicAWSCredentials.html), die aus den Umgebungsvariablen `AWS_ACCESS_KEY_ID` und `AWS_SECRET_ACCESS_KEY` Umgebungsvariablen erstellt werden, wenn sie beide nicht leer sind.

1. Der Anbieter von [Container-Anmeldeinformationen](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html).

1. 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 beschrieben[Zugriff mithilfe einer IAM-Rolle gewähren](net-dg-hosm.md). Andernfalls, z. B. bei Tests vor der Veröffentlichung, speichern Sie Ihre Anmeldeinformationen in einer Datei, die das Dateiformat für AWS Anmeldeinformationen verwendet, auf das Ihre Webanwendung auf dem Server Zugriff hat.

## Auflösung des Profils
<a name="net-dg-config-creds-profile-resolution"></a>

Da es zwei verschiedene Speichermechanismen für Anmeldeinformationen gibt, ist es wichtig zu verstehen, wie diese konfiguriert werden müssen AWS SDK für .NET , um sie zu verwenden. Das [AWSConfigs. AWSProfilesDie Standort-Eigenschaft](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) steuert, wie die Anmeldeinformationsprofile AWS SDK für .NET findet.


****  

| AWSProfilesSpeicherort | 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](creds-file.md) 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
<a name="net-dg-config-creds-saml"></a>

Anwendungen, die die AWS SDK für .NET ([AWSSDK.Core-Version](https://www.nuget.org/packages/AWSSDK.Core/) 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.](https://docs.aws.amazon.com/powershell/latest/userguide/saml-pst.html)

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. AWSProfileBenennen](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) Sie die Eigenschaft genauso, wie Sie es mit anderen Anmeldeinformationsprofilen tun würden.

[Die *AWS -Security-Token-Service*Assembly (AWSSDK. SecurityToken](https://www.nuget.org/packages/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
<a name="net-dg-config-creds-assign-role"></a>

Für Anwendungen, die auf EC2 Amazon-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](net-dg-hosm.md).

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:
+  [Temporäre Sicherheitsnachweise](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 
+  [Amazon Cognito Cognito-Identitätspools](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)

## Verwendung von Proxy-Anmeldeinformationen
<a name="net-dg-config-creds-proxy"></a>

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: [AmazonCloudDirectoryConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudDirectory/TCloudDirectoryConfig.html)im [Amazon. CloudDirectory](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudDirectory/NCloudDirectory.html)Namespace und [AmazonGameLiftConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/GameLift/TGameLiftConfig.html)im [Amazon. GameLift](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/GameLift/NGameLift.html)Namespace.

Für [Amazon S3](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/TS3Config.html) 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 [NetworkCredential](https://learn.microsoft.com/en-us/dotnet/api/system.net.networkcredential)Objekt 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.