

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

# Menggunakan `credentials` file bersama `config` dan untuk mengkonfigurasi AWS SDKs dan alat secara global
<a name="file-format"></a>

File bersama AWS `config` dan `credentials` file adalah cara paling umum yang dapat Anda tentukan otentikasi dan konfigurasi ke AWS SDK atau alat.

`credentials`File yang dibagikan `config` dan berisi satu set profil. Profil adalah seperangkat pengaturan konfigurasi, dalam pasangan kunci-nilai, yang digunakan oleh AWS SDKs, AWS Command Line Interface (AWS CLI), dan alat lainnya. Nilai konfigurasi dilampirkan ke profil untuk mengonfigurasi beberapa aspek SDK/tool kapan profil itu digunakan. File-file ini “dibagikan” karena nilai mempengaruhi aplikasi, proses, atau SDKs lingkungan lokal apa pun untuk pengguna.

Baik file bersama `config` maupun `credentials` file adalah file teks biasa yang hanya berisi karakter ASCII (dikodekan UTF-8). Mereka mengambil bentuk apa yang umumnya disebut sebagai [file INI](https://wikipedia.org/wiki/INI_file).

## Profil
<a name="file-format-profile"></a>

Pengaturan dalam `credentials` file bersama `config` dan dikaitkan dengan profil tertentu. Beberapa profil dapat didefinisikan dalam file untuk membuat konfigurasi pengaturan yang berbeda untuk diterapkan di lingkungan pengembangan yang berbeda.

 `[default]`Profil berisi nilai yang digunakan oleh SDK atau operasi alat jika profil bernama tertentu tidak ditentukan. Anda juga dapat membuat profil terpisah yang dapat Anda referensikan secara eksplisit berdasarkan nama. Setiap profil dapat menggunakan pengaturan dan nilai yang berbeda sesuai kebutuhan aplikasi dan skenario Anda. 

**catatan**  
`[default]`hanyalah profil yang tidak disebutkan namanya. Profil ini dinamai `default` karena merupakan profil default yang digunakan oleh SDK jika pengguna tidak menentukan profil. Itu tidak memberikan nilai default yang diwariskan ke profil lain. Jika Anda menyetel sesuatu di `[default]` profil dan Anda tidak mengaturnya di profil bernama, maka nilainya tidak disetel saat Anda menggunakan profil bernama. 

### Menetapkan profil bernama
<a name="set-named-profile"></a>

`[default]`Profil dan beberapa profil bernama dapat ada dalam file yang sama. Gunakan pengaturan berikut untuk memilih pengaturan profil mana yang digunakan oleh SDK atau alat Anda saat menjalankan kode Anda. Profil juga dapat dipilih dalam kode, atau per-perintah saat bekerja dengan file. AWS CLI

Konfigurasikan fungsionalitas ini dengan mengatur salah satu dari berikut ini:

**`AWS_PROFILE`- variabel lingkungan**  
Ketika variabel lingkungan ini diatur ke profil bernama atau “default”, semua kode SDK dan AWS CLI perintah menggunakan pengaturan di profil itu.  
Linux/macOS contoh pengaturan variabel lingkungan melalui baris perintah:  

```
export AWS_PROFILE="my_default_profile_name";
```
Contoh Windows pengaturan variabel lingkungan melalui baris perintah:  

```
setx AWS_PROFILE "my_default_profile_name"
```

**`aws.profile`- Properti sistem JVM**  
[Untuk SDK untuk Kotlin di JVM dan SDK for Java 2.x, Anda dapat mengatur properti sistem. `aws.profile`](jvm-system-properties.md#jvm-sys-props-set) Saat SDK membuat klien layanan, SDK menggunakan pengaturan di profil bernama kecuali pengaturan diganti dalam kode. SDK for Java 1.x tidak mendukung properti sistem ini.

**catatan**  
Jika aplikasi Anda berada di server yang menjalankan beberapa aplikasi, kami sarankan Anda selalu menggunakan profil bernama daripada profil default. Profil default secara otomatis diambil oleh AWS aplikasi apa pun di lingkungan dan dibagikan di antara mereka. Jadi, jika orang lain memperbarui profil default untuk aplikasi mereka, itu dapat secara tidak sengaja memengaruhi yang lain. Untuk melindungi terhadap hal ini, tentukan profil bernama dalam `config` file bersama dan kemudian gunakan profil bernama itu di aplikasi Anda dengan menyetel profil bernama dalam kode Anda. Anda dapat menggunakan variabel lingkungan atau properti sistem JVM untuk mengatur profil bernama jika Anda tahu bahwa cakupannya hanya memengaruhi aplikasi Anda.

## Format file konfigurasi
<a name="file-format-config"></a>

`config`File ini disusun menjadi beberapa bagian. Bagian adalah kumpulan pengaturan bernama, dan berlanjut sampai garis definisi bagian lain ditemukan.

`config`File tersebut adalah file plaintext yang menggunakan format berikut:
+ Semua entri dalam suatu bagian mengambil bentuk umum dari. `setting-name=value`
+ Baris dapat dikomentari dengan memulai baris dengan karakter hashtag ()`#`.

### Jenis bagian
<a name="section-types"></a>

Definisi bagian adalah garis yang menerapkan nama ke kumpulan pengaturan. Garis definisi bagian dimulai dan diakhiri dengan tanda kurung siku (`[``]`). Di dalam tanda kurung, ada pengidentifikasi tipe bagian dan nama khusus untuk bagian tersebut. Anda dapat menggunakan huruf, angka, tanda hubung (`-`), dan garis bawah (`_`), tetapi tidak ada spasi.

#### Jenis bagian: `default`
<a name="section-default"></a>

Contoh baris definisi bagian: `[default]`

 `[default]`adalah satu-satunya profil yang tidak memerlukan pengenal `profile` bagian. 

Contoh berikut menunjukkan `config` file dasar dengan `[default]` profil. Ini mengatur [`region`](feature-region.md)pengaturan. Semua pengaturan yang mengikuti baris ini, hingga definisi bagian lain ditemukan, adalah bagian dari profil ini. 

```
[default]
#Full line comment, this text is ignored.
region = us-east-2
```

#### Jenis bagian: `profile`
<a name="section-profile"></a>

Contoh baris definisi bagian: `[profile dev]`

Garis definisi `profile` bagian adalah pengelompokan konfigurasi bernama yang dapat Anda terapkan untuk skenario pengembangan yang berbeda. Untuk lebih memahami profil bernama, lihat bagian sebelumnya di Profil. 

Contoh berikut menunjukkan `config` file dengan garis definisi `profile` bagian dan profil bernama bernama`foo`. Semua pengaturan yang mengikuti baris ini, hingga definisi bagian lain ditemukan, adalah bagian dari profil bernama ini. 

```
[profile foo]
...settings...
```

Beberapa pengaturan memiliki grup subpengaturan bersarang sendiri, seperti pengaturan dan `s3` subpengaturan dalam contoh berikut. Kaitkan subpengaturan dengan grup dengan membuat indentasi dengan satu spasi atau lebih.

```
[profile test]
region = us-west-2
s3 =
    max_concurrent_requests=10
    max_queue_size=1000
```

#### Jenis bagian: `sso-session`
<a name="section-session"></a>

Contoh baris definisi bagian: `[sso-session my-sso]`

Baris definisi `sso-session` bagian menamai sekelompok pengaturan yang Anda gunakan untuk mengonfigurasi profil untuk menyelesaikan AWS kredensil yang digunakan. AWS IAM Identity Center Untuk informasi selengkapnya tentang mengonfigurasi autentikasi masuk tunggal, lihat. [Menggunakan IAM Identity Center untuk mengautentikasi AWS SDK dan alat](access-sso.md) Profil ditautkan ke `sso-session` bagian oleh pasangan kunci-nilai di mana `sso-session` kunci dan nama `sso-session` bagian Anda adalah nilainya, seperti. `sso-session = <name-of-sso-session-section>` 

Contoh berikut mengonfigurasi profil yang akan mendapatkan AWS kredensi jangka pendek untuk peran IAM "SampleRole" di akun “111122223333" menggunakan token dari “my-sso”. Bagian “my-sso” `sso-session` direferensikan di `profile` bagian dengan nama menggunakan kunci. `sso-session` 

```
[profile dev]
sso_session = my-sso
sso_account_id = 111122223333
sso_role_name = SampleRole

[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://my-sso-portal.awsapps.com/start
```

#### Jenis bagian: `services`
<a name="section-services"></a>

Contoh baris definisi bagian: `[services dev]`

**catatan**  
`services`Bagian ini mendukung penyesuaian titik akhir khusus layanan dan hanya tersedia di SDKs dan alat yang menyertakan fitur ini. Untuk melihat apakah fitur ini tersedia untuk SDK Anda, lihat titik akhir [Support oleh AWS SDKs dan alat](feature-ss-endpoints.md#ss-endpoints-sdk-compat) khusus layanan.

Baris definisi `services` bagian menamai sekelompok pengaturan yang mengonfigurasi titik akhir kustom untuk Layanan AWS permintaan. Profil ditautkan ke `services` bagian oleh pasangan kunci-nilai di mana `services` kunci dan nama `services` bagian Anda adalah nilainya, seperti. `services = <name-of-services-section>` 

 `services`Bagian ini selanjutnya dipisahkan menjadi subbagian dengan `<SERVICE> = ` baris, di mana `<SERVICE>` adalah kunci Layanan AWS pengenal. Layanan AWS Pengenal didasarkan pada model API `serviceId` dengan mengganti semua spasi dengan garis bawah dan huruf kecil semua huruf. Untuk daftar semua kunci pengenal layanan yang akan digunakan di `services` bagian ini, lihat[Pengidentifikasi untuk titik akhir khusus layanan](ss-endpoints-table.md). Kunci pengenal layanan diikuti oleh pengaturan bersarang dengan masing-masing pada barisnya sendiri dan menjorok oleh dua spasi. 

 Contoh berikut menggunakan `services` definisi untuk mengonfigurasi titik akhir yang akan digunakan untuk permintaan yang dibuat hanya untuk Amazon DynamoDB layanan. `"local-dynamodb"``services`Bagian ini direferensikan di `profile` bagian dengan nama menggunakan `services` kunci. Kunci Layanan AWS pengenal adalah`dynamodb`. Subbagian Amazon DynamoDB layanan dimulai pada telepon`dynamodb = `. Baris yang segera mengikuti yang menjorok termasuk dalam ayat itu dan berlaku untuk layanan itu. 

```
[profile dev]
services = local-dynamodb

[services local-dynamodb]
dynamodb = 
  endpoint_url = http://localhost:8000
```

Untuk informasi selengkapnya tentang konfigurasi titik akhir kustom, lihat[Titik akhir khusus layanan](feature-ss-endpoints.md).

## Format file kredensial
<a name="file-format-creds"></a>

Aturan untuk `credentials` file umumnya identik dengan aturan untuk `config` file, kecuali bahwa bagian profil tidak dimulai dengan kata`profile`. Gunakan hanya nama profil itu sendiri di antara tanda kurung siku. Contoh berikut menunjukkan `credentials` file dengan bagian profil bernama bernama`foo`. 

```
[foo]
...credential settings...
```

Hanya pengaturan berikut yang dianggap “rahasia” atau sensitif yang dapat disimpan dalam `credentials` file:`aws_access_key_id`,`aws_secret_access_key`, dan`aws_session_token`. Meskipun pengaturan ini dapat ditempatkan di `config` file bersama, kami sarankan Anda menyimpan nilai-nilai sensitif ini dalam `credentials` file terpisah. Dengan cara ini, Anda dapat memberikan izin terpisah untuk setiap file, jika perlu.

Contoh berikut menunjukkan `credentials` file dasar dengan `[default]` profil. Ini mengatur [`aws_access_key_id`,`aws_secret_access_key`, dan](feature-static-credentials.md) pengaturan `aws_session_token` global.

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

Terlepas dari apakah Anda menggunakan profil bernama atau "`default`" dalam `credentials` file Anda, pengaturan apa pun di sini akan digabungkan dengan pengaturan apa pun dari `config` file Anda yang menggunakan nama profil yang sama. Jika ada kredensil di kedua file untuk profil yang berbagi nama yang sama, kunci dalam file kredensil diutamakan. 