

 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.

# Menggunakan kredensial warisan
<a name="net-dg-legacy-creds"></a>

Topik di bagian ini memberikan informasi tentang penggunaan kredensi jangka panjang atau jangka pendek tanpa menggunakan. AWS IAM Identity Center

**Awas**  
Untuk menghindari risiko keamanan, jangan gunakan pengguna IAM untuk otentikasi saat mengembangkan perangkat lunak yang dibuat khusus atau bekerja dengan data nyata. Sebaliknya, gunakan federasi dengan penyedia identitas seperti [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**catatan**  
Informasi dalam topik ini adalah untuk keadaan di mana Anda perlu memperoleh dan mengelola kredensi jangka pendek atau jangka panjang secara manual. Untuk informasi tambahan tentang kredensi jangka pendek dan jangka panjang, lihat [Cara lain untuk mengautentikasi](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) di Panduan Referensi *Alat AWS SDKs dan Alat*.  
Untuk praktik keamanan terbaik, gunakan AWS IAM Identity Center, seperti yang dijelaskan dalam[Konfigurasikan otentikasi SDK](creds-idc.md).

## Peringatan penting dan panduan untuk kredensional
<a name="net-dg-config-creds-warnings-and-guidelines"></a>

**Peringatan untuk kredensional**
+ ***JANGAN*** gunakan kredensi root akun Anda untuk mengakses AWS sumber daya. Kredensi ini menyediakan akses akun yang tidak terbatas dan sulit dicabut.
+ ***JANGAN*** menaruh kunci akses literal atau informasi kredensi dalam file aplikasi Anda. Jika Anda melakukannya, Anda membuat risiko secara tidak sengaja mengekspos kredensialnya jika, misalnya, Anda mengunggah proyek ke repositori publik.
+ ***JANGAN*** sertakan file yang berisi kredensi di area proyek Anda.
+ Ketahuilah bahwa setiap kredensional yang disimpan dalam AWS `credentials` file bersama, disimpan dalam teks biasa.

**Panduan tambahan untuk mengelola kredensional dengan aman**

[Untuk diskusi umum tentang cara mengelola AWS kredensional dengan aman, lihat kredenal [AWS keamanan](https://docs.aws.amazon.com/general/latest/gr/Welcome.html#aws-security-credentials) dalam [praktik [Referensi Umum AWS](https://docs.aws.amazon.com/general/latest/gr/)dan kasus penggunaan terbaik Keamanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html) di Panduan Pengguna IAM.](https://docs.aws.amazon.com/IAM/latest/UserGuide/) Selain diskusi tersebut, pertimbangkan hal berikut:
+ Buat pengguna tambahan, seperti pengguna di IAM Identity Center, dan gunakan kredensialnya alih-alih menggunakan kredensi pengguna AWS root Anda. Kredensi untuk pengguna lain dapat dicabut jika perlu atau bersifat sementara. Selain itu, Anda dapat menerapkan kebijakan kepada setiap pengguna untuk akses hanya ke sumber daya dan tindakan tertentu dan dengan demikian mengambil sikap izin hak istimewa paling sedikit.
+ Gunakan [peran IAM untuk tugas untuk tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) Amazon Elastic Container Service (Amazon ECS).
+ Gunakan [peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) untuk aplikasi yang berjalan di instans Amazon EC2.
+ Gunakan [kredensi sementara](creds-assign.md#net-dg-config-creds-assign-role) atau variabel lingkungan untuk aplikasi yang tersedia bagi pengguna di luar organisasi Anda.

**Topics**
+ [Peringatan penting dan panduan untuk kredensional](#net-dg-config-creds-warnings-and-guidelines)
+ [Menggunakan file AWS kredensial bersama](creds-file.md)
+ [Menggunakan SDK Store (khusus Windows)](sdk-store.md)

# Menggunakan file AWS kredensial bersama
<a name="creds-file"></a>

(Pastikan untuk meninjau [peringatan dan panduan penting untuk kredensialnya](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines).)

Salah satu cara untuk memberikan kredensi untuk aplikasi Anda adalah dengan membuat profil di *file AWS kredensial bersama dan kemudian menyimpan kredensi* di profil tersebut. File ini dapat digunakan oleh yang lain AWS SDKs. Hal ini juga dapat digunakan oleh [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/), [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/), dan AWS toolkit untuk [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/), [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/), dan [VS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/) Code.

**Awas**  
Untuk menghindari risiko keamanan, jangan gunakan pengguna IAM untuk otentikasi saat mengembangkan perangkat lunak yang dibuat khusus atau bekerja dengan data nyata. Sebaliknya, gunakan federasi dengan penyedia identitas seperti [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**catatan**  
Informasi dalam topik ini adalah untuk keadaan di mana Anda perlu memperoleh dan mengelola kredensi jangka pendek atau jangka panjang secara manual. Untuk informasi tambahan tentang kredensi jangka pendek dan jangka panjang, lihat [Cara lain untuk mengautentikasi](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) di Panduan Referensi *Alat AWS SDKs dan Alat*.  
Untuk praktik keamanan terbaik, gunakan AWS IAM Identity Center, seperti yang dijelaskan dalam[Konfigurasikan otentikasi SDK](creds-idc.md).

## Informasi umum
<a name="creds-file-general-info"></a>

Secara default, file AWS kredensi bersama terletak di direktori di dalam `.aws` direktori home Anda dan diberi nama`credentials`; yaitu, `~/.aws/credentials` (Linux atau macOS) atau `%USERPROFILE%\.aws\credentials` (Windows). Untuk informasi tentang lokasi alternatif, lihat [Lokasi file bersama di](https://docs.aws.amazon.com/sdkref/latest/guide/file-location.html) *[Panduan Referensi Alat AWS SDKs dan](https://docs.aws.amazon.com/sdkref/latest/guide/overview.html)*. Lihat juga [Mengakses kredensi dan profil dalam aplikasi](creds-locate.md).

File AWS kredensial bersama adalah file plaintext dan mengikuti format tertentu. Untuk informasi tentang format file AWS kredensional, lihat [Format file kredensial di Panduan Referensi](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html#file-format-creds) Alat *AWS SDKs dan*.

Anda dapat mengelola profil dalam file AWS kredensi bersama dengan beberapa cara.
+ Gunakan editor teks apa pun untuk membuat dan memperbarui file AWS kredensi bersama.
+ Gunakan [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace AWS SDK untuk .NET API, seperti yang ditunjukkan nanti dalam topik ini.
+ Gunakan perintah dan prosedur untuk [Alat AWS untuk PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html)dan AWS toolkit untuk [Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html), [JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/setup-credentials.html), dan [VS](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-credentials.html) Code.
+ Gunakan [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)perintah; misalnya, `aws configure set aws_access_key_id` dan`aws configure set aws_secret_access_key`.

## Contoh manajemen profil
<a name="creds-file-examples"></a>

Bagian berikut menunjukkan contoh profil dalam file AWS kredensial bersama. Beberapa contoh menunjukkan hasilnya, yang dapat diperoleh melalui salah satu metode manajemen kredensional yang dijelaskan sebelumnya. Contoh lain menunjukkan cara menggunakan metode tertentu.

### Profil default
<a name="creds-file-default"></a>

*File AWS kredensial bersama hampir selalu memiliki profil bernama default.* Di sinilah AWS SDK untuk .NET mencari kredensi jika tidak ada profil lain yang ditentukan.

`[default]`Profil biasanya terlihat seperti berikut ini.

```
[default]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### Buat profil secara terprogram
<a name="creds-file-create-programmatically"></a>

Contoh ini menunjukkan cara membuat profil dan menyimpannya ke file AWS kredensial bersama secara terprogram. Ini menggunakan kelas berikut dari [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace: [CredentialProfileOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfileOptions.html), [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html), dan. [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.html)

```
using Amazon.Runtime.CredentialManagement;
...

// Do not include credentials in your code.
WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey);
...

void WriteProfile(string profileName, string keyId, string secret)
{
    Console.WriteLine($"Create the [{profileName}] profile...");
    var options = new CredentialProfileOptions
    {
        AccessKey = keyId,
        SecretKey = secret
    };
    var profile = new CredentialProfile(profileName, options);
    var sharedFile = new SharedCredentialsFile();
    sharedFile.RegisterProfile(profile);
}
```

**Awas**  
Kode seperti ini umumnya tidak boleh ada dalam aplikasi Anda. Jika Anda memasukkannya ke dalam aplikasi Anda, lakukan tindakan pencegahan yang tepat untuk memastikan bahwa kunci teks biasa tidak mungkin terlihat dalam kode, melalui jaringan, atau bahkan di memori komputer.

Berikut ini adalah profil yang dibuat oleh contoh ini.

```
[my_new_profile]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### Perbarui profil yang ada secara terprogram
<a name="creds-file-update-programmatically"></a>

Contoh ini menunjukkan kepada Anda cara memperbarui profil yang dibuat sebelumnya secara terprogram. Ini menggunakan kelas berikut dari [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace: [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)dan. [SharedCredentialsFile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TSharedCredentialsFile.html) Ini juga menggunakan [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html)kelas namespace [Amazon](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/N.html).

```
using Amazon.Runtime.CredentialManagement;
...

AddRegion("my_new_profile", RegionEndpoint.USWest2);
...

void AddRegion(string profileName, RegionEndpoint region)
{
    var sharedFile = new SharedCredentialsFile();
    CredentialProfile profile;
    if (sharedFile.TryGetProfile(profileName, out profile))
    {
        profile.Region = region;
        sharedFile.RegisterProfile(profile);
    }
}
```

Berikut ini adalah profil yang diperbarui.

```
[my_new_profile]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
region=us-west-2
```

**catatan**  
Anda juga dapat mengatur AWS Wilayah di lokasi lain dan dengan menggunakan metode lain. Lihat informasi yang lebih lengkap di [Konfigurasikan AWS Wilayah](net-dg-region-selection.md).

# Menggunakan SDK Store (khusus Windows)
<a name="sdk-store"></a>

(Pastikan untuk meninjau [peringatan dan pedoman penting](net-dg-legacy-creds.md#net-dg-config-creds-warnings-and-guidelines).)

Di Windows, *SDK Store* adalah tempat lain untuk membuat profil dan menyimpan kredensi terenkripsi untuk aplikasi Anda. AWS SDK untuk .NET Itu terletak di`%USERPROFILE%\AppData\Local\AWSToolkit\RegisteredAccounts.json`. Anda dapat menggunakan SDK Store selama pengembangan sebagai alternatif untuk file [AWS kredensial bersama](creds-file.md).

**Awas**  
Untuk menghindari risiko keamanan, jangan gunakan pengguna IAM untuk otentikasi saat mengembangkan perangkat lunak yang dibuat khusus atau bekerja dengan data nyata. Sebaliknya, gunakan federasi dengan penyedia identitas seperti [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**catatan**  
Informasi dalam topik ini adalah untuk keadaan di mana Anda perlu memperoleh dan mengelola kredensi jangka pendek atau jangka panjang secara manual. Untuk informasi tambahan tentang kredensil jangka pendek dan jangka panjang, lihat [Cara lain untuk mengautentikasi](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) di Panduan Referensi *Alat AWS SDKs dan Alat*.  
Untuk praktik keamanan terbaik, gunakan AWS IAM Identity Center, seperti yang dijelaskan dalam[Konfigurasikan otentikasi SDK](creds-idc.md).

## Informasi umum
<a name="sdk-store-general-info"></a>

SDK Store memberikan manfaat berikut:
+ Kredensil di SDK Store dienkripsi, dan SDK Store berada di direktori home pengguna. Ini membatasi risiko secara tidak sengaja mengekspos kredensil Anda.
+ SDK Store juga menyediakan kredensil untuk dan. [AWS Tools for Windows PowerShell[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/AWSToolkitVS/latest/UserGuide/)](https://docs.aws.amazon.com/powershell/latest/userguide/)

Profil SDK Store khusus untuk pengguna tertentu pada host tertentu. Anda tidak dapat menyalinnya ke host lain atau pengguna lain. Ini berarti Anda tidak dapat menggunakan kembali profil SDK Store yang ada di mesin pengembangan Anda untuk host atau mesin pengembang lain. Ini juga berarti bahwa Anda tidak dapat menggunakan profil SDK Store dalam aplikasi produksi.

Anda dapat mengelola profil di SDK Store dengan cara berikut:
+ Gunakan antarmuka pengguna grafis (GUI) di. [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/credentials.html)
+ Gunakan [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace AWS SDK untuk .NET API, seperti yang ditunjukkan nanti dalam topik ini.
+ Gunakan perintah dari [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/specifying-your-aws-credentials.html); misalnya, `Set-AWSCredential` dan`Remove-AWSCredentialProfile`.

## Contoh manajemen profil
<a name="sdk-store-examples"></a>

Contoh berikut menunjukkan cara membuat dan memperbarui profil secara terprogram di SDK Store.

### Buat profil secara terprogram
<a name="sdk-store-create-programmatically"></a>

Contoh ini menunjukkan cara membuat profil dan menyimpannya ke SDK Store secara terprogram. Ini menggunakan kelas berikut dari [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace: [CredentialProfileOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfileOptions.html), [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html), dan [Net SDKCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TNetSDKCredentialsFile.html) File.

```
using Amazon.Runtime.CredentialManagement;
...

// Do not include credentials in your code.
WriteProfile("my_new_profile", SecurelyStoredKeyID, SecurelyStoredSecretAccessKey);
...

void WriteProfile(string profileName, string keyId, string secret)
{
    Console.WriteLine($"Create the [{profileName}] profile...");
    var options = new CredentialProfileOptions
    {
        AccessKey = keyId,
        SecretKey = secret
    };
    var profile = new CredentialProfile(profileName, options);
    var netSdkStore = new NetSDKCredentialsFile();
    netSdkStore.RegisterProfile(profile);
}
```

**Awas**  
Kode seperti ini umumnya tidak boleh ada dalam aplikasi Anda. Jika disertakan dalam aplikasi Anda, lakukan tindakan pencegahan yang tepat untuk memastikan bahwa kunci teks biasa tidak mungkin terlihat dalam kode, melalui jaringan, atau bahkan di memori komputer.

Berikut ini adalah profil yang dibuat oleh contoh ini.

```
"[generated GUID]" : {
    "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]",
    "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]",
    "ProfileType"  : "AWS",
    "DisplayName"  : "my_new_profile",
}
```

### Perbarui profil yang ada secara terprogram
<a name="sdk-store-update-programmatically"></a>

Contoh ini menunjukkan kepada Anda cara memperbarui profil yang dibuat sebelumnya secara terprogram. Ini menggunakan kelas berikut dari [Amazon.Runtime. CredentialManagement](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/NRuntimeCredentialManagement.html)namespace: [CredentialProfile](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TCredentialProfile.html)dan [Net SDKCredentials](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TNetSDKCredentialsFile.html) File. Ini juga menggunakan [RegionEndpoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TRegionEndpoint.html)kelas namespace [Amazon](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/N.html).

```
using Amazon.Runtime.CredentialManagement;
...

AddRegion("my_new_profile", RegionEndpoint.USWest2);
...

void AddRegion(string profileName, RegionEndpoint region)
{
    var netSdkStore = new NetSDKCredentialsFile();
    CredentialProfile profile;
    if (netSdkStore.TryGetProfile(profileName, out profile))
    {
        profile.Region = region;
        netSdkStore.RegisterProfile(profile);
    }
}
```

Berikut ini adalah profil yang diperbarui.

```
"[generated GUID]" : {
    "AWSAccessKey" : "01000000D08...[etc., encrypted access key ID]",
    "AWSSecretKey" : "01000000D08...[etc., encrypted secret access key]",
    "ProfileType"  : "AWS",
    "DisplayName"  : "my_new_profile",
    "Region"       : "us-west-2"
}
```

**catatan**  
Anda juga dapat mengatur AWS Wilayah di lokasi lain dan dengan menggunakan metode lain. Lihat informasi yang lebih lengkap di [Konfigurasikan AWS Wilayah](net-dg-region-selection.md).