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::
. Misalnya, <service identifier>
::ClientAws::S3::Client
menyediakan antarmuka ke layanan Amazon Simple Storage Service, dan Aws::SQS::Client
menyediakan 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:
-
Pengaturan eksplisit apa pun yang disetel dalam kode atau pada klien layanan itu sendiri lebih diutamakan daripada yang lain.
-
Parameter apa pun yang diteruskan langsung ke konstruktor klien diutamakan.
-
Aws.config
diperiksa untuk pengaturan global atau khusus layanan.
-
-
Variabel lingkungan diperiksa.
-
AWS
credentials
File bersama dicentang. -
AWS
config
File bersama dicentang. -
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.config
aws-sdk-core
permata.
Aws.config
mendukung 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
Options
di 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
}
Dapat diidentifikasi dengan melihat nama AWS SDK yang sesuai untuk nama permata Ruby<service identifier>
aws-sdk-
Sebagai contoh:
-
Untuk
aws-sdk-s3
, string pengenal layanan adalah "s3
”. -
Untuk
aws-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 | |
Token identitas web dari AWS Security Token Service (AWS STS) | Asumsikan penyedia kredensi peran Menggunakan |
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 |
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::AssumeRoleCredentials
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
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
config
File 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 .