Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Login untuk pengembangan AWS lokal menggunakan kredensi konsol
Anda dapat menggunakan kredenal masuk Konsol AWS Manajemen yang sudah ada untuk akses terprogram ke layanan. AWS Setelah alur otentikasi berbasis browser, buat AWS kredenal sementara yang berfungsi di seluruh alat pengembangan lokal seperti CLI AWS , Alat untuk dan. AWS PowerShell AWS SDKs Fitur ini menyederhanakan proses konfigurasi dan pengelolaan kredensional AWS CLI, terutama jika Anda lebih memilih otentikasi interaktif daripada mengelola kunci akses jangka panjang.
Dengan proses ini, Anda dapat mengautentikasi menggunakan kredensi root yang dibuat selama pengaturan akun awal, pengguna IAM, atau identitas federasi dari penyedia identitas Anda, dan AWS CLI secara otomatis mengelola kredensi sementara untuk Anda. Pendekatan ini meningkatkan keamanan dengan menghilangkan kebutuhan untuk menyimpan kredensi jangka panjang secara lokal.
Ketika Anda menjalankan aws login perintah, Anda dapat memilih dari sesi konsol aktif Anda, atau masuk melalui alur otentikasi berbasis browser dan ini akan secara otomatis menghasilkan kredensi sementara. CLI akan secara otomatis menyegarkan kredenal ini hingga 12 jam.
Setelah dikonfigurasi, sesi Anda dapat digunakan di AWS CLI dan lainnya AWS SDKs dan Alat.
Topik
Prasyarat
-
Instal AWS CLI. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui ke versi terbaru dari AWS CLI. Versi minimum 2.32.0 diperlukan untuk menggunakan perintah.
aws login -
Akses untuk masuk ke AWS Management Console sebagai pengguna root, pengguna IAM, atau melalui federasi dengan IAM. Jika Anda menggunakan IAM Identity Center, pergi ke Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI sebagai gantinya.
-
Pastikan identitas IAM memiliki izin yang sesuai. Lampirkan kebijakan SignInLocalDevelopmentAccessterkelola ke pengguna, peran, atau grup IAM Anda. Jika Anda masuk sebagai pengguna root, tidak diperlukan izin tambahan.
Masuk ke AWS CLI dengan perintah. aws login
Jalankan aws login perintah untuk mengautentikasi menggunakan kredenal AWS Management Console yang ada. Jika sebelumnya Anda belum mengonfigurasi profil, Anda akan diminta untuk informasi tambahan. Untuk masuk atau mengonfigurasi profil, ikuti langkah-langkah di bawah ini.
-
Di terminal pilihan Anda, jalankan
aws loginperintah.$ aws loginUntuk masuk ke profil bernama atau membuat yang baru, gunakan
--profileopsi.$ aws login --profile my-dev-profile-
Jika ini adalah profil baru atau tidak ada AWS Wilayah yang ditentukan, AWS CLI meminta Anda untuk menyediakan wilayah.
No AWS region has been configured. The AWS region is the geographic location of your AWS resources. If you've used AWS before and already have resources in your account, tell us which region they were created in. If you haven't created resources in your account before, you can pick the region closest to you: https://docs.aws.amazon.com/global-infrastructure/latest/regions/aws-regions.html. You are able to change the region in the CLI at any time with the command `aws configure set region NEW_REGION`. AWS Region [us-east-1]: -
Jika perangkat yang menggunakan AWS CLI tidak memiliki browser, Anda dapat menggunakan
--remoteopsi untuk memberikan url bagi Anda untuk membuka pada perangkat yang mendukung browser.$ aws login --remote
-
-
AWS CLI mencoba membuka browser default Anda untuk proses masuk akun Anda AWS .
Attempting to open the login page for `us-east-1` in your default browser. If the browser does not open, use the following URL to complete your login: https://signin.us-east-1.amazonaws.com/authorize?<abbreviated> If you cannot connect to this URL, make sure that you have specified a valid region.-
Jika Anda menggunakan
--remoteopsi ini, instruksi untuk memulai proses masuk secara manual ditampilkan berdasarkan jenis otorisasi yang Anda gunakan. URL yang ditampilkan adalah URL unik yang dimulai dengan: https://us-east-1.signin.amazonaws.com /authorize. Setelah Anda menyelesaikan login browser, Anda harus menyalin dan menempelkan kode otorisasi yang dihasilkan kembali di CLI.Browser will not be automatically opened. Please visit the following URL: https://region.signin.amazonaws.com/authorize?<abbreviated> Please enter the authorization code displayed in the browser:
-
-
Di browser, pilih kredensi Anda untuk digunakan dari daftar yang ditampilkan dan kemudian kembali ke terminal Anda.
-
Jika profil yang Anda konfigurasikan memiliki sesi login yang dikonfigurasi sebelumnya yang tidak cocok dengan sesi baru Anda, AWS CLI meminta Anda untuk mengonfirmasi bahwa Anda mengganti sesi yang sesuai dengan profil yang ada.
Profile signin is already configured to use session arn:aws:iam::0123456789012:user/ReadOnly. Do you want to overwrite it to use arn:aws:iam::0123456789012:user/Admininstead? (y/n):.
-
-
Pesan terakhir menjelaskan konfigurasi profil yang telah selesai. Anda sekarang dapat menggunakan profil ini untuk meminta kredensional. Gunakan
aws loginperintah untuk meminta dan mengambil kredenal yang diperlukan untuk menjalankan perintah.Token otentikasi di-cache ke disk di bawah
.aws/login/cachedirektori dengan nama file berdasarkan profil yang diselesaikan.
File konfigurasi yang dihasilkan
Langkah-langkah ini menghasilkan pembuatan default profil dalam config file yang terlihat seperti berikut:
[default] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1
Jalankan perintah dengan profil Anda
Setelah masuk, Anda dapat menggunakan kredensional Anda untuk memanggil perintah AWS CLI dengan profil terkait. Contoh berikut memanggil get-caller-identity perintah menggunakan default profil:
$ aws sts get-caller-identity
Untuk masuk ke sesi tertentu, gunakan --profile opsi.
$ aws sts get-caller-identity --profilemy-dev-profile
AWS CLI dan secara otomatis SDKs akan menyegarkan kredenal yang di-cache setiap 15 menit sesuai kebutuhan. Sesi keseluruhan akan berlaku hingga durasi sesi yang ditetapkan dari prinsipal IAM (maksimal 12 jam), setelah itu Anda harus menjalankan aws login lagi.
Keluar dari sesi Anda menggunakan perintah aws logout
Setelah selesai menggunakan sesi, Anda dapat membiarkan kredensialnya kedaluwarsa, atau menjalankan aws logout perintah untuk menghapus kredenal cache Anda. Jika tidak ada profil yang ditentukan pada baris perintah atau di variabel AWS_PROFILE lingkungan, perintah akan membuat Anda keluar dari profil default Anda. Contoh berikut membuat Anda keluar dari profil default Anda.
$ aws logout
Untuk keluar dari sesi tertentu, gunakan --profile opsi.
$ aws logout --profilemy-dev-profile
Untuk keluar dari semua profil yang menggunakan kredensi login, gunakan opsi. --all
$ aws logout --all
Kredensial yang di-cache
Kredensi cache sementara, serta metadata yang diperlukan untuk menyegarkannya disimpan secara default di ~/.aws/login/cache Linux dan macOS, atau di Windows. %USERPROFILE%\.aws\login\cache
Untuk menyimpan cache credentails jangka pendek di lokasi alternatif, atur variabel AWS_LOGIN_CACHE_DIRECTORY lingkungan.
Berbagi kredensi Login sebagai kredensional proses
Versi lama AWS SDKs atau alat pengembangan lainnya mungkin belum mendukung kredensi konsol. Sebagai solusinya, Anda dapat mengonfigurasi AWS CLI untuk berfungsi sebagai penyedia kredensi proses. CLI akan terus menyegarkan kredensional sesuai kebutuhan, sambil membagikannya dengan alat yang dikonfigurasi untuk menggunakan profil credential_process.
Dalam contoh ini, gunakan AWS CLI untuk masuk terlebih dahulu untuk login profil:
$ aws login --profile signin
Kemudian, konfigurasikan profil secara manual dengan opsi credential_process, yang menunjuk kembali ke profil masuk. Sekarang Anda dapat mengonfigurasi SDKs atau alat untuk menggunakan profil proses, yang akan memanggil CLI untuk membagikan kredensi dari profil masuk.
[profile signin] login_session = arn:aws:iam::0123456789012:user/usernameregion = us-east-1 [profile process] credential_process = aws configure export-credentials --profile signin --format process region = us-east-1
Pemecahan masalah
Halaman ini berisi rekomendasi untuk mengatasi masalah dengan masuk ke pengembangan AWS lokal menggunakan kredenal konsol untuk CLI. AWS
catatan
Untuk memecahkan masalah lain yang mungkin Anda temui menggunakan AWS CLI, lihat. Memecahkan masalah kesalahan untuk AWS CLI
ExpiredToken atau AccessDeniedException kesalahan setelah menggunakan “aws login”
Saat menjalankan perintah AWS CLI setelah menjalankan aws login profil tertentu, Anda mungkin mengalami kesalahan kredenal yang kedaluwarsa atau tidak valid.
$ aws s3 ls An error occurred (ExpiredToken) when calling the ListBuckets operation: The provided token has expired.
Kemungkinan penyebabnya: Anda memiliki campuran kredensional yang ada dan kredensi login baru di profil itu
Jalankan aws configure list atau aws configure list --profile <profile name> cetak dari mana CLI menyelesaikan kredensional baik untuk default atau profil yang diberikan.
Jika kolom TYPE adalah sesuatu selain login, ini berarti masih ada jenis kredenal yang berbeda yang ditetapkan dalam profil target.
Dalam contoh ini, kredensional sedang diselesaikan dari file kredensial bersama di direktori home Anda, yang lebih diutamakan daripada kredenal login.
$ aws configure list NAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************MPLE : shared-credentials-file : secret_key : ****************EKEY : shared-credentials-file : region : us-east-1 : config-file : ~/.aws/config
Untuk mengatasinya, hapus secara manual semua kredensi yang ada dari file konfigurasi dan kredensial Anda untuk profil target. Setelah Anda melakukannya, Anda akan melihat kredensi login saat menjalankan aws configure list lagi.
$ aws configure list NAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************MPLE : login : secret_key : ****************EKEY : login : region : us-east-1 : config-file : ~/.aws/config
Atau menggunakan --debug opsi akan menunjukkan dari mana CLI menyelesaikan kredensialnya.
Firewall memblokir akses jaringan saat menjalankan “aws login”
Saat menjalankan aws login Anda mungkin menemukan popup atau pesan dari perangkat lunak firewall Anda yang mencegah AWS CLI mengakses jaringan Anda
Kemungkinan penyebabnya: Firewall atau perangkat lunak keamanan Anda mencegah AWS CLI membuka port yang digunakan untuk menangani panggilan balik. OAuth
Untuk menghindari masalah ini, gunakan --remote opsi sebagai gantinya. Ini akan meminta Anda untuk menyalin dan menempelkan kode otorisasi alih-alih menggunakan OAuth panggilan balik.
$ aws login --remote
Sumber daya terkait
Sumber daya tambahan adalah sebagai berikut.