

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
<a name="cli-configure-sign-in"></a>

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.

**Topics**
+ [Prasyarat](#cli-configure-sign-in-prerequisites)
+ [Masuk ke AWS CLI dengan perintah. `aws login`](#cli-configure-sign-in-login-command)
+ [Jalankan perintah dengan profil Anda](#cli-configure-sign-in-with-profile)
+ [Keluar dari sesi Anda menggunakan perintah aws logout](#cli-configure-sign-in-sign-out)
+ [Pemecahan masalah](#cli-configure-sign-in-troubleshooting)
+ [Sumber daya terkait](#cli-configure-sign-in-resources)

## Prasyarat
<a name="cli-configure-sign-in-prerequisites"></a>
+ Instal AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md). 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](cli-configure-sso.md) sebagai gantinya.
+ Pastikan identitas IAM memiliki izin yang sesuai. Lampirkan kebijakan [SignInLocalDevelopmentAccess](https://docs.aws.amazon.com/signin/latest/userguide/security-iam-awsmanpol.html)terkelola 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`
<a name="cli-configure-sign-in-login-command"></a>

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.

1. Di terminal pilihan Anda, jalankan `aws login` perintah.

   ```
   $ aws login
   ```

   Untuk masuk ke profil bernama atau membuat yang baru, gunakan `--profile` opsi.

   ```
   $ 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 `--remote` opsi untuk memberikan url bagi Anda untuk membuka pada perangkat yang mendukung browser.

     ```
     $ aws login --remote
     ```
**catatan**  
Anda dapat mengontrol akses ke otentikasi same-device (`aws login`) dan cross-device (`aws login --remote`). Gunakan sumber daya berikut ARNs dalam kebijakan IAM yang relevan.  
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/localhost`— Gunakan ARN ini untuk otentikasi perangkat yang sama dengan. `aws login`
`arn:aws:signin:{{region}}:{{account-id}}:oauth2/public-client/remote`— Gunakan ARN ini untuk otentikasi lintas-perangkat dengan. `aws login --remote`

1.  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 `--remote` opsi 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:
     ```

1. 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/Admin}} instead? (y/n):.
     ```

1. Pesan terakhir menjelaskan konfigurasi profil yang telah selesai. Anda sekarang dapat menggunakan profil ini untuk meminta kredensional. Gunakan `aws login` perintah untuk meminta dan mengambil kredenal yang diperlukan untuk menjalankan perintah.

   Token otentikasi di-cache ke disk di bawah `.aws/login/cache` direktori dengan nama file berdasarkan profil yang diselesaikan.

### File konfigurasi yang dihasilkan
<a name="cli-configure-sign-in-generated-config"></a>

Langkah-langkah ini menghasilkan pembuatan `default` profil dalam `config` file yang terlihat seperti berikut:

```
[default]
login_session = arn:aws:iam::{{0123456789012}}:{{user/username}}
region = us-east-1
```

## Jalankan perintah dengan profil Anda
<a name="cli-configure-sign-in-with-profile"></a>

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 --profile {{my}}-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
<a name="cli-configure-sign-in-sign-out"></a>

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 akan membuat Anda keluar dari profil default Anda.

```
$ aws logout
```

Untuk keluar dari sesi tertentu, gunakan `--profile` opsi.

```
$ aws logout --profile {{my}}-dev-profile
```

Untuk keluar dari semua profil yang menggunakan kredensi login, gunakan opsi. `--all`

```
$ aws logout --all
```

### Kredensial yang di-cache
<a name="cli-configure-sign-in-sharing-login-creds"></a>

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
<a name="cli-configure-sign-in-cached-credentials"></a>

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/username}}
region = us-east-1

[profile process] 
credential_process = aws configure export-credentials --profile signin --format process
region = us-east-1
```

## Pemecahan masalah
<a name="cli-configure-sign-in-troubleshooting"></a>

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](cli-chap-troubleshooting.md)

### ExpiredToken atau AccessDeniedException kesalahan setelah menggunakan “aws login”
<a name="expired-token-login-troubleshooting"></a>

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”
<a name="firewall-blocking-login-troubleshooting"></a>

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
<a name="cli-configure-sign-in-resources"></a>

Sumber daya tambahan adalah sebagai berikut.
+ [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md)
+ [`aws login`dalam AWS Referensi CLI versi 2](https://docs.aws.amazon.com/cli/latest/reference/)
+ [`aws logout`dalam AWS Referensi CLI versi 2](https://docs.aws.amazon.com/cli/latest/reference/)