Menggunakan credentials file bersama config dan untuk mengkonfigurasi AWS SDKs dan alat secara global - AWS SDKs dan Tools

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

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

credentialsFile 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/alat saat profil itu digunakan. File-file ini “dibagikan” karena nilai mempengaruhi aplikasi, proses, atau SDKs lingkungan lokal 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.

Profil

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

[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 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

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

configFile 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

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

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 regionpengaturan. 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

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 bernamafoo. 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

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 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

Contoh baris definisi bagian: [services dev]

catatan

servicesBagian 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 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>

servicesBagian 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, lihatPengidentifikasi untuk titik akhir khusus layanan. 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"servicesBagian ini direferensikan di profile bagian dengan nama menggunakan services kunci. Kunci Layanan AWS pengenal adalahdynamodb. Subbagian Amazon DynamoDB layanan dimulai pada telepondynamodb = . 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, lihatTitik akhir khusus layanan.

Format file kredensial

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

[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, danaws_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 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.