Konfigurasikan AWS SDK for Ruby - AWS SDK for Ruby

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

Konfigurasikan AWS SDK for Ruby

Pelajari cara mengonfigurasi AWS SDK for Ruby. Anda harus menetapkan bagaimana kode Anda mengautentikasi dengan AWS ketika Anda mengembangkan dengan Layanan AWS. Anda juga harus mengatur yang ingin Wilayah AWS Anda gunakan.

SDK for Ruby mencakup kelas klien yang menyediakan antarmuka ke file. Layanan AWS Setiap kelas klien mendukung tertentu Layanan AWS dan mengikuti konvensiAws::<service identifier>::Client. Misalnya, Aws::S3::Clientmenyediakan antarmuka ke layanan Amazon Simple Storage Service, dan Aws::SQS::Clientmenyediakan antarmuka ke layanan Amazon Simple Queue Service.

Semua kelas klien untuk semua Layanan AWS adalah thread-safe.

Saat membuat instance class klien, AWS kredensi harus diberikan. Kredensil dapat diberikan dari kode Anda, lingkungan, atau AWS config file bersama dan file bersama AWS credentials. Untuk urutan SDK memeriksa penyedia autentikasi, lihat. Rantai penyedia kredensi

Shared config dan credentials file dapat digunakan untuk pengaturan konfigurasi. Untuk semua setelan AWS SDK, lihat referensi Pengaturan di Panduan Referensi Alat AWS SDKs dan Alat. Profil yang berbeda dapat digunakan untuk menyimpan konfigurasi yang berbeda. Variabel AWS_PROFILE lingkungan dapat digunakan untuk menentukan profil mana yang dimuat SDK. Profil aktif juga dapat diatur menggunakan profile opsiAws.config.

Prioritas pengaturan

Pengaturan global mengonfigurasi fitur, penyedia kredensi, dan fungsionalitas lain yang didukung oleh sebagian besar SDKs dan memiliki dampak luas. Layanan AWS Semua AWS SDKs memiliki serangkaian tempat (atau sumber) yang mereka periksa untuk menemukan nilai untuk pengaturan global. Tidak semua pengaturan tersedia di semua sumber. Berikut ini adalah prioritas pencarian pengaturan:

  1. Pengaturan eksplisit apa pun yang disetel dalam kode atau pada klien layanan itu sendiri lebih diutamakan daripada yang lain.

    1. Parameter apa pun yang diteruskan langsung ke konstruktor klien diutamakan.

    2. Aws.configdiperiksa untuk pengaturan global atau khusus layanan.

  2. Variabel lingkungan diperiksa.

  3. AWS credentialsFile bersama dicentang.

  4. AWS configFile bersama dicentang.

  5. Setiap nilai default yang disediakan oleh AWS SDK for Ruby source code itu sendiri digunakan terakhir.

Aws.config

Untuk menyediakan konfigurasi global dalam kode Anda untuk semua AWS kelas, gunakan Aws.configyang tersedia di aws-sdk-core permata.

Aws.configmendukung dua sintaks untuk penggunaan yang berbeda. Pengaturan global dapat diterapkan untuk semua Layanan AWS atau untuk layanan tertentu. Untuk daftar lengkap setelan yang didukung, lihat Client Optionsdi Referensi AWS SDK for Ruby API.

Pengaturan global melalui Aws.config

Untuk mengatur pengaturan agnostik layananAws.config, gunakan sintaks berikut:

Aws.config[:<global setting name>] = <value>

Pengaturan ini digabungkan ke klien layanan apa pun yang dibuat.

Contoh pengaturan global:

Aws.config[:region] = 'us-west-2'

Jika Anda mencoba menggunakan nama setelan yang tidak didukung secara global, kesalahan akan muncul saat Anda mencoba membuat instance dari jenis layanan yang tidak mendukungnya. Jika ini terjadi, gunakan sintaks khusus layanan sebagai gantinya.

Pengaturan khusus layanan melalui Aws.config

Untuk mengatur pengaturan khusus layananAws.config, gunakan sintaks berikut:

Aws.config[:<service identifier>] = { <global setting name>: <value> }

Pengaturan ini digabungkan ke semua klien layanan yang dibuat dari jenis layanan tersebut.

Contoh pengaturan yang hanya berlaku untuk Amazon S3:

Aws.config[:s3] = { force_path_style: true }

<service identifier>Dapat diidentifikasi dengan melihat nama AWS SDK yang sesuai untuk nama permata Ruby, dan menggunakan akhiran yang mengikuti "”. aws-sdk- Sebagai contoh:

  • Untukaws-sdk-s3, string pengenal layanan adalah "s3”.

  • Untukaws-sdk-ecs, string pengenal layanan adalah "ecs”.

Rantai penyedia kredensi

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 menyiapkan AWS IAM Identity Center Otentikasi SDK dengan AWS autentikasi selama topik Memulai. 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 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 and Tools 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. Untuk mempelajari lebih lanjut tentang cara mengonfigurasi SDK melalui pengaturan variabel lingkungan, lihat Dukungan variabel lingkungan.

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 for Ruby Referensi API
AWS kunci akses (kredensial sementara dan jangka panjang) AWS kunci akses

Aws::Credentials

Aws::SharedCredentials

Token identitas web dari AWS Security Token Service (AWS STS) Asumsikan penyedia kredensi peran

Menggunakanrole_arn,role_session_name, dan web_identity_token_file

Aws::AssumeRoleWebIdentityCredentials
AWS IAM Identity Center. Dalam panduan ini, lihatOtentikasi SDK dengan AWS. Penyedia kredensi Pusat Identitas IAM Aws::SSOCredentials
Penyedia entitas tepercaya (sepertiAWS_ROLE_ARN). Dalam panduan ini, lihatMembuat token AWS STS akses. Asumsikan penyedia kredensi peran

Menggunakan role_arn dan role_session_name

Aws::AssumeRoleCredentials
Penyedia kredensi proses Penyedia kredensi proses Aws::ProcessCredentials
Kredensi Amazon Elastic Container Service (Amazon ECS) Penyedia kredensi kontainer Aws::ECSCredentials
Kredensi profil instans Amazon Elastic Compute Cloud (Amazon EC2) (penyedia kredensi IMDS) Penyedia kredensi IMDS Aws::InstanceProfileCredentials

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

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 Aws::AssumeRoleCredentialsmetode 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 ataurole_session_name, atau tentang menyetelnya menggunakan AWS config file bersama sebagai gantinya, lihat Mengasumsikan penyedia kredensi peran di Panduan Referensi Alat AWS SDKs dan.

Mengatur Wilayah

Anda perlu mengatur Wilayah saat menggunakan sebagian besar Layanan AWS. AWS SDK for Ruby menelusuri Wilayah dengan urutan sebagai berikut:

Untuk informasi selengkapnya tentang region pengaturan, lihat Wilayah AWSdi Panduan Referensi Alat AWS SDKs dan Alat. Sisa bagian ini menjelaskan cara mengatur Wilayah, dimulai dengan pendekatan yang paling umum.

Mengatur Wilayah menggunakan config file bersama

Atur wilayah dengan mengatur region variabel dalam AWS config file bersama. Untuk informasi selengkapnya tentang config file bersama, lihat File konfigurasi dan kredensial bersama di Panduan Referensi Alat AWS SDKs dan Alat.

Contoh pengaturan nilai ini dalam config file:

[default] region = us-west-2

configFile bersama tidak diperiksa jika variabel lingkungan AWS_SDK_CONFIG_OPT_OUT disetel.

Mengatur Wilayah menggunakan variabel lingkungan

Mengatur Region dengan mengatur variabel AWS_REGION lingkungan.

Gunakan export perintah untuk mengatur variabel ini pada sistem berbasis Unix, seperti Linux atau macOS. Contoh berikut menetapkan Region keus-west-2.

export AWS_REGION=us-west-2

Untuk mengatur variabel ini pada Windows, gunakan set perintah. Contoh berikut menetapkan Region keus-west-2.

set AWS_REGION=us-west-2

Mengatur Wilayah dengan Aws.config

Atur Region dengan menambahkan region nilai ke Aws.config hash. Contoh berikut memperbarui Aws.config hash untuk menggunakan us-west-1 Wilayah.

Aws.config.update({region: 'us-west-1'})

Setiap klien atau sumber daya yang Anda buat nanti terikat ke Wilayah ini.

Mengatur Wilayah di klien atau objek sumber daya

Atur Wilayah saat Anda membuat AWS klien atau sumber daya. Contoh berikut membuat objek sumber daya Amazon S3 di Wilayah. us-west-1 Pilih Wilayah yang tepat untuk AWS sumber daya Anda. Objek klien layanan tidak dapat diubah, jadi Anda harus membuat klien baru untuk setiap layanan yang Anda ajukan permintaan dan untuk membuat permintaan ke layanan yang sama menggunakan konfigurasi yang berbeda.

s3 = Aws::S3::Resource.new(region: 'us-west-1')

Menetapkan titik akhir yang tidak standar

Wilayah ini digunakan untuk membangun titik akhir SSL untuk digunakan untuk permintaan. AWS Jika Anda perlu menggunakan titik akhir yang tidak standar di Wilayah yang Anda pilih, tambahkan endpoint entri ke. Aws.config Atau, atur endpoint: saat membuat klien layanan atau objek sumber daya. Contoh berikut membuat objek sumber daya Amazon S3 di titik akhir. other_endpoint

s3 = Aws::S3::Resource.new(endpoint: other_endpoint)

Untuk menggunakan titik akhir yang Anda pilih untuk permintaan API dan agar pilihan tersebut tetap ada, lihat opsi konfigurasi titik akhir khusus layanan di Panduan Referensi Alat dan AWS SDKs .