

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

# Menggunakan AWS SDK for Ruby Credential Provider
<a name="credential-providers"></a>

Semua permintaan AWS harus ditandatangani secara kriptografi dengan menggunakan kredensil yang dikeluarkan oleh. AWS Saat runtime, SDK mengambil nilai konfigurasi untuk kredensil dengan memeriksa beberapa lokasi.

Otentikasi dengan AWS dapat ditangani di luar basis kode Anda. Banyak metode otentikasi dapat dideteksi, digunakan, dan disegarkan secara otomatis oleh SDK menggunakan rantai penyedia kredensi.

Untuk opsi terpandu untuk memulai AWS autentikasi untuk proyek Anda, lihat [Otentikasi dan akses di Panduan](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) *Referensi Alat AWS SDKs dan Alat*.

## Rantai penyedia kredensi
<a name="credchain"></a>

Semua SDKs memiliki serangkaian tempat (atau sumber) yang mereka periksa untuk mendapatkan kredensil yang valid untuk digunakan untuk membuat permintaan ke sebuah. Layanan AWS Setelah kredensi yang valid ditemukan, pencarian dihentikan. Pencarian sistematis ini disebut rantai penyedia kredensi default. 

**catatan**  
Jika Anda mengikuti pendekatan yang disarankan bagi pengguna baru untuk memulai, Anda mengautentikasi menggunakan login dengan kredenal konsol selama proses. [Mengautentikasi dengan AWS menggunakan AWS SDK for Ruby](credentials.md) Metode otentikasi lainnya berguna untuk situasi yang berbeda. Untuk menghindari risiko keamanan, kami sarankan untuk selalu menggunakan kredensi jangka pendek. Untuk prosedur metode otentikasi lainnya, lihat [Otentikasi dan akses di Panduan](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) *Referensi Alat AWS SDKs dan Alat*.

Untuk setiap langkah dalam rantai, ada berbagai cara untuk mengatur nilai. Menetapkan nilai secara langsung dalam kode selalu diutamakan, diikuti dengan pengaturan sebagai variabel lingkungan, dan kemudian di file bersama AWS `config`. 

*Panduan Referensi AWS SDKs dan Alat* memiliki informasi tentang pengaturan konfigurasi SDK yang digunakan oleh semua AWS SDKs dan. AWS CLI Untuk mempelajari lebih lanjut tentang cara mengonfigurasi SDK melalui AWS `config` file bersama, lihat File [konfigurasi dan kredensial bersama](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html). Untuk mempelajari lebih lanjut tentang cara mengonfigurasi SDK melalui pengaturan variabel lingkungan, lihat [Dukungan variabel lingkungan](https://docs.aws.amazon.com/sdkref/latest/guide/environment-variables.html).

Untuk mengautentikasi AWS, AWS SDK for Ruby memeriksa penyedia kredensi dalam urutan yang tercantum dalam tabel berikut.


| Penyedia kredensi berdasarkan prioritas | *AWS SDKs dan Panduan Referensi Alat* | *AWS SDK untuk Ruby Referensi API* | 
| --- | --- | --- | 
| AWS kunci akses (kredensial sementara dan jangka panjang) | [AWS kunci akses](https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Credentials.html)[https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SharedCredentials.html) | 
| Token identitas web dari AWS Security Token Service (AWS STS)  | [Asumsikan penyedia kredensi peran](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Menggunakan`role_arn`,`role_session_name`, dan `web_identity_token_file` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleWebIdentityCredentials.html)  | 
| AWS IAM Identity Center. Dalam panduan ini, lihat[Mengautentikasi dengan AWS menggunakan AWS SDK for Ruby](credentials.md). | [Penyedia kredensi Pusat Identitas IAM](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sso-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SSOCredentials.html) | 
| Penyedia entitas tepercaya (sepertiAWS\$1ROLE\$1ARN). Dalam panduan ini, lihat[Membuat token AWS STS akses](#aws-ruby-sdk-credentials-access-token). | [Asumsikan penyedia kredensi peran](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html)Menggunakan `role_arn` dan `role_session_name` | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html) | 
| Penyedia kredensi masuk | [Penyedia kredensi masuk](https://docs.aws.amazon.com/sdkref/latest/guide/feature-login-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/LoginCredentials.html) | 
| Penyedia kredensi proses | [Penyedia kredensi proses](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ProcessCredentials.html) | 
| Kredensi Amazon Elastic Container Service (Amazon ECS) | [Penyedia kredensi kontainer](https://docs.aws.amazon.com/sdkref/latest/guide/feature-container-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/ECSCredentials.html) | 
| Kredensi profil instans Amazon Elastic Compute Cloud (Amazon EC2) (penyedia kredensi IMDS) | [Penyedia kredensi IMDS](https://docs.aws.amazon.com/sdkref/latest/guide/feature-imds-credentials.html) | [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/InstanceProfileCredentials.html) | 

Jika variabel `AWS_SDK_CONFIG_OPT_OUT` lingkungan AWS SDK for Ruby disetel, file bersama, ` ~/.aws/config` biasanya AWS `config` di, tidak akan diuraikan untuk kredensialnya.

## Membuat token AWS STS akses
<a name="aws-ruby-sdk-credentials-access-token"></a>

Dengan asumsi peran melibatkan penggunaan seperangkat kredensil keamanan sementara yang dapat Anda gunakan untuk mengakses AWS sumber daya yang biasanya tidak dapat Anda akses. Kredensial sementara ini terdiri dari access key ID, secret access key, dan token keamanan. Anda dapat menggunakan [https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html](https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/AssumeRoleCredentials.html)metode ini untuk membuat token akses AWS Security Token Service (AWS STS).

Contoh berikut menggunakan token akses untuk membuat objek klien Amazon S3, di mana `linked::account::arn` adalah Nama Sumber Daya Amazon (ARN) peran yang akan diasumsikan dan `session-name` merupakan pengidentifikasi untuk sesi peran yang diasumsikan.

```
role_credentials = Aws::AssumeRoleCredentials.new(
  client: Aws::STS::Client.new,
  role_arn: "linked::account::arn",
  role_session_name: "session-name"
)

s3 = Aws::S3::Client.new(credentials: role_credentials)
```

Untuk informasi selengkapnya tentang pengaturan `role_arn` atau`role_session_name`, atau tentang menyetelnya menggunakan AWS `config` file bersama sebagai gantinya, lihat [Mengasumsikan penyedia kredensi peran](https://docs.aws.amazon.com/sdkref/latest/guide/feature-assume-role-credentials.html) di *Panduan Referensi Alat AWS SDKs dan*. 