

 AWS SDK untuk .NET V3 telah memasuki mode pemeliharaan.

Kami menyarankan Anda bermigrasi ke [AWS SDK untuk .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman mode pemeliharaan](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/) kami.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Resolusi kredensi dan profil
<a name="creds-assign"></a>

 AWS SDK untuk .NET Pencarian kredensil dalam urutan tertentu dan menggunakan set pertama yang tersedia untuk aplikasi saat ini.

**Urutan pencarian kredensi**

1. Kredensil yang ditetapkan secara eksplisit pada klien AWS layanan, seperti yang dijelaskan dalam. [Mengakses kredensi dan profil dalam aplikasi](creds-locate.md)
**catatan**  
Topik itu ada di [Pertimbangan khusus](special-considerations.md) bagian karena itu bukan metode yang disukai untuk menentukan kredensil.

1. [Profil kredensil dengan nama yang ditentukan oleh nilai di. AWSConfigs AWSProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html#properties)Nama.

1. Profil kredensil dengan nama yang ditentukan oleh variabel `AWS_PROFILE` lingkungan.

1. Profil `[default]` kredensialnya.

1. [Sesi AWSCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSessionAWSCredentials.html) yang dibuat dari variabel `AWS_ACCESS_KEY_ID``AWS_SECRET_ACCESS_KEY`,, dan `AWS_SESSION_TOKEN` lingkungan, jika semuanya tidak kosong.

1.  [Dasar AWSCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TBasicAWSCredentials.html) yang dibuat dari variabel `AWS_ACCESS_KEY_ID` dan `AWS_SECRET_ACCESS_KEY` lingkungan, jika keduanya tidak kosong.

1. [Penyedia kredensi kontainer](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html).

1.  EC2 Metadata instans Amazon.

Jika aplikasi Anda berjalan di EC2 instans Amazon, seperti di lingkungan produksi, gunakan peran IAM seperti yang dijelaskan dalam[Memberikan akses dengan menggunakan peran IAM](net-dg-hosm.md). Jika tidak, seperti dalam pengujian prarilis, simpan kredensil Anda dalam file yang menggunakan format file AWS kredensial yang dapat diakses aplikasi web Anda di server.

## Resolusi profil
<a name="net-dg-config-creds-profile-resolution"></a>

Dengan dua mekanisme penyimpanan yang berbeda untuk kredensil, penting untuk memahami cara mengonfigurasi AWS SDK untuk .NET untuk menggunakannya. The [AWSConfigs. AWSProfilesProperti lokasi](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) mengontrol cara AWS SDK untuk .NET menemukan profil kredensi.


****  

| AWSProfilesLokasi | Perilaku resolusi profil | 
| --- | --- | 
|  nihil (tidak diatur) atau kosong  |  [Cari SDK Store jika platform mendukungnya, lalu cari file AWS kredensi bersama di lokasi default.](creds-file.md) Jika profil tidak berada di salah satu lokasi tersebut, cari `~/.aws/config` (Linux atau macOS) atau `%USERPROFILE%\.aws\config` (Windows).  | 
|  Path ke file dalam format file AWS kredensial  |  Cari *hanya* file yang ditentukan untuk profil dengan nama yang ditentukan.  | 

## Menggunakan kredensil akun pengguna federasi
<a name="net-dg-config-creds-saml"></a>

Aplikasi yang menggunakan AWS SDK untuk .NET ([AWSSDK.Core](https://www.nuget.org/packages/AWSSDK.Core/) versi 3.1.6.0 dan yang lebih baru) dapat menggunakan akun pengguna federasi melalui Active Directory Federation Services (AD FS) untuk mengakses AWS layanan dengan menggunakan Security Assertion Markup Language (SAFL).

Dukungan akses federasi berarti pengguna dapat mengautentikasi menggunakan Active Directory Anda. Kredensi sementara diberikan kepada pengguna secara otomatis. Kredensi sementara ini, yang berlaku selama satu jam, digunakan saat aplikasi Anda memanggil AWS layanan. SDK menangani pengelolaan kredensi sementara. Untuk akun pengguna yang bergabung dengan domain, jika aplikasi Anda melakukan panggilan tetapi kredensialnya telah kedaluwarsa, pengguna akan diautentikasi ulang secara otomatis dan kredensi baru diberikan. (Untuk non-domain-joined akun, pengguna diminta untuk memasukkan kredensil sebelum autentikasi ulang.)

Untuk menggunakan dukungan ini di aplikasi.NET Anda, Anda harus terlebih dahulu mengatur profil peran dengan menggunakan PowerShell cmdlet. Untuk mempelajari caranya, lihat [AWS Tools for Windows PowerShell dokumentasi](https://docs.aws.amazon.com/powershell/latest/userguide/saml-pst.html).

Setelah Anda mengatur profil peran, rujuk profil di aplikasi Anda. Ada beberapa cara untuk melakukan ini, salah satunya adalah dengan menggunakan [AWSConfigs. AWSProfileBeri nama](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) properti dengan cara yang sama seperti yang Anda lakukan dengan profil kredensi lainnya.

*AWS Security Token Service*Majelis ([AWSSDK. SecurityToken](https://www.nuget.org/packages/AWSSDK.SecurityToken/)) menyediakan dukungan SAFL untuk mendapatkan AWS kredensil. Untuk menggunakan kredensil akun pengguna federasi, pastikan perakitan ini tersedia untuk aplikasi Anda.

## Menentukan peran atau kredensi sementara
<a name="net-dg-config-creds-assign-role"></a>

Untuk aplikasi yang berjalan di EC2 instans Amazon, cara paling aman untuk mengelola kredensil adalah dengan menggunakan peran IAM, seperti yang dijelaskan dalam. [Memberikan akses dengan menggunakan peran IAM](net-dg-hosm.md)

Untuk skenario aplikasi di mana perangkat lunak yang dapat dieksekusi tersedia untuk pengguna di luar organisasi Anda, kami sarankan Anda merancang perangkat lunak untuk menggunakan kredensil *keamanan sementara*. Selain menyediakan akses terbatas ke AWS sumber daya, kredensil ini memiliki manfaat kedaluwarsa setelah jangka waktu tertentu. Untuk informasi selengkapnya tentang kredensil keamanan sementara, lihat berikut ini:
+  [Kredensil keamanan sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) 
+  [Kumpulan identitas Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html)

## Menggunakan kredensil proxy
<a name="net-dg-config-creds-proxy"></a>

Jika perangkat lunak Anda berkomunikasi dengan AWS melalui proxy, Anda dapat menentukan kredensi untuk proxy dengan menggunakan `ProxyCredentials` properti `Config` kelas layanan. `Config`Kelas layanan biasanya merupakan bagian dari namespace utama untuk layanan. Contohnya termasuk yang berikut: [AmazonCloudDirectoryConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudDirectory/TCloudDirectoryConfig.html)di [Amazon. ](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudDirectory/NCloudDirectory.html)CloudDirectory[namespace dan [AmazonGameLiftConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/GameLift/TGameLiftConfig.html)di Amazon. GameLift](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/GameLift/NGameLift.html)namespace.

Untuk [Amazon S3](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/S3/TS3Config.html), misalnya, Anda dapat menggunakan kode yang mirip dengan berikut ini, di mana `SecurelyStoredUserName` dan `SecurelyStoredPassword` merupakan nama pengguna proxy dan kata sandi yang [NetworkCredential](https://learn.microsoft.com/en-us/dotnet/api/system.net.networkcredential)ditentukan dalam objek.

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

**catatan**  
Versi SDK sebelumnya digunakan `ProxyUsername` dan`ProxyPassword`, tetapi properti ini tidak digunakan lagi.