Konfigurasikan otentikasi AWS CLI dengan IAM Identity Center - AWS Command Line Interface

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

Konfigurasikan otentikasi AWS CLI dengan IAM Identity Center

Topik ini memberikan petunjuk tentang cara mengkonfigurasi AWS CLI with AWS IAM Identity Center (IAMIdentity Center) untuk mengambil kredensi untuk menjalankan perintah. AWS CLI Terutama ada dua cara untuk mengautentikasi pengguna dengan IAM Identity Center untuk mendapatkan kredensional untuk menjalankan AWS CLI perintah melalui file: config

  • (Disarankan) konfigurasi penyedia SSO token.

  • Konfigurasi lama yang tidak dapat disegarkan.

Untuk informasi tentang penggunaan autentikasi pembawa, yang tidak menggunakan ID akun dan peran, lihat Menyiapkan untuk menggunakan AWS CLI dengan CodeCatalyst di CodeCatalyst Panduan Pengguna Amazon.

catatan

Untuk proses terpandu menggunakan Pusat IAM Identitas dengan AWS CLI perintah, lihatTutorial: Gunakan Pusat IAM Identitas untuk menjalankan perintah Amazon S3.

Topik

Prasyarat

  • Instal AWS CLI. Untuk informasi selengkapnya, lihat Instal atau perbarui ke versi terbaru AWS CLI.

  • Anda harus terlebih dahulu memiliki akses ke SSO otentikasi dalam Pusat IAM Identitas. Pilih salah satu metode berikut untuk mengakses AWS kredensional Anda.

Ikuti petunjuk di Memulai di Panduan AWS IAM Identity Center Pengguna. Proses ini mengaktifkan Pusat IAM Identitas, membuat pengguna administratif, dan menambahkan set izin hak istimewa paling tidak sesuai.

catatan

Buat set izin yang menerapkan izin hak istimewa paling sedikit. Sebaiknya gunakan set PowerUserAccess izin yang telah ditentukan sebelumnya, kecuali majikan Anda telah membuat set izin khusus untuk tujuan ini.

Keluar dari portal dan masuk lagi untuk melihat detail akses terprogram Anda Akun AWS, dan opsi untuk Administrator atauPowerUserAccess. Pilih PowerUserAccess saat bekerja denganSDK.

Masuk AWS melalui portal penyedia identitas Anda. Jika Administrator Cloud Anda telah memberi Anda izin PowerUserAccess (pengembang), Anda akan melihat Akun AWS bahwa Anda memiliki akses ke dan izin Anda ditetapkan. Di samping nama set izin Anda, Anda melihat opsi untuk mengakses akun secara manual atau terprogram menggunakan set izin tersebut.

Implementasi kustom dapat menghasilkan pengalaman yang berbeda, seperti nama set izin yang berbeda. Jika Anda tidak yakin izin mana yang disetel untuk digunakan, hubungi tim TI Anda untuk mendapatkan bantuan.

Masuk AWS melalui portal AWS akses Anda. Jika Administrator Cloud Anda telah memberi Anda izin PowerUserAccess (pengembang), Anda akan melihat Akun AWS bahwa Anda memiliki akses ke dan izin Anda ditetapkan. Di samping nama set izin Anda, Anda melihat opsi untuk mengakses akun secara manual atau terprogram menggunakan set izin tersebut.

Hubungi tim TI Anda untuk bantuan.

Setelah mendapatkan akses ke Pusat IAM Identitas, kumpulkan informasi Pusat IAM Identitas Anda dengan melakukan hal berikut:

  1. Di portal AWS akses Anda, pilih set izin yang Anda gunakan untuk pengembangan, dan pilih tautan Kunci akses.

  2. Di kotak dialog Dapatkan kredensi, pilih tab yang cocok dengan sistem operasi Anda.

  3. Pilih metode kredensial Pusat IAM Identitas untuk mendapatkan SSO Start URL dan SSO Region nilai yang perlu Anda jalankan. aws configure sso Untuk informasi tentang nilai cakupan mana yang akan didaftarkan, lihat OAuth2.0 Cakupan akses di Panduan Pengguna Pusat IAM Identitas.

Konfigurasikan profil Anda dengan aws configure sso wizard

Untuk mengonfigurasi profil Pusat IAM Identitas untuk AWS CLI:
  1. Di terminal pilihan Anda, jalankan aws configure sso perintah.

    IAM Identity Center

    Buat nama sesi, berikan awal Pusat IAM Identitas AndaURL, Wilayah AWS yang menghosting direktori Pusat IAM Identitas, dan ruang lingkup pendaftaran.

    $ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access
    Legacy IAM Identity Center

    Lewati nama sesi dan berikan awal Pusat IAM Identitas Anda URL dan AWS Wilayah yang menghosting direktori Pusat Identitas.

    $ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1
  2. AWS CLI Upaya untuk membuka browser default Anda untuk proses masuk akun Pusat IAM Identitas Anda. Proses ini mungkin meminta Anda untuk mengizinkan AWS CLI akses ke data Anda. Karena AWS CLI dibangun di atas SDK untuk Python, pesan izin mungkin berisi variasi namabotocore.

    • Jika AWS CLI tidak dapat membuka browser, instruksi untuk memulai proses masuk secara manual ditampilkan.

      If the browser does not open or you wish to use a different device to authorize this request, open the following URL: https://device.sso.us-west-2.amazonaws.com/ Then enter the code: QCFK-N451
  3. Pilih AWS akun yang akan digunakan dari daftar yang ditampilkan. Jika Anda diizinkan untuk menggunakan hanya satu akun, secara AWS CLI otomatis memilih akun itu dan melewatkan prompt.

    There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (123456789011) ProductionAccount, production-account-admin@example.com (123456789022)
  4. Pilih IAM peran yang akan digunakan dari daftar yang ditampilkan. Jika hanya ada satu peran yang tersedia, secara AWS CLI otomatis memilih peran itu dan melewatkan prompt.

    Using the account ID 123456789011 There are 2 roles available to you. > ReadOnly FullAccess
  5. Tentukan format output default, default Wilayah AWS untuk mengirim perintah ke, dan nama untuk profil. Jika Anda menentukan default sebagai nama profil, profil ini menjadi profil default yang digunakan. Dalam contoh berikut, pengguna memasukkan Wilayah default, format output default, dan nama profil.

    CLI default client Region [None]: us-west-2<ENTER> CLI default output format [None]: json<ENTER> CLI profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
  6. Pesan terakhir menjelaskan konfigurasi profil yang telah selesai. Anda sekarang dapat menggunakan profil ini untuk meminta kredensional. Gunakan aws sso login perintah untuk meminta dan mengambil kredenal yang diperlukan untuk menjalankan perintah. Untuk petunjuk, lihat Masuk ke sesi Pusat IAM Identitas.

Langkah-langkah ini menghasilkan pembuatan sso-session bagian dan profil bernama dalam config file yang terlihat seperti berikut:

IAM Identity Center
[profile my-dev-profile] sso_session = my-sso sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
Legacy IAM Identity Center
[profile my-dev-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 123456789011 sso_role_name = readOnly region = us-west-2 output = json

Konfigurasikan hanya sso-session bagian Anda dengan aws configure sso-session wizard

catatan

Konfigurasi ini tidak kompatibel dengan Pusat IAM Identitas lama.

aws configure sso-sessionPerintah memperbarui sso-session bagian dalam ~/.aws/config file. Jalankan aws configure sso-session perintah dan berikan awal Pusat IAM Identitas Anda URL dan AWS Wilayah yang menghosting direktori Pusat IAM Identitas.

$ aws configure sso-session SSO session name: my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]: us-east-1 SSO registration scopes [None]: sso:account:access

Konfigurasi manual menggunakan config file

IAMInformasi konfigurasi Pusat Identitas disimpan dalam config file dan dapat diedit menggunakan editor teks. Untuk menambahkan dukungan Pusat IAM Identitas secara manual ke profil bernama, Anda harus menambahkan kunci dan nilai ke config file.

sso-sessionBagian config file digunakan untuk mengelompokkan variabel konfigurasi untuk memperoleh token SSO akses, yang kemudian dapat digunakan untuk memperoleh AWS kredensional. Pengaturan berikut digunakan:

Anda menentukan sso-session bagian dan mengaitkannya ke profil. sso_start_urlPengaturan sso_region dan harus diatur dalam sso-session bagian. Biasanya, sso_account_id dan sso_role_name harus diatur di profile bagian sehingga SDK dapat meminta SSO kredensional.

Contoh berikut mengonfigurasi SSO kredensi SDK untuk meminta dan mendukung penyegaran token otomatis:

[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

Ini juga memungkinkan sso-session konfigurasi untuk digunakan kembali di beberapa profil:

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [profile prod] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole2 [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

Namun, sso_account_id dan sso_role_name tidak diperlukan untuk semua skenario konfigurasi SSO token. Jika aplikasi Anda hanya menggunakan AWS layanan yang mendukung otentikasi pembawa, maka AWS kredensi tradisional tidak diperlukan. Otentikasi pembawa adalah skema HTTP otentikasi yang menggunakan token keamanan yang disebut token pembawa. Dalam skenario ini, sso_account_id dan sso_role_name tidak diperlukan. Lihat panduan individual untuk AWS layanan Anda untuk menentukan apakah itu mendukung otorisasi token pembawa.

Selain itu, cakupan pendaftaran dapat dikonfigurasi sebagai bagian dari file. sso-session Lingkup adalah mekanisme di OAuth 2.0 untuk membatasi akses aplikasi ke akun pengguna. Aplikasi dapat meminta satu atau lebih cakupan, dan token akses yang dikeluarkan untuk aplikasi akan terbatas pada cakupan yang diberikan. Cakupan ini menentukan izin yang diminta untuk diotorisasi untuk OIDC klien terdaftar dan token akses yang diambil oleh klien. Contoh berikut menetapkan sso_registration_scopes untuk menyediakan akses untuk daftar akun/peran:

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

Token otentikasi di-cache ke disk di bawah sso/cache direktori dengan nama file berdasarkan nama sesi.

catatan

Penyegaran token otomatis tidak didukung menggunakan konfigurasi lama yang tidak dapat disegarkan. Sebaiknya gunakan konfigurasi SSO token.

Untuk menambahkan dukungan Pusat IAM Identitas secara manual ke profil bernama, Anda harus menambahkan kunci dan nilai berikut ke definisi profil dalam config file.

Anda dapat menyertakan kunci dan nilai lain yang valid dalam .aws/config file. Contoh berikut adalah profil Pusat IAM Identitas:

[profile my-sso-profile] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-west-2 sso_account_id = 111122223333 sso_role_name = SSOReadOnlyRole region = us-west-2 output = json

Untuk menjalankan perintah, Anda harus terlebih dahulu Masuk ke sesi Pusat IAM Identitas meminta dan mengambil kredensi sementara Anda.

Untuk informasi lebih lanjut tentang credentials file config dan, lihatKonfigurasi dan pengaturan file kredensi.

Masuk ke sesi Pusat IAM Identitas

catatan

Proses masuk dapat meminta Anda untuk mengizinkan AWS CLI akses ke data Anda. Karena AWS CLI dibangun di atas SDK untuk Python, pesan izin mungkin berisi variasi namabotocore.

Untuk mengambil dan menyimpan satu set kredensi Pusat IAM Identitas, jalankan perintah berikut AWS CLI untuk membuka browser default Anda dan memverifikasi log masuk Pusat IAM Identitas Anda.

$ aws sso login --profile my-dev-profile SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. Successfully logged into Start URL: https://my-sso-portal.awsapps.com/start

Kredensi sesi Pusat IAM Identitas Anda di-cache dan AWS CLI menggunakannya untuk mengambil AWS kredenal dengan aman untuk peran yang ditentukan dalam profil. IAM

Jika tidak AWS CLI dapat membuka browser Anda, itu meminta Anda untuk membukanya sendiri dan memasukkan kode yang ditentukan.

$ aws sso login --profile my-dev-profile Using a browser, open the following URL: https://device.sso.us-west-2.amazonaws.com/ and enter the following code: QCFK-N451

Anda juga dapat menentukan sso-session profil mana yang akan digunakan saat masuk menggunakan --sso-session parameter aws sso login perintah. sso-sessionOpsi ini tidak tersedia untuk Pusat IAM Identitas lama.

$ aws sso login --sso-session my-dev-session

Token otentikasi di-cache ke disk di bawah ~/.aws/sso/cache direktori dengan nama file berdasarkan file. sso_start_url

Jalankan perintah dengan profil Pusat IAM Identitas Anda

Setelah masuk, Anda dapat menggunakan kredensional Anda untuk memanggil AWS CLI perintah dengan profil bernama terkait. Contoh berikut menunjukkan perintah menggunakan profil:

$ aws sts get-caller-identity --profile my-dev-profile

Selama Anda masuk ke Pusat IAM Identitas dan kredenal yang di-cache tersebut tidak kedaluwarsa, kredenal yang kedaluwarsa akan diperbarui secara AWS CLI otomatis bila diperlukan. AWS Namun, jika kredensi Pusat IAM Identitas Anda kedaluwarsa, Anda harus memperbaruinya secara eksplisit dengan masuk ke akun Pusat Identitas Anda lagi. IAM

Keluar dari sesi Pusat IAM Identitas Anda

Setelah selesai menggunakan profil Pusat IAM Identitas, Anda dapat membiarkan kredensialnya kedaluwarsa atau menjalankan perintah berikut untuk menghapus kredenal cache Anda.

$ aws sso logout Successfully signed out of all SSO profiles.

Pemecahan Masalah

Jika Anda menemukan masalah menggunakan AWS CLI, lihat Memecahkan masalah kesalahan AWS CLI untuk langkah-langkah pemecahan masalah.

Sumber daya terkait

Sumber daya tambahan adalah sebagai berikut.