

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

# Otentikasi dan akses kredensional untuk AWS CLI
<a name="cli-chap-authentication"></a>

Anda harus menetapkan bagaimana AWS CLI otentikasi dengan AWS ketika Anda mengembangkan dengan AWS layanan. Untuk mengonfigurasi kredensi untuk akses terprogram untuk AWS CLI, pilih salah satu opsi berikut. Pilihannya adalah dalam urutan rekomendasi.


****  

| Jenis autentikasi | Tujuan | Petunjuk | 
| --- | --- | --- | 
|  AWS Kredensial Konsol Manajemen  | **(Disarankan)** Gunakan kredenal jangka pendek dengan masuk ke AWS CLI dengan kredenal konsol Anda. Disarankan jika Anda menggunakan root, pengguna IAM, atau federasi dengan IAM untuk akses akun AWS  | [Login untuk pengembangan AWS lokal menggunakan kredensi konsol](cli-configure-sign-in.md) | 
|  Kredensi jangka pendek pengguna IAM Identity Center  | Gunakan kredensi jangka pendek untuk pengguna tenaga kerja IAM Identity Center.Praktik keamanan terbaik adalah AWS Organizations dengan menggunakan IAM Identity Center. Ini menggabungkan kredensi jangka pendek dengan direktori pengguna, seperti direktori Pusat Identitas IAM bawaan atau Direktori Aktif. | [Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI](cli-configure-sso.md) | 
| Kredensi jangka pendek pengguna IAM | Gunakan kredensi jangka pendek pengguna IAM, yang lebih aman daripada kredensi jangka panjang. Jika kredensi Anda dikompromikan, ada waktu terbatas mereka dapat digunakan sebelum kedaluwarsa. | [Mengautentikasi dengan kredensi jangka pendek untuk AWS CLI](cli-authentication-short-term.md) | 
| Pengguna IAM atau IAM Identity Center pada instans Amazon EC2.  | Gunakan metadata instans Amazon EC2 untuk menanyakan kredenal sementara menggunakan peran yang ditetapkan ke instans Amazon EC2. | [Menggunakan metadata instans Amazon EC2 sebagai kredensional di AWS CLI](cli-configure-metadata.md) | 
| Asumsikan peran untuk izin | Pasangkan metode kredensi lain dan ambil peran untuk akses sementara ke pengguna Layanan AWS Anda mungkin tidak dapat mengaksesnya. | [Menggunakan peran IAM dalam AWS CLI](cli-configure-role.md) | 
| Kredensi jangka panjang pengguna IAM | (Tidak disarankan) Gunakan kredenal jangka panjang, yang tidak memiliki kedaluwarsa. | [Mengautentikasi menggunakan kredensi pengguna IAM untuk AWS CLI](cli-authentication-user.md) | 
| Penyimpanan eksternal pengguna tenaga kerja IAM atau IAM Identity Center  | (Tidak disarankan) Pasangkan metode kredensi lain tetapi simpan nilai kredensi di lokasi di luar. AWS CLI Metode ini hanya seaman lokasi eksternal kredensialnya disimpan. | [Sumber kredensyal dengan proses eksternal di AWS CLI](cli-configure-sourcing-external.md) | 

## Konfigurasi dan prioritas kredenal
<a name="cli-chap-authentication-precedence"></a>

Kredensi dan pengaturan konfigurasi terletak di beberapa tempat, seperti variabel sistem atau lingkungan pengguna, file AWS konfigurasi lokal, atau secara eksplisit dideklarasikan pada baris perintah sebagai parameter. Otentikasi tertentu lebih diutamakan daripada yang lain. Pengaturan AWS CLI otentikasi diutamakan dalam urutan sebagai berikut:

1. **[Opsi baris perintah](cli-configure-options.md)** — Mengganti pengaturan di lokasi lain, seperti, `--region``--output`, dan `--profile` parameter.

1. **[Variabel lingkungan](cli-configure-envvars.md)** — Anda dapat menyimpan nilai dalam variabel lingkungan sistem Anda.

1. **[Asumsikan peran](cli-configure-role.md)** - Asumsikan izin peran IAM melalui konfigurasi atau perintah. 

1. **[Asumsikan peran dengan identitas web](cli-configure-role.md)** - Asumsikan izin peran IAM menggunakan identitas web melalui konfigurasi atau perintah. 

1. **[AWS IAM Identity Center](cli-configure-files.md)**— Pengaturan konfigurasi Pusat Identitas IAM yang disimpan dalam `config` file diperbarui saat Anda menjalankan `aws configure sso` perintah. Kredensial kemudian diautentikasi ketika Anda menjalankan perintah. `aws sso login` `config`File ini terletak `~/.aws/config` di Linux atau macOS, atau `C:\Users\USERNAME\.aws\config` di Windows. 

1. **[File kredensial](cli-configure-files.md)** — `config` File `credentials` dan diperbarui saat Anda menjalankan perintah. `aws configure` `credentials`File ini terletak `~/.aws/credentials` di Linux atau macOS, atau `C:\Users\USERNAME\.aws\credentials` di Windows.

1. **[Proses kustom](cli-configure-sourcing-external.md)** - Dapatkan kredensional Anda dari sumber eksternal.

1. **[File konfigurasi](cli-configure-files.md)** — `config` File `credentials` dan diperbarui saat Anda menjalankan perintah`aws configure`. `config`File ini terletak `~/.aws/config` di Linux atau macOS, atau `C:\Users\USERNAME\.aws\config` di Windows.

1. **[Kredensi kontainer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)** - Anda dapat mengaitkan peran IAM dengan masing-masing definisi tugas Amazon Elastic Container Service (Amazon ECS). Kredensi sementara untuk peran itu kemudian tersedia untuk wadah tugas itu. Untuk informasi lebih lanjut, lihat [Peran IAM untuk Tugas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) dalam *Panduan Developer Amazon Elastic Container Service*.

1. **[Kredensial profil instans Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)** — Anda dapat mengaitkan peran IAM dengan setiap instans Amazon Elastic Compute Cloud (Amazon EC2). Kredensi sementara untuk peran itu kemudian tersedia untuk kode yang berjalan dalam instance. Kredensialnya dikirimkan melalui layanan metadata Amazon EC2. *Untuk informasi selengkapnya, lihat [Peran IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) EC2 di Panduan Pengguna *Amazon EC2 [dan Menggunakan Profil Instance](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) di Panduan Pengguna* IAM.*

## Topik tambahan di bagian ini
<a name="cli-chap-authentication-topics"></a>
+ [Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI](cli-configure-sso.md)
+ [Mengautentikasi dengan kredensi jangka pendek untuk AWS CLI](cli-authentication-short-term.md)
+ [Menggunakan peran IAM dalam AWS CLI](cli-configure-role.md)
+ [Mengautentikasi menggunakan kredensi pengguna IAM untuk AWS CLI](cli-authentication-user.md)
+ [Menggunakan metadata instans Amazon EC2 sebagai kredensional di AWS CLI](cli-configure-metadata.md)
+ [Sumber kredensyal dengan proses eksternal di AWS CLI](cli-configure-sourcing-external.md)

# 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\$1process.

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\$1process, 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/)

# Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI
<a name="cli-configure-sso"></a>

Topik ini memberikan petunjuk tentang cara mengkonfigurasi AWS CLI with AWS IAM Identity Center (IAM Identity Center) untuk mengambil kredensional 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 token SSO.
+ 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 ](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) *Panduan Pengguna Amazon*.

**catatan**  
Untuk proses terpandu menggunakan IAM Identity Center dengan AWS CLI perintah, lihat[Tutorial: Menggunakan IAM Identity Center untuk menjalankan perintah Amazon S3 di AWS CLI](cli-configure-sso-tutorial.md).

**Topik**
+ [Prasyarat](#cli-configure-sso-prereqs)
+ [Konfigurasikan profil Anda dengan `aws configure sso` wizard](#cli-configure-sso-configure)
+ [Konfigurasikan hanya `sso-session` bagian Anda dengan `aws configure sso-session` wizard](#cli-configure-sso-session)
+ [Konfigurasi manual menggunakan `config` file](#cli-configure-sso-manual)
+ [Masuk ke sesi Pusat Identitas IAM](#cli-configure-sso-login)
+ [Jalankan perintah dengan profil Pusat Identitas IAM Anda](#cli-configure-sso-use)
+ [Keluar dari sesi IAM Identity Center](#cli-configure-sso-logout)
+ [Pemecahan masalah](#cli-configure-sso-tshoot)
+ [Sumber daya terkait](#cli-configure-sso-resources)

## Prasyarat
<a name="cli-configure-sso-prereqs"></a>
+ Instal AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md).
+ Anda harus terlebih dahulu memiliki akses ke otentikasi SSO dalam IAM Identity Center. Pilih salah satu metode berikut untuk mengakses AWS kredensional Anda.

### Saya tidak memiliki akses melalui IAM Identity Center
<a name="idc-access"></a>

Ikuti petunjuk di [Memulai](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) di *Panduan AWS IAM Identity Center Pengguna*. Proses ini mengaktifkan IAM Identity Center, membuat pengguna administratif, dan menambahkan set izin hak istimewa yang 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` atau`PowerUserAccess`. Pilih `PowerUserAccess` saat bekerja dengan SDK.

### Saya sudah memiliki akses AWS melalui penyedia identitas federasi yang dikelola oleh majikan saya (seperti Azure AD atau Okta)
<a name="federated-access"></a>

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. 

### Saya sudah memiliki akses AWS melalui portal AWS akses yang dikelola oleh majikan saya
<a name="accessportal-access"></a>

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. 

### Saya sudah memiliki akses AWS melalui penyedia identitas kustom federasi yang dikelola oleh majikan saya
<a name="customfederated-access"></a>

Hubungi tim TI Anda untuk bantuan.

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

1. Kumpulkan `SSO Region` nilai-nilai Anda `SSO Start URL` dan yang Anda butuhkan untuk menjalankan `aws configure sso`

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

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

   1. Pilih metode **kredensial Pusat Identitas IAM** untuk mendapatkan nilai dan`SSO Start URL`. `SSO Region`

1. Atau, dimulai dengan versi 2.22.0, Anda dapat menggunakan URL Penerbit alih-alih URL Mulai. URL Penerbit terletak di AWS IAM Identity Center konsol di salah satu lokasi berikut:
   + Pada halaman **Dasbor**, URL Penerbit ada di ringkasan pengaturan.
   + Pada halaman **Pengaturan**, URL Penerbit ada di pengaturan **sumber Identitas**. 

1. Untuk informasi tentang nilai cakupan mana yang akan didaftarkan, lihat [OAuth 2.0 Cakupan akses di Panduan](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) Pengguna *Pusat Identitas IAM*.

## Konfigurasikan profil Anda dengan `aws configure sso` wizard
<a name="cli-configure-sso-configure"></a>

**Untuk mengonfigurasi profil Pusat Identitas IAM untuk AWS CLI:**

1. Di terminal pilihan Anda, jalankan `aws configure sso` perintah.

------
#### [ (Recommended) IAM Identity Center ]

   Buat nama sesi, berikan URL awal Pusat Identitas IAM Anda atau URL penerbit, Wilayah AWS yang menghosting direktori Pusat Identitas IAM, 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
   ```

   Untuk dukungan dual-stack, gunakan URL awal SSO dual-stack:

   ```
   $ aws configure sso
   SSO session name (Recommended): my-sso
   SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
   SSO region [None]: us-east-1
   SSO registration scopes [None]: sso:account:access
   ```

   Otorisasi Kunci Bukti untuk Pertukaran Kode (PKCE) digunakan secara default untuk AWS CLI memulai dengan versi **2.22.0** dan harus digunakan pada perangkat dengan browser. Untuk terus menggunakan otorisasi Perangkat, tambahkan opsi. `--use-device-code`

   ```
   $ aws configure sso --use-device-code
   ```

------
#### [ Legacy IAM Identity Center ]

   Lewati nama sesi dan berikan URL awal Pusat Identitas IAM Anda 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
   ```

   Untuk dukungan dual-stack:

   ```
   $ aws configure sso
   SSO session name (Recommended):
   SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
   SSO region [None]:us-east-1
   ```

------

1.  AWS CLI Upaya untuk membuka browser default Anda untuk proses masuk akun Pusat Identitas IAM 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 nama. `botocore`
   + **Jika AWS CLI tidak dapat membuka browser**, instruksi untuk memulai proses masuk secara manual ditampilkan berdasarkan jenis otorisasi yang Anda gunakan. 

------
#### [ PKCE authorization ]

     Otorisasi Kunci Bukti untuk Pertukaran Kode (PKCE) digunakan secara default untuk AWS CLI memulai dengan versi 2.22.0. URL yang ditampilkan adalah URL unik yang dimulai dengan:
     + IPv4: *https://oidc.us-east-1.amazonaws.com/authorize*
     + Tumpukan ganda: *https://oidc.us-east-1.api.aws/authorize*

     Otorisasi PKCE URLs harus dibuka pada perangkat yang sama dengan tempat Anda masuk dan harus digunakan untuk perangkat dengan browser.

     ```
     Attempting to automatically open the SSO authorization page in your 
     default browser.
     If the browser does not open or you wish to use a different device to 
     authorize the request, open the following URL:
     
     https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>
     ```

------
#### [ Device authorization ]

     Otorisasi perangkat OAuth 2.0 digunakan oleh AWS CLI untuk versi yang lebih lama dari 2.22.0. Anda dapat mengaktifkan metode ini pada versi yang lebih baru dengan menggunakan `--use-device-code` opsi.

     Otorisasi perangkat URLs tidak perlu dibuka pada perangkat yang sama dengan tempat Anda masuk dan dapat digunakan untuk perangkat dengan atau tanpa browser. Format titik akhir tergantung pada konfigurasi Anda:
     + IPv4: *https://device.sso.us-west-2.amazonaws.com/*
     + Tumpukan ganda: *https://device.sso.us-west-2.api.aws/*

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

------

1. 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)
   ```

1. Pilih peran IAM 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
   ```

1. Tentukan [format output default](cli-configure-files.md#cli-config-output), [default Wilayah AWS](cli-configure-files.md#cli-config-region) untuk mengirim perintah ke, dan [nama untuk profil](cli-configure-files.md). 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.

   ```
   Default client Region [None]: us-west-2<ENTER>
   CLI default output format (json if not specified) [None]: json<ENTER>
   Profile name [123456789011_ReadOnly]: my-dev-profile<ENTER>
   ```

1. 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 Identitas IAM](#cli-configure-sso-login).

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

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

Untuk dukungan dual-stack:

```
[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws
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
```

Untuk dukungan dual-stack:

```
[profile my-dev-profile]
sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
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
<a name="cli-configure-sso-session"></a>

**catatan**  
Konfigurasi ini tidak kompatibel dengan Pusat Identitas IAM lama.

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

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

Untuk dukungan dual-stack, gunakan URL awal SSO dual-stack:

```
$ aws configure sso-session
SSO session name: my-sso
SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access
```

## Konfigurasi manual menggunakan `config` file
<a name="cli-configure-sso-manual"></a>

Informasi konfigurasi IAM Identity Center disimpan dalam `config` file dan dapat diedit menggunakan editor teks. Untuk menambahkan dukungan IAM Identity Center secara manual ke profil bernama, Anda harus menambahkan kunci dan nilai ke `config` file. 

### File konfigurasi Pusat Identitas IAM
<a name="cli-configure-sso-manual-config"></a>

`sso-session`Bagian `config` file digunakan untuk mengelompokkan variabel konfigurasi untuk memperoleh token akses SSO, yang kemudian dapat digunakan untuk memperoleh AWS kredensional. Pengaturan berikut digunakan:
+ **(Diperlukan)** `sso\$1start\$1url`
+ **(Diperlukan)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

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

Contoh berikut mengonfigurasi SDK untuk meminta kredensional SSO 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
```

Untuk dukungan dual-stack, gunakan format URL start SSO dual-stack:

```
[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws
```

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

Untuk dukungan dual-stack, gunakan format URL start SSO dual-stack:

```
[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://ssoins-1234567890abcdef.portal.us-east-1.app.aws
```

Namun, `sso_account_id` dan `sso_role_name` tidak diperlukan untuk semua skenario konfigurasi token SSO. Jika aplikasi Anda hanya menggunakan AWS layanan yang mendukung otentikasi pembawa, maka AWS kredensi tradisional tidak diperlukan. Otentikasi pembawa adalah skema otentikasi HTTP 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 klien OIDC 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
```

Untuk dukungan dual-stack:

```
[sso-session my-sso]
sso_region = us-east-1
sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
sso_registration_scopes = sso:account:access
```

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

### File konfigurasi Pusat Identitas IAM Legacy
<a name="cli-configure-sso-manual-legacy"></a>

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

Untuk menambahkan dukungan Pusat Identitas IAM secara manual ke profil bernama, Anda harus menambahkan kunci dan nilai berikut ke definisi profil dalam `config` file.
+ `sso\$1start\$1url`
+ `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`

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

```
[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 dukungan dual-stack:

```
[profile my-sso-profile]
sso_start_url = https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
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 Identitas IAM](#cli-configure-sso-login) meminta dan mengambil kredensi sementara Anda.

Untuk informasi lebih lanjut tentang `credentials` file `config` dan, lihat[Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md).

## Masuk ke sesi Pusat Identitas IAM
<a name="cli-configure-sso-login"></a>

**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 nama. `botocore`

Untuk mengambil dan menyimpan satu set kredensional IAM Identity Center, jalankan perintah berikut AWS CLI untuk membuka browser default Anda dan memverifikasi log masuk Pusat Identitas IAM 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 Identitas IAM Anda di-cache dan AWS CLI menggunakannya untuk mengambil AWS kredenal dengan aman untuk peran IAM yang ditentukan dalam profil. 

### Jika tidak AWS CLI dapat membuka browser Anda
<a name="cli-configure-sso-login-browser"></a>

Jika AWS CLI tidak dapat membuka browser Anda secara otomatis, instruksi untuk memulai proses masuk secara manual ditampilkan berdasarkan jenis otorisasi yang Anda gunakan. 

------
#### [ PKCE authorization ]

Otorisasi Kunci Bukti untuk Pertukaran Kode (PKCE) digunakan secara default untuk AWS CLI memulai dengan versi 2.22.0. URL yang ditampilkan adalah URL unik yang dimulai dengan:
+ IPv4: *https://oidc.us-east-1.amazonaws.com/authorize*
+ Tumpukan ganda: *https://oidc.us-east-1.api.aws/authorize*

Otorisasi PKCE URLs harus dibuka pada perangkat yang sama dengan tempat Anda masuk dan harus digunakan untuk perangkat dengan browser.

```
Attempting to automatically open the SSO authorization page in your 
default browser.
If the browser does not open or you wish to use a different device to 
authorize the request, open the following URL:

https://oidc.us-east-1.amazonaws.com/authorize?<abbreviated>
```

------
#### [ Device authorization ]

Otorisasi perangkat OAuth 2.0 digunakan oleh AWS CLI untuk versi yang lebih lama dari 2.22.0. Anda dapat mengaktifkan metode ini pada versi yang lebih baru dengan menggunakan `--use-device-code` opsi.

Otorisasi perangkat URLs tidak perlu dibuka pada perangkat yang sama dengan tempat Anda masuk dan dapat digunakan untuk perangkat dengan atau tanpa browser.

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

------

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

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

Dimulai dengan versi 2.22.0, otorisasi PKCE adalah default. Untuk menggunakan otorisasi perangkat untuk masuk, tambahkan `--use-device-code` opsi.

```
$ aws sso login --profile my-dev-profile --use-device-code
```

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 Identitas IAM Anda
<a name="cli-configure-sso-use"></a>

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

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

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

## Keluar dari sesi IAM Identity Center
<a name="cli-configure-sso-logout"></a>

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

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

## Pemecahan masalah
<a name="cli-configure-sso-tshoot"></a>

Jika Anda menemukan masalah menggunakan AWS CLI, lihat [Memecahkan masalah kesalahan untuk AWS CLI](cli-chap-troubleshooting.md) untuk langkah-langkah pemecahan masalah.

## Sumber daya terkait
<a name="cli-configure-sso-resources"></a>

Sumber daya tambahan adalah sebagai berikut.
+ [AWS IAM Identity Center konsep untuk AWS CLI](cli-configure-sso-concepts.md)
+ [Tutorial: Menggunakan IAM Identity Center untuk menjalankan perintah Amazon S3 di AWS CLI](cli-configure-sso-tutorial.md)
+ [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md)
+ [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html)dalam *AWS CLI versi 2 Referensi*
+ [Menyiapkan untuk menggunakan AWS CLI dengan CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) di *Panduan CodeCatalyst Pengguna Amazon*
+ [OAuth 2.0 Cakupan akses](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) di Panduan Pengguna *Pusat Identitas IAM*
+ [Memulai tutorial](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) di *Panduan Pengguna Pusat Identitas IAM*

# AWS IAM Identity Center konsep untuk AWS CLI
<a name="cli-configure-sso-concepts"></a>

Topik ini menjelaskan konsep kunci AWS IAM Identity Center (IAM Identity Center). IAM Identity Center adalah layanan IAM berbasis cloud yang menyederhanakan manajemen akses pengguna di beberapa aplikasi Akun AWS SDKs, dan alat dengan mengintegrasikan dengan penyedia identitas yang ada (iDP). Ini memungkinkan sistem masuk tunggal yang aman, manajemen izin, dan audit melalui portal pengguna terpusat, merampingkan identitas dan tata kelola akses untuk organisasi.

**Topics**
+ [Apa itu Pusat Identitas IAM](#cli-configure-sso-concepts-what)
+ [Ketentuan](#cli-configure-sso-terms)
+ [Bagaimana IAM Identity Center bekerja](#cli-configure-sso-concepts-process)
+ [Sumber daya tambahan](#cli-configure-sso-concepts-resources)

## Apa itu Pusat Identitas IAM
<a name="cli-configure-sso-concepts-what"></a>

IAM Identity Center adalah layanan manajemen identitas dan akses berbasis cloud (IAM) yang memungkinkan Anda mengelola akses ke beberapa aplikasi bisnis secara terpusat. Akun AWS 

Ini menyediakan portal pengguna di mana pengguna yang berwenang dapat mengakses Akun AWS dan aplikasi yang telah diberikan izin kepada mereka, menggunakan kredensi perusahaan yang ada. Hal ini memungkinkan organisasi untuk menegakkan kebijakan keamanan yang konsisten dan merampingkan manajemen akses pengguna.

Terlepas dari IDP mana yang Anda gunakan, IAM Identity Center mengabstraksikan perbedaan tersebut. Misalnya, Anda dapat menghubungkan Microsoft Azure AD seperti yang dijelaskan dalam artikel blog [Evolusi Berikutnya di Pusat Identitas IAM](https://aws.amazon.com/blogs/aws/the-next-evolution-in-aws-single-sign-on/).

**catatan**  
Untuk informasi tentang penggunaan autentikasi pembawa, yang tidak menggunakan ID akun dan peran, lihat [Menyiapkan untuk menggunakan AWS CLI dengan CodeCatalyst di CodeCatalyst ](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) *Panduan Pengguna Amazon*.

## Ketentuan
<a name="cli-configure-sso-terms"></a>

Istilah umum saat menggunakan IAM Identity Center adalah sebagai berikut:

**Penyedia Identitas (iDP)**  
Sistem manajemen identitas seperti IAM Identity Center, Microsoft Azure AD, Okta, atau layanan direktori perusahaan Anda sendiri.

**AWS IAM Identity Center**  
IAM Identity Center adalah layanan IDP yang AWS dimiliki. Sebelumnya dikenal sebagai AWS Single Sign-On, SDKs dan alat menjaga ruang nama `sso` API untuk kompatibilitas mundur. Untuk informasi selengkapnya, lihat [ganti nama Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed) di *AWS IAM Identity Center Panduan Pengguna*.

**Portal akses AWS URL, URL awal SSO, URL Mulai**  
URL Pusat Identitas IAM unik organisasi Anda untuk mengakses resmi Akun AWS, layanan, dan sumber daya Anda.

**URL Penerbit**  
URL penerbit IAM Identity Center unik organisasi Anda untuk akses terprogram untuk otorisasi Akun AWS, layanan, dan sumber daya Anda. Dimulai dengan versi 2.22.0 AWS CLI, URL penerbit dapat digunakan secara bergantian dengan URL awal.

**Federation**  
Proses membangun kepercayaan antara IAM Identity Center dan penyedia identitas untuk mengaktifkan single sign-on (SSO).

**Akun AWS**  
 Akun AWS Yang Anda berikan akses kepada pengguna melalui AWS IAM Identity Center.

**Set izin, kredensial, AWS kredensial, kredensial sigv4**  
Kumpulan izin yang telah ditentukan sebelumnya yang dapat ditetapkan ke pengguna atau grup untuk memberikan akses ke. Layanan AWS

**Lingkup pendaftaran, cakupan akses, cakupan**  
Cakupan 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 terbatas pada cakupan yang diberikan. Untuk informasi tentang cakupan, lihat [Akses cakupan di Panduan Pengguna](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) *Pusat Identitas IAM*.

**Token, token penyegaran, token akses**  
Token adalah kredensi keamanan sementara yang dikeluarkan untuk Anda setelah otentikasi. Token ini berisi informasi tentang identitas Anda dan izin yang telah diberikan kepada Anda.  
Saat Anda mengakses AWS sumber daya atau aplikasi melalui portal Pusat Identitas IAM, token Anda disajikan AWS untuk otentikasi dan otorisasi. Ini memungkinkan AWS untuk memverifikasi identitas Anda dan memastikan Anda memiliki izin yang diperlukan untuk melakukan tindakan yang Anda minta.   
Token otentikasi di-cache ke disk di bawah `~/.aws/sso/cache` direktori dengan nama file JSON berdasarkan nama sesi.

**Sesi**  
Sesi Pusat Identitas IAM mengacu pada periode waktu pengguna diautentikasi dan diberi wewenang untuk mengakses AWS sumber daya atau aplikasi. Saat pengguna masuk ke portal Pusat Identitas IAM, sesi dibuat, dan token pengguna valid untuk durasi tertentu. Untuk informasi selengkapnya tentang pengaturan durasi sesi, lihat [Mengatur durasi sesi](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html) di *Panduan AWS IAM Identity Center Pengguna*.  
Selama sesi, Anda dapat menavigasi antara AWS akun dan aplikasi yang berbeda tanpa harus mengautentikasi ulang, selama sesi mereka tetap aktif. Saat sesi berakhir, masuk lagi untuk memperbarui akses Anda.  
Sesi IAM Identity Center membantu memberikan pengalaman pengguna yang mulus sambil juga menegakkan praktik terbaik keamanan dengan membatasi validitas kredensil akses pengguna.

**Pemberian kode otorisasi dengan PKCE, PKCE, Kunci Bukti untuk Pertukaran Kode**  
Dimulai dengan versi 2.22.0, Proof Key for Code Exchange (PKCE) adalah alur hibah otentikasi OAuth 2.0 untuk perangkat dengan browser. PKCE adalah cara sederhana dan aman untuk mengautentikasi dan mendapatkan persetujuan untuk mengakses AWS sumber daya Anda dari desktop dan perangkat seluler dengan browser web. Ini adalah perilaku otorisasi default. *Untuk informasi lebih lanjut tentang PKCE, lihat [Pemberian Kode Otorisasi dengan PKCE di Panduan Pengguna](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#auth-code-grant-pkce).AWS IAM Identity Center *

**Hibah otorisasi perangkat**  
Alur hibah otentikasi OAuth 2.0 untuk perangkat dengan atau tanpa browser web. Untuk informasi selengkapnya tentang pengaturan durasi sesi, lihat [Pemberian Otorisasi Perangkat](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#device-auth-grant) di *AWS IAM Identity Center Panduan Pengguna*.

## Bagaimana IAM Identity Center bekerja
<a name="cli-configure-sso-concepts-process"></a>

IAM Identity Center terintegrasi dengan penyedia identitas organisasi Anda, seperti IAM Identity Center, Microsoft Azure AD, atau Okta. Pengguna mengautentikasi terhadap penyedia identitas ini, dan Pusat Identitas IAM kemudian memetakan identitas tersebut ke izin dan akses yang sesuai di lingkungan Anda. AWS 

Alur kerja IAM Identity Center berikut mengasumsikan Anda telah mengonfigurasi penggunaan IAM Identity Center: AWS CLI 

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

1. Masuk ke Anda Portal akses AWS untuk memulai sesi baru. 
   + Saat memulai sesi baru, Anda menerima token penyegaran dan token akses yang di-cache.
   + Jika Anda sudah memiliki sesi aktif, sesi yang ada akan digunakan kembali dan kedaluwarsa saat sesi yang ada berakhir.

1. Berdasarkan profil yang telah Anda atur dalam `config` file Anda, IAM Identity Center mengasumsikan set izin yang sesuai, memberikan akses ke yang relevan Akun AWS dan aplikasi. 

1. The AWS CLI, SDKs, dan Tools menggunakan peran IAM yang diasumsikan untuk melakukan panggilan Layanan AWS seperti membuat bucket Amazon S3 hingga sesi tersebut berakhir.

1. Token akses dari IAM Identity Center diperiksa setiap jam dan secara otomatis di-refresh menggunakan token penyegaran.
   + Jika token akses kedaluwarsa, SDK atau alat menggunakan token penyegaran untuk mendapatkan token akses baru. Durasi sesi token ini kemudian dibandingkan, dan jika token penyegaran tidak kedaluwarsa IAM Identity Center menyediakan token akses baru.
   + Jika token penyegaran telah kedaluwarsa, maka tidak ada token akses baru yang disediakan dan sesi Anda telah berakhir.

1. Sesi berakhir setelah token refresh kedaluwarsa, atau saat Anda log out secara manual menggunakan `aws sso logout` perintah. Kredensial cache dihapus. Untuk terus mengakses layanan menggunakan IAM Identity Center, Anda harus memulai sesi baru menggunakan perintah. `aws sso login`

## Sumber daya tambahan
<a name="cli-configure-sso-concepts-resources"></a>

Sumber daya tambahan adalah sebagai berikut.
+ [Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI](cli-configure-sso.md)
+ [Tutorial: Menggunakan IAM Identity Center untuk menjalankan perintah Amazon S3 di AWS CLI](cli-configure-sso-tutorial.md)
+ [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md)
+ [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html)dalam *AWS CLI versi 2 Referensi*
+ [Menyiapkan untuk menggunakan AWS CLI dengan CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) di *Panduan CodeCatalyst Pengguna Amazon*
+ [Ganti nama Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed) *di Panduan Pengguna AWS IAM Identity Center *
+ [OAuth 2.0 Cakupan akses](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) di Panduan Pengguna *Pusat Identitas IAM*
+ [Mengatur durasi sesi](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html) di *Panduan AWS IAM Identity Center Pengguna*
+ [Memulai tutorial](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) di *Panduan Pengguna Pusat Identitas IAM*

# Tutorial: Menggunakan IAM Identity Center untuk menjalankan perintah Amazon S3 di AWS CLI
<a name="cli-configure-sso-tutorial"></a>

Topik ini menjelaskan cara mengonfigurasi untuk mengautentikasi pengguna dengan saat ini AWS IAM Identity Center (Pusat Identitas IAM) untuk mengambil kredensil untuk menjalankan AWS Command Line Interface (AWS CLI) perintah untuk (Amazon Amazon Simple Storage Service S3). AWS CLI 

**Topics**
+ [Langkah 1: Otentikasi di Pusat Identitas IAM](#cli-configure-sso-tutorial-authentication)
+ [Langkah 2: Kumpulkan informasi Pusat Identitas IAM Anda](#cli-configure-sso-tutorial-gather)
+ [Langkah 3: Buat ember Amazon S3](#cli-configure-sso-tutorial-buckets)
+ [Langkah 4: Instal AWS CLI](#cli-configure-sso-tutorial-install)
+ [Langkah 5: Konfigurasikan AWS CLI profil Anda](#cli-configure-sso-tutorial-configure)
+ [Langkah 6: Masuk ke IAM Identity Center](#cli-configure-sso-tutorial-login.title)
+ [Langkah 7: Jalankan perintah Amazon S3](#cli-configure-sso-tutorial-commands)
+ [Langkah 8: Keluar dari IAM Identity Center](#cli-configure-sso-tutorial-logout)
+ [Langkah 9: Bersihkan sumber daya](#cli-configure-sso-tutorial-cleanup)
+ [Pemecahan masalah](#cli-configure-sso-tutorial-tshoot)
+ [Sumber daya tambahan](#cli-configure-sso-tutorial-resources.title)

## Langkah 1: Otentikasi di Pusat Identitas IAM
<a name="cli-configure-sso-tutorial-authentication"></a>

Dapatkan akses ke otentikasi SSO dalam IAM Identity Center. Pilih salah satu metode berikut untuk mengakses AWS kredensil Anda.

### Saya tidak memiliki akses melalui IAM Identity Center
<a name="idc-access"></a>

Ikuti petunjuk di [Memulai](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) di *Panduan AWS IAM Identity Center Pengguna*. Proses ini mengaktifkan IAM Identity Center, membuat pengguna administratif, dan menambahkan set izin hak istimewa yang 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` atau`PowerUserAccess`. Pilih `PowerUserAccess` saat bekerja dengan SDK.

### Saya sudah memiliki akses AWS melalui penyedia identitas federasi yang dikelola oleh majikan saya (seperti Azure AD atau Okta)
<a name="federated-access"></a>

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. 

### Saya sudah memiliki akses AWS melalui portal AWS akses yang dikelola oleh majikan saya
<a name="accessportal-access"></a>

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. 

### Saya sudah memiliki akses AWS melalui penyedia identitas kustom federasi yang dikelola oleh majikan saya
<a name="customfederated-access"></a>

Hubungi tim TI Anda untuk bantuan.

## Langkah 2: Kumpulkan informasi Pusat Identitas IAM Anda
<a name="cli-configure-sso-tutorial-gather"></a>

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

1. Kumpulkan `SSO Region` nilai-nilai Anda `SSO Start URL` dan yang Anda butuhkan untuk menjalankan `aws configure sso`

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

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

   1. Pilih metode **kredensial Pusat Identitas IAM** untuk mendapatkan nilai dan`SSO Start URL`. `SSO Region`

1. Atau, dimulai dengan versi 2.22.0, Anda dapat menggunakan URL Penerbit baru alih-alih URL Mulai. URL Penerbit terletak di AWS IAM Identity Center konsol di salah satu lokasi berikut:
   + Pada halaman **Dasbor**, URL Penerbit ada di ringkasan pengaturan.
   + Pada halaman **Pengaturan**, URL Penerbit ada di pengaturan **sumber Identitas**. 

1. Untuk informasi tentang nilai cakupan mana yang akan didaftarkan, lihat [OAuth 2.0 Cakupan akses di Panduan](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) Pengguna *Pusat Identitas IAM*.

## Langkah 3: Buat ember Amazon S3
<a name="cli-configure-sso-tutorial-buckets"></a>

Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

Untuk tutorial ini, buat beberapa bucket untuk kemudian diambil dalam daftar.

## Langkah 4: Instal AWS CLI
<a name="cli-configure-sso-tutorial-install"></a>

Instal petunjuk AWS CLI berikut untuk sistem operasi Anda. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md).

Setelah diinstal, Anda dapat memverifikasi instalasi dengan membuka terminal pilihan Anda dan menjalankan perintah berikut. Ini akan menampilkan versi yang Anda instal dari file AWS CLI. 

```
$ aws --version
```

## Langkah 5: Konfigurasikan AWS CLI profil Anda
<a name="cli-configure-sso-tutorial-configure"></a>

Konfigurasikan profil Anda menggunakan salah satu metode berikut

### Konfigurasikan profil Anda dengan `aws configure sso` wizard
<a name="li-configure-sso-tutorial-configure-wizard"></a>

`sso-session`Bagian `config` file digunakan untuk mengelompokkan variabel konfigurasi untuk memperoleh token akses SSO, yang kemudian dapat digunakan untuk memperoleh AWS kredensil. Pengaturan berikut digunakan:
+ **(Diperlukan)** `sso\$1start\$1url`
+ **(Diperlukan)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

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

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

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

Untuk dukungan dual-stack, Anda dapat menggunakan format URL awal SSO dual-stack:

```
$ aws configure sso
SSO session name (Recommended): my-sso
SSO start URL [None]: https://ssoins-1234567890abcdef.portal.us-east-1.app.aws
SSO region [None]: us-east-1
SSO registration scopes [None]: sso:account:access
```

Otorisasi Kunci Bukti untuk Pertukaran Kode (PKCE) digunakan secara default untuk AWS CLI memulai dengan versi 2.22.0 dan harus digunakan pada perangkat dengan browser. Untuk terus menggunakan otorisasi Perangkat, tambahkan opsi. `--use-device-code`

```
$ aws configure sso --use-device-code
```

### Konfigurasi manual menggunakan `config` file
<a name="cli-configure-sso-tutorial-configure-manual"></a>

`sso-session`Bagian `config` file digunakan untuk mengelompokkan variabel konfigurasi untuk memperoleh token akses SSO, yang kemudian dapat digunakan untuk memperoleh AWS kredensil. Pengaturan berikut digunakan:
+ **(Diperlukan)** `sso\$1start\$1url`
+ **(Diperlukan)** `sso\$1region`
+ `sso\$1account\$1id`
+ `sso\$1role\$1name`
+ `sso\$1registration\$1scopes`

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

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

```
[profile my-dev-profile]
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
sso_registration_scopes = sso:account:access
```

Untuk dukungan dual-stack, gunakan format URL start SSO dual-stack:

```
[profile my-dev-profile]
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://ssoins-1234567890abcdef.portal.us-east-1.app.aws
sso_registration_scopes = sso:account:access
```

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

## Langkah 6: Masuk ke IAM Identity Center
<a name="cli-configure-sso-tutorial-login.title"></a>

**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 nama. `botocore`

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

```
$ aws sso login --profile my-dev-profile
```

Dimulai dengan versi 2.22.0, otorisasi PKCE adalah default. Untuk menggunakan otorisasi perangkat untuk masuk, tambahkan `--use-device-code` opsi.

```
$ aws sso login --profile my-dev-profile --use-device-code
```

## Langkah 7: Jalankan perintah Amazon S3
<a name="cli-configure-sso-tutorial-commands"></a>

Untuk membuat daftar ember yang Anda buat sebelumnya, gunakan [https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html)perintah. Contoh berikut mencantumkan semua bucket Amazon S3 Anda.

```
$ aws s3 ls
2018-12-11 17:08:50 my-bucket
2018-12-14 14:55:44 my-bucket2
```

## Langkah 8: Keluar dari IAM Identity Center
<a name="cli-configure-sso-tutorial-logout"></a>

Ketika Anda selesai menggunakan profil Pusat Identitas IAM Anda, jalankan perintah berikut untuk menghapus kredenal cache Anda.

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

## Langkah 9: Bersihkan sumber daya
<a name="cli-configure-sso-tutorial-cleanup"></a>

Setelah Anda selesai dengan tutorial ini, bersihkan semua sumber daya yang Anda buat selama tutorial ini yang tidak lagi Anda perlukan, termasuk bucket Amazon S3.

## Pemecahan masalah
<a name="cli-configure-sso-tutorial-tshoot"></a>

Jika Anda menemukan masalah menggunakan AWS CLI, lihat langkah-langkah [Memecahkan masalah kesalahan untuk AWS CLI](cli-chap-troubleshooting.md) pemecahan masalah umum.

## Sumber daya tambahan
<a name="cli-configure-sso-tutorial-resources.title"></a>

Sumber daya tambahan adalah sebagai berikut.
+ [AWS IAM Identity Center konsep untuk AWS CLI](cli-configure-sso-concepts.md)
+ [Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI](cli-configure-sso.md)
+ [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md)
+ [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md)
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html](https://docs.aws.amazon.com/cli/latest/reference/configure/sso-session.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/login.html](https://docs.aws.amazon.com/cli/latest/reference/sso/login.html)dalam *AWS CLI versi 2 Referensi*
+ [https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html](https://docs.aws.amazon.com/cli/latest/reference/sso/logout.html)dalam *AWS CLI versi 2 Referensi*
+ [Menyiapkan untuk menggunakan AWS CLI dengan CodeCatalyst](https://docs.aws.amazon.com/codecatalyst/latest/userguide/set-up-cli.html) di *Panduan CodeCatalyst Pengguna Amazon*
+ [OAuth 2.0 Cakupan akses](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-oauth2.html#oidc-concept) di Panduan Pengguna *Pusat Identitas IAM*
+ [Memulai tutorial](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) di *Panduan Pengguna Pusat Identitas IAM*

# Mengautentikasi dengan kredensi jangka pendek untuk AWS CLI
<a name="cli-authentication-short-term"></a>

Sebaiknya konfigurasi SDK atau alat Anda untuk menggunakan [autentikasi IAM Identity Center](https://docs.aws.amazon.com/sdkref/latest/guide/access-sso.html) dengan opsi durasi sesi yang diperpanjang. Namun, Anda dapat menyalin dan menggunakan kredensi sementara yang tersedia di portal AWS akses. Kredensi baru perlu disalin ketika ini kedaluwarsa. Anda dapat menggunakan kredensi sementara di profil atau menggunakannya sebagai nilai untuk properti sistem dan variabel lingkungan.

1. [Masuk ke portal AWS akses](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosignin.html).

1. Ikuti [petunjuk ini](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) untuk menyalin kredensi peran IAM dari portal akses. AWS 

   1. Untuk langkah 2 dalam petunjuk yang ditautkan, pilih AWS akun dan nama peran IAM yang memberikan akses untuk kebutuhan pengembangan Anda. Peran ini biasanya memiliki nama seperti **PowerUserAccess**atau **Pengembang**. 

   1. Untuk langkah 4, pilih opsi **Tambahkan profil ke file AWS kredensial Anda** dan salin isinya. 

1. Buat atau buka `credentials` file bersama. File ini ada `~/.aws/credentials` di sistem Linux dan macOS, dan `%USERPROFILE%\.aws\credentials` di Windows. Untuk informasi selengkapnya, lihat [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md). 

1. Tambahkan teks berikut ke `credentials` file bersama. Ganti nilai sampel dengan kredenal yang Anda salin. 

   ```
   [default] 
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE 
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
   ```

1. Tambahkan wilayah dan format default pilihan Anda ke `config` file bersama. 

   ```
   [default]
   region=us-west-2
   output=json
   
   [profile user1]
   region=us-east-1
   output=text
   ```

Saat SDK membuat klien layanan, SDK akan mengakses kredensi sementara ini dan menggunakannya untuk setiap permintaan. Pengaturan untuk peran IAM yang dipilih pada langkah 2a menentukan [berapa lama kredensi sementara valid](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtosessionduration.html). Durasi maksimum adalah dua belas jam.

Ulangi langkah-langkah ini setiap kali kredensialmu kedaluwarsa.

# Menggunakan peran IAM dalam AWS CLI
<a name="cli-configure-role"></a>

[Peran AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah alat otorisasi yang memungkinkan pengguna mendapatkan izin tambahan (atau berbeda), atau mendapatkan izin untuk melakukan tindakan di akun yang berbeda. AWS 

**Topics**
+ [Prasyarat](#cli-role-prereqs)
+ [Ikhtisar penggunaan peran IAM](#cli-role-overview)
+ [Mengkonfigurasi dan menggunakan peran](#cli-role-prepare)
+ [Menggunakan otentikasi multi-faktor](#cli-configure-role-mfa)
+ [Peran lintas akun dan ID eksternal](#cli-configure-role-xaccount)
+ [Menentukan nama sesi peran untuk audit yang lebih mudah](#cli-configure-role-session-name)
+ [Asumsikan peran dengan identitas web](#cli-configure-role-oidc)
+ [Membersihkan kredenal yang di-cache](#cli-configure-role-cache)

## Prasyarat
<a name="cli-role-prereqs"></a>

Untuk menjalankan `iam` perintah, Anda perlu menginstal dan mengkonfigurasi AWS CLI. Ini termasuk menyiapkan profil yang dikonfigurasi, karena dengan asumsi peran dipasangkan dengan metode kredensi lain. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md). 

## Ikhtisar penggunaan peran IAM
<a name="cli-role-overview"></a>

Anda dapat mengonfigurasi AWS Command Line Interface (AWS CLI) untuk menggunakan peran IAM dengan menentukan profil untuk peran dalam file. `~/.aws/config` 

Contoh berikut menunjukkan profil peran bernama`marketingadmin`. Jika Anda menjalankan perintah dengan `--profile marketingadmin` (atau menentukannya dengan [variabel AWS\$1PROFILE lingkungan](cli-configure-envvars.md)), akan AWS CLI menggunakan kredensional yang ditentukan dalam profil terpisah `user1` untuk mengambil peran dengan Amazon Resource Name (ARN). `arn:aws:iam::123456789012:role/marketingadminrole` Anda dapat menjalankan operasi apa pun yang diizinkan oleh izin yang ditetapkan untuk peran tersebut.

```
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
source_profile = user1
```

Anda kemudian dapat menentukan `source_profile` yang menunjuk ke profil bernama terpisah yang berisi kredenal pengguna dengan izin untuk menggunakan peran tersebut. Pada contoh sebelumnya, `marketingadmin` profil menggunakan kredensional di profil. `user1` Ketika Anda menentukan bahwa AWS CLI perintah adalah untuk menggunakan profil`marketingadmin`, AWS CLI secara otomatis mencari kredensional untuk `user1` profil tertaut dan menggunakannya untuk meminta kredensi sementara untuk peran IAM yang ditentukan. CLI menggunakan AssumeRole operasi [sts:](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) di latar belakang untuk mencapai ini. Kredensi sementara tersebut kemudian digunakan untuk menjalankan perintah yang diminta AWS CLI . Peran yang ditentukan harus telah melampirkan kebijakan izin IAM yang memungkinkan AWS CLI perintah yang diminta untuk dijalankan.

Untuk menjalankan AWS CLI perintah dari dalam instans Amazon Elastic Compute Cloud (Amazon EC2) atau container Amazon Elastic Container Service (Amazon ECS), Anda dapat menggunakan peran IAM yang dilampirkan ke profil instance atau container. Jika Anda menentukan tidak ada profil atau tidak menyetel variabel lingkungan, peran itu digunakan secara langsung. Hal ini memungkinkan Anda untuk menghindari menyimpan kunci akses berumur panjang pada instans Anda. Anda juga dapat menggunakan peran instance atau kontainer tersebut hanya untuk mendapatkan kredensional untuk peran lain. Untuk melakukan ini, Anda menggunakan `credential_source` (bukan`source_profile`) untuk menentukan cara menemukan kredensialnya. `credential_source`Atribut mendukung nilai-nilai berikut:
+ `Environment`— Mengambil kredensi sumber dari variabel lingkungan.
+ `Ec2InstanceMetadata`— Menggunakan peran IAM yang dilampirkan ke profil instans Amazon EC2.
+ `EcsContainer`— Menggunakan peran IAM yang dilampirkan ke wadah Amazon ECS.

Contoh berikut menunjukkan `marketingadminrole` peran yang sama yang digunakan dengan mereferensikan profil instans Amazon EC2.

```
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
credential_source = Ec2InstanceMetadata
```

Ketika Anda memanggil peran, Anda memiliki opsi tambahan yang dapat Anda perlukan, seperti penggunaan otentikasi multi-faktor dan ID Eksternal (digunakan oleh perusahaan pihak ketiga untuk mengakses sumber daya klien mereka). Anda juga dapat menentukan nama sesi peran unik yang dapat lebih mudah diaudit di AWS CloudTrail log.

## Mengkonfigurasi dan menggunakan peran
<a name="cli-role-prepare"></a>

Saat Anda menjalankan perintah menggunakan profil yang menentukan peran IAM, akan AWS CLI menggunakan kredenal profil sumber untuk memanggil AWS Security Token Service (AWS STS) dan meminta kredenal sementara untuk peran yang ditentukan. Pengguna di profil sumber harus memiliki izin `sts:assume-role` untuk memanggil peran dalam profil yang ditentukan. Peran harus memiliki hubungan kepercayaan yang memungkinkan pengguna di profil sumber untuk menggunakan peran tersebut. Proses pengambilan dan kemudian menggunakan kredensi sementara untuk suatu peran sering disebut sebagai *asumsi* peran.

*Anda dapat membuat peran di IAM dengan izin yang ingin diasumsikan pengguna dengan mengikuti prosedur di bawah [Membuat Peran untuk Mendelegasikan Izin ke pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).AWS Identity and Access Management * Jika peran dan pengguna profil sumber berada di akun yang sama, Anda dapat memasukkan ID akun Anda sendiri saat mengonfigurasi hubungan kepercayaan peran.

Setelah membuat peran, ubah hubungan kepercayaan untuk memungkinkan pengguna untuk menganggapnya. 

Contoh berikut menunjukkan kebijakan kepercayaan yang dapat Anda lampirkan ke peran. Kebijakan ini memungkinkan peran diasumsikan oleh setiap pengguna di akun 123456789012, ***jika*** administrator akun tersebut secara eksplisit memberikan izin kepada pengguna. `sts:AssumeRole`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789012:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

Kebijakan kepercayaan sebenarnya tidak memberikan izin. Administrator akun harus mendelegasikan izin untuk mengambil peran tersebut kepada pengguna individu dengan melampirkan kebijakan dengan izin yang sesuai. Contoh berikut menunjukkan kebijakan yang dapat Anda lampirkan ke pengguna yang memungkinkan pengguna untuk mengambil `marketingadminrole` peran saja. Untuk informasi selengkapnya tentang pemberian akses pengguna untuk mengambil peran, lihat [Memberikan Izin Pengguna untuk Beralih Peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_permissions-to-switch.html) di Panduan Pengguna *IAM*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::123456789012:role/marketingadminrole"
    }
  ]
}
```

------

Pengguna tidak perlu memiliki izin tambahan untuk menjalankan AWS CLI perintah menggunakan profil peran. Sebaliknya, izin untuk menjalankan perintah berasal dari yang dilampirkan pada *peran*. Anda melampirkan kebijakan izin ke peran untuk menentukan tindakan mana yang dapat dilakukan terhadap AWS sumber daya yang mana. *Untuk informasi selengkapnya tentang melampirkan izin ke peran (yang bekerja secara identik dengan pengguna), lihat [Mengubah Izin untuk pengguna IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html).*

Sekarang setelah Anda memiliki profil peran, izin peran, hubungan kepercayaan peran, dan izin pengguna yang dikonfigurasi dengan benar, Anda dapat menggunakan peran di baris perintah dengan menjalankan opsi. `--profile` Misalnya, berikut ini memanggil `ls` perintah Amazon S3 menggunakan izin yang dilampirkan pada `marketingadmin` peran seperti yang ditentukan oleh contoh di awal topik ini.

```
$ aws s3 ls --profile marketingadmin
```

Untuk menggunakan peran untuk beberapa panggilan, Anda dapat mengatur variabel `AWS_PROFILE` lingkungan untuk sesi saat ini dari baris perintah. Sementara variabel lingkungan didefinisikan, Anda tidak perlu menentukan `--profile` opsi pada setiap perintah. 

**Linux atau macOS**

```
$ export AWS_PROFILE=marketingadmin
```

**Windows**

```
C:\> setx AWS_PROFILE marketingadmin
```

*Untuk informasi selengkapnya tentang mengonfigurasi pengguna dan peran, lihat [Identitas IAM (pengguna, grup pengguna, dan peran) dan peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) [IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id-roles.html) dalam Panduan Pengguna IAM.*

## Menggunakan otentikasi multi-faktor
<a name="cli-configure-role-mfa"></a>

Untuk keamanan tambahan, Anda dapat meminta pengguna menyediakan kunci satu kali yang dihasilkan dari perangkat multi-faktor otentikasi (MFA), perangkat U2F, atau aplikasi seluler saat mereka mencoba melakukan panggilan menggunakan profil peran.

Pertama, Anda dapat memilih untuk memodifikasi hubungan kepercayaan pada peran IAM untuk meminta MFA. Ini mencegah siapa pun menggunakan peran tanpa terlebih dahulu mengautentikasi dengan menggunakan MFA. Sebagai contoh, lihat `Condition` baris dalam contoh berikut. Kebijakan ini memungkinkan pengguna yang diberi nama `anika` untuk mengambil peran yang dilampirkan kebijakan, tetapi hanya jika mereka mengautentikasi dengan menggunakan MFA. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::123456789012:user/anika" },
      "Action": "sts:AssumeRole",
      "Condition": { "Bool": { "aws:multifactorAuthPresent": true } }
    }
  ]
}
```

------

Selanjutnya, tambahkan baris ke profil peran yang menentukan ARN perangkat MFA pengguna. Entri `config` file contoh berikut menunjukkan dua profil peran yang keduanya menggunakan kunci akses bagi pengguna `anika` untuk meminta kredensi sementara untuk peran tersebut. `cli-role` Pengguna `anika` memiliki izin untuk mengambil peran, yang diberikan oleh kebijakan kepercayaan peran.

```
[profile role-without-mfa]
region = us-west-2
role_arn= arn:aws:iam::128716708097:role/cli-role
source_profile=cli-user

[profile role-with-mfa]
region = us-west-2
role_arn= arn:aws:iam::128716708097:role/cli-role
source_profile = cli-user
mfa_serial = arn:aws:iam::128716708097:mfa/cli-user

[profile cli-user]
region = us-west-2
output = json
```

`mfa_serial`Pengaturan dapat mengambil ARN, seperti yang ditunjukkan, atau nomor seri token MFA perangkat keras.

Profil pertama,`role-without-mfa`, tidak memerlukan MFA. Namun, karena contoh kebijakan kepercayaan sebelumnya yang dilampirkan pada peran memerlukan MFA, setiap upaya untuk menjalankan perintah dengan profil ini gagal.

```
$ aws iam list-users --profile role-without-mfa

An error occurred (AccessDenied) when calling the AssumeRole operation: Access denied
```

Entri profil kedua,`role-with-mfa`, mengidentifikasi perangkat MFA untuk digunakan. Ketika pengguna mencoba menjalankan AWS CLI perintah dengan profil ini, pengguna AWS CLI meminta pengguna untuk memasukkan kata sandi satu kali (OTP) yang disediakan perangkat MFA. Jika otentikasi MFA berhasil, perintah melakukan operasi yang diminta. OTP tidak ditampilkan di layar.

```
$ aws iam list-users --profile role-with-mfa
Enter MFA code for arn:aws:iam::123456789012:mfa/cli-user:
{
    "Users": [
        {
            ...
```

## Peran lintas akun dan ID eksternal
<a name="cli-configure-role-xaccount"></a>

Anda dapat mengaktifkan pengguna untuk menggunakan peran yang dimiliki oleh akun yang berbeda dengan mengonfigurasi peran sebagai peran lintas akun. Selama pembuatan peran, setel tipe peran ke ** AWS Akun lain**, seperti yang dijelaskan dalam [Membuat Peran untuk Mendelegasikan Izin ke pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). Secara opsional, pilih **Memerlukan MFA**. **Memerlukan MFA** mengkonfigurasi kondisi yang sesuai dalam hubungan kepercayaan, seperti yang dijelaskan dalam. [Menggunakan otentikasi multi-faktor](#cli-configure-role-mfa)

Jika Anda menggunakan [ID eksternal](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) untuk memberikan kontrol tambahan atas siapa yang dapat menggunakan peran di seluruh akun, Anda juga harus menambahkan `external_id` parameter ke profil peran. Anda biasanya menggunakan ini hanya ketika akun lain dikendalikan oleh seseorang di luar perusahaan atau organisasi Anda.

```
[profile crossaccountrole]
role_arn = arn:aws:iam::234567890123:role/SomeRole
source_profile = default
mfa_serial = arn:aws:iam::123456789012:mfa/saanvi
external_id = 123456
```

## Menentukan nama sesi peran untuk audit yang lebih mudah
<a name="cli-configure-role-session-name"></a>

Ketika banyak individu berbagi peran, audit menjadi lebih dari sebuah tantangan. Anda ingin mengaitkan setiap operasi yang dipanggil dengan individu yang memanggil tindakan. Namun, ketika individu menggunakan peran, asumsi peran oleh individu adalah tindakan terpisah dari pemanggilan operasi, dan Anda harus mengkorelasikan keduanya secara manual.

Anda dapat menyederhanakan ini dengan menentukan nama sesi peran unik saat pengguna mengambil peran. Anda melakukan ini dengan menambahkan `role_session_name` parameter ke setiap profil bernama dalam `config` file yang menentukan peran. `role_session_name`Nilai diteruskan ke `AssumeRole` operasi dan menjadi bagian dari ARN untuk sesi peran. Ini juga termasuk dalam AWS CloudTrail log untuk semua operasi yang dicatat.

Misalnya, Anda dapat membuat profil berbasis peran sebagai berikut. 

```
[profile namedsessionrole]
role_arn = arn:aws:iam::234567890123:role/SomeRole
source_profile = default
role_session_name = Session_Maria_Garcia
```

Hal ini mengakibatkan sesi peran memiliki ARN berikut.

```
arn:aws:iam::234567890123:assumed-role/SomeRole/Session_Maria_Garcia
```

Selain itu, semua AWS CloudTrail log menyertakan nama sesi peran dalam informasi yang diambil untuk setiap operasi.

## Asumsikan peran dengan identitas web
<a name="cli-configure-role-oidc"></a>

Anda dapat mengonfigurasi profil untuk menunjukkan bahwa AWS CLI harus mengambil peran menggunakan [federasi identitas web dan Open ID Connect (OIDC](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html)). Saat Anda menentukan ini di profil, secara AWS CLI otomatis membuat AWS STS `AssumeRoleWithWebIdentity` panggilan yang sesuai untuk Anda.

**catatan**  
Saat Anda menentukan profil yang menggunakan peran IAM, akan AWS CLI membuat panggilan yang sesuai untuk mengambil kredensi sementara. Kredensi ini disimpan di. `~/.aws/cli/cache` AWS CLI Perintah selanjutnya yang menentukan profil yang sama menggunakan kredenal sementara yang di-cache hingga kedaluwarsa. Pada saat itu, secara AWS CLI otomatis menyegarkan kredensialnya.

Untuk mengambil dan menggunakan kredenal sementara menggunakan federasi identitas web, Anda dapat menentukan nilai konfigurasi berikut di profil bersama.

[role\$1arn](#cli-configure-role)  
Menentukan ARN dari peran yang akan diasumsikan.

web\$1identity\$1token\$1file  
Menentukan path ke file yang berisi token akses OAuth 2.0 atau token OpenID Connect ID yang disediakan oleh penyedia identitas. AWS CLI Memuat file ini dan meneruskan isinya sebagai `WebIdentityToken` argumen `AssumeRoleWithWebIdentity` operasi.

[role\$1session\$1name](#cli-configure-role-session-name)  
Menentukan nama opsional diterapkan untuk sesi assume-role ini.

Berikut ini adalah contoh dari jumlah minimal konfigurasi yang diperlukan untuk mengkonfigurasi peran asumsi dengan profil identitas web.

```
# In ~/.aws/config

[profile web-identity]
role_arn=arn:aws:iam:123456789012:role/RoleNameToAssume
web_identity_token_file=/path/to/a/token
```

Anda juga dapat menyediakan konfigurasi ini dengan menggunakan [variabel lingkungan](cli-configure-envvars.md).

AWS\$1ROLE\$1ARN  
ARN dari peran yang harus diasumsikan.

AWS\$1WEB\$1IDENTITAY\$1TOKEN\$1FILE  
Jalur ke file token identitas web.

AWS\$1ROLE\$1SESSION\$1NAMA  
Nama yang diterapkan pada sesi peran asumsi ini.

**catatan**  
Variabel lingkungan ini saat ini hanya berlaku untuk peran asumsi dengan penyedia identitas web. Mereka tidak berlaku untuk konfigurasi penyedia peran asumsi umum.

## Membersihkan kredenal yang di-cache
<a name="cli-configure-role-cache"></a>

Saat Anda menggunakan peran, kredensi sementara akan AWS CLI di-cache secara lokal hingga mereka kedaluwarsa. Lain kali Anda mencoba menggunakannya, AWS CLI upaya untuk memperbaruinya atas nama Anda. 

Jika kredensi sementara peran Anda [dicabut](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_revoke-sessions.html), kredensialnya tidak diperbarui secara otomatis, dan upaya untuk menggunakannya gagal. Namun, Anda dapat menghapus cache untuk memaksa AWS CLI untuk mengambil kredenal baru.

**Linux atau macOS**

```
$ rm -r ~/.aws/cli/cache
```

**Windows**

```
C:\> del /s /q %UserProfile%\.aws\cli\cache
```

# Mengautentikasi menggunakan kredensi pengguna IAM untuk AWS CLI
<a name="cli-authentication-user"></a>

**Awas**  
Untuk menghindari risiko keamanan, jangan gunakan pengguna IAM untuk otentikasi saat mengembangkan perangkat lunak yang dibuat khusus atau bekerja dengan data nyata. Sebaliknya, gunakan federasi dengan penyedia identitas seperti [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

Bagian ini menjelaskan cara mengkonfigurasi pengaturan dasar dengan pengguna IAM. Ini termasuk kredensi keamanan Anda menggunakan file `config` dan `credentials` file. Untuk melihat instruksi konfigurasi AWS IAM Identity Center, lihat[Mengkonfigurasi autentikasi Pusat Identitas IAM dengan AWS CLI](cli-configure-sso.md).

**Contents**
+ [Langkah 1: Buat pengguna IAM Anda](#cli-authentication-user-create)
+ [Langkah 2: Dapatkan kunci akses Anda](#cli-authentication-user-get)
+ [Langkah 3: Konfigurasikan AWS CLI](#cli-authentication-user-configure.title)
  + [Menggunakan `aws configure`](#cli-authentication-user-configure-wizard)
  + [Mengimpor kunci akses melalui file.CSV](#cli-authentication-user-configure-csv)
  + [Langsung mengedit `config` dan `credentials` file](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)
+ [(Opsional) Menggunakan otentikasi multi-faktor dengan kredensi pengguna IAM Anda](#cli-authentication-user-configure-csv.titlecli-authentication-user-mfa)

## Langkah 1: Buat pengguna IAM Anda
<a name="cli-authentication-user-create"></a>

Buat pengguna IAM Anda dengan mengikuti prosedur [Membuat pengguna IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) di Panduan Pengguna *IAM*. 
+ Untuk **opsi Izin**, pilih **Lampirkan kebijakan secara langsung** untuk mengetahui cara Anda ingin menetapkan izin kepada pengguna ini.
+ Sebagian besar tutorial SDK “Memulai” menggunakan layanan Amazon S3 sebagai contoh. Untuk menyediakan aplikasi Anda dengan akses penuh ke Amazon S3, pilih `AmazonS3FullAccess` kebijakan untuk melampirkan ke pengguna ini.

## Langkah 2: Dapatkan kunci akses Anda
<a name="cli-authentication-user-get"></a>

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, pilih **Pengguna** dan kemudian pilih pengguna **`User name`**yang Anda buat sebelumnya. 

1. Pada halaman pengguna, pilih halaman **Security credentials.** Kemudian, di bawah **tombol Access**, pilih **Create Access Key**.

1.  Untuk **Buat tombol akses Langkah 1**, pilih **Antarmuka Baris Perintah (CLI)**.

1. Untuk **Buat tombol akses Langkah 2**, masukkan tag opsional dan pilih **Berikutnya**. 

1. Untuk **Buat kunci akses Langkah 3**, pilih **Unduh file.csv** untuk menyimpan `.csv` file dengan kunci akses pengguna IAM dan kunci akses rahasia Anda. Anda memerlukan informasi ini untuk nanti.

1. Pilih Selesai.

## Langkah 3: Konfigurasikan AWS CLI
<a name="cli-authentication-user-configure.title"></a>

Untuk penggunaan umum, AWS CLI kebutuhan potongan-potongan informasi berikut:
+ ID kunci akses
+ Kunci akses rahasia
+ AWS Wilayah
+ Format output

 AWS CLI Menyimpan informasi ini dalam *profil* (kumpulan pengaturan) yang disebutkan `default` dalam `credentials` file. Secara default, informasi dalam profil ini digunakan saat Anda menjalankan AWS CLI perintah yang tidak secara eksplisit menentukan profil yang akan digunakan. Untuk informasi lebih lanjut tentang file `credentials`, lihat [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md).

Untuk mengkonfigurasi AWS CLI, gunakan salah satu prosedur berikut:

**Topics**
+ [Menggunakan `aws configure`](#cli-authentication-user-configure-wizard)
+ [Mengimpor kunci akses melalui file.CSV](#cli-authentication-user-configure-csv)
+ [Langsung mengedit `config` dan `credentials` file](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)

### Menggunakan `aws configure`
<a name="cli-authentication-user-configure-wizard"></a>

Untuk penggunaan umum, `aws configure` perintah adalah cara tercepat untuk mengatur AWS CLI instalasi Anda. Wizard konfigurasi ini meminta Anda untuk setiap informasi yang Anda butuhkan untuk memulai. Kecuali ditentukan lain dengan menggunakan `--profile` opsi, AWS CLI menyimpan informasi ini di `default` profil.

Contoh berikut mengkonfigurasi `default` profil menggunakan nilai sampel. Ganti dengan nilai Anda sendiri seperti yang dijelaskan di bagian berikut.

```
$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

Contoh berikut mengkonfigurasi profil bernama `userprod` menggunakan nilai sampel. Ganti dengan nilai Anda sendiri seperti yang dijelaskan di bagian berikut.

```
$ aws configure --profile userprod
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
```

### Mengimpor kunci akses melalui file.CSV
<a name="cli-authentication-user-configure-csv"></a>

Alih-alih menggunakan `aws configure` untuk memasukkan kunci akses, Anda dapat mengimpor `.csv` file teks biasa yang Anda unduh setelah Anda membuat kunci akses Anda. 

`.csv`File harus berisi header berikut.
+ Nama Pengguna - Kolom ini harus ditambahkan ke kolom Anda`.csv`. Ini digunakan untuk membuat nama profil yang digunakan dalam `credentials` file `config` dan ketika Anda mengimpor.
+ ID kunci akses
+ Kunci akses rahasia

**catatan**  
Selama pembuatan kunci akses awal, setelah Anda menutup kotak dialog **Unduh file.csv**, Anda tidak dapat mengakses kunci akses rahasia Anda setelah Anda menutup kotak dialog. Jika Anda memerlukan `.csv` file, Anda harus membuatnya sendiri dengan header yang diperlukan dan informasi kunci akses yang Anda simpan. Jika Anda tidak memiliki akses ke informasi kunci akses Anda, Anda perlu membuat kunci akses baru.

Untuk mengimpor `.csv` file, gunakan `aws configure import` perintah dengan `--csv` opsi sebagai berikut:

```
$ aws configure import --csv file://credentials.csv
```

Untuk informasi selengkapnya, lihat `aws\$1configure\$1import`.

### Langsung mengedit `config` dan `credentials` file
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file"></a>

Untuk langsung mengedit `config` dan `credentials` file, lakukan hal berikut.

1. Buat atau buka AWS `credentials` file bersama. File ini ada `~/.aws/credentials` di sistem Linux dan macOS, dan `%USERPROFILE%\.aws\credentials` di Windows. Untuk informasi selengkapnya, lihat [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md). 

1. Tambahkan teks berikut ke `credentials` file bersama. Ganti nilai sampel dalam `.csv` file yang Anda unduh sebelumnya dan simpan file. 

   ```
   [default] 
   aws_access_key_id = AKIAIOSFODNN7EXAMPLE 
   aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
   ```

## (Opsional) Menggunakan otentikasi multi-faktor dengan kredensi pengguna IAM Anda
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-mfa"></a>

Untuk keamanan tambahan, Anda dapat menggunakan kunci satu kali yang dihasilkan dari perangkat autentikasi multi-faktor (MFA), perangkat U2F, atau aplikasi seluler saat Anda mencoba melakukan panggilan.

Dengan pengguna IAM yang diaktifkan MFA Anda, jalankan [https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html](https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html)perintah untuk mengonfigurasi profil baru untuk digunakan dengan otentikasi multi-faktor (MFA) untuk profil yang ditentukan. Jika tidak ada profil yang ditentukan, MFA didasarkan pada profil. `default` Jika tidak ada profil default yang dikonfigurasi, `mfa-login` perintah meminta Anda untuk AWS kredensi Anda sebelum meminta informasi MFA Anda. Contoh perintah berikut menggunakan konfigurasi default Anda dan membuat profil MFA.

```
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
```

Untuk memperbarui profil yang ada, gunakan `--update-profile` parameter.

```
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
```

Perintah ini saat ini hanya mendukung otentikator kata sandi satu kali (OTP) berbasis perangkat keras atau perangkat lunak. Passkey dan perangkat U2F saat ini tidak didukung dengan perintah ini.

Untuk menggunakan profil MFA Anda, gunakan `--profile` opsi dengan perintah Anda.

```
$ aws s3 ls --profile mfaprofile
```

*Untuk informasi selengkapnya tentang penggunaan MFA dengan IAM, termasuk cara menetapkan MFA ke pengguna IAM, lihat Autentikasi [AWS multi-faktor](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) di IAM di Panduan Pengguna.AWS Identity and Access Management *

# Menggunakan metadata instans Amazon EC2 sebagai kredensional di AWS CLI
<a name="cli-configure-metadata"></a>

Saat menjalankan instans Amazon Elastic Compute Cloud (Amazon EC2) AWS CLI dari dalam instans Amazon Elastic Compute Cloud (Amazon EC2), Anda dapat menyederhanakan penyediaan kredensi ke perintah Anda. Setiap instans Amazon EC2 berisi metadata yang AWS CLI dapat langsung kueri untuk kredensi sementara. Ketika peran IAM dilampirkan ke instance, AWS CLI secara otomatis dan aman mengambil kredensional dari metadata instance. 

Untuk menonaktifkan layanan ini, gunakan variabel lingkungan [AWS\$1EC2\$1METADATA\$1DISABLED](cli-configure-envvars.md#envvars-list-AWS_EC2_METADATA_DISABLED).

**Topics**
+ [Prasyarat](#cli-configure-metadata-prereqs)
+ [Mengonfigurasi profil untuk metadata Amazon EC2](#cli-configure-metadata-configure)

## Prasyarat
<a name="cli-configure-metadata-prereqs"></a>

Untuk menggunakan kredensi Amazon EC2 dengan AWS CLI, Anda harus menyelesaikan yang berikut ini:
+ Instal dan konfigurasikan AWS CLI. Untuk informasi selengkapnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md) dan [Otentikasi dan akses kredensional untuk AWS CLI](cli-chap-authentication.md).
+ Anda memahami file konfigurasi dan profil bernama. Untuk informasi selengkapnya, lihat [Konfigurasi dan pengaturan file kredensi di AWS CLI](cli-configure-files.md). 
+ Anda telah membuat peran AWS Identity and Access Management (IAM) yang memiliki akses ke sumber daya yang dibutuhkan, dan melampirkan peran tersebut ke instans Amazon EC2 saat Anda meluncurkannya. *Untuk informasi selengkapnya, lihat [kebijakan IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html) EC2 di Panduan *Pengguna Amazon EC2* [dan Pemberian Aplikasi yang Berjalan di Instans Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html) Akses ke Sumber Daya di Panduan Pengguna IAM. AWS *

## Mengonfigurasi profil untuk metadata Amazon EC2
<a name="cli-configure-metadata-configure"></a>

Untuk menentukan bahwa Anda ingin menggunakan kredenal yang tersedia di profil instans Amazon EC2 hosting, gunakan sintaks berikut di profil bernama di file konfigurasi Anda. Lihat langkah-langkah berikut untuk petunjuk lebih lanjut. 

```
[profile profilename]
role_arn = arn:aws:iam::123456789012:role/rolename
credential_source = Ec2InstanceMetadata
region = region
```

1. Buat profil di file konfigurasi Anda.

   ```
   [profile profilename]
   ```

1. Tambahkan peran ARN IAM Anda yang memiliki akses ke sumber daya yang dibutuhkan.

   ```
   role_arn = arn:aws:iam::123456789012:role/rolename
   ```

1. Tentukan `Ec2InstanceMetadata` sebagai sumber kredensi Anda.

   ```
   credential_source = Ec2InstanceMetadata
   ```

1. Atur Wilayah Anda.

   ```
   region = region
   ```

**Contoh**

Contoh berikut mengasumsikan *`marketingadminrole`* peran dan menggunakan `us-west-2` Wilayah dalam profil instans Amazon EC2 bernama. `marketingadmin`

```
[profile marketingadmin]
role_arn = arn:aws:iam::123456789012:role/marketingadminrole
credential_source = Ec2InstanceMetadata
region = us-west-2
```

# Sumber kredensyal dengan proses eksternal di AWS CLI
<a name="cli-configure-sourcing-external"></a>

**Awas**  
Topik ini membahas sumber kredensyal dari proses eksternal. Ini bisa menjadi risiko keamanan jika perintah untuk menghasilkan kredensyal dapat diakses oleh proses atau pengguna yang tidak disetujui. Kami menyarankan Anda menggunakan alternatif yang didukung dan aman yang disediakan oleh AWS CLI dan AWS untuk mengurangi risiko mengorbankan kredensi Anda. Pastikan Anda mengamankan `config` file dan file dan alat pendukung apa pun untuk mencegah pengungkapan.  
Pastikan bahwa alat kredensi kustom Anda tidak menulis informasi rahasia apa pun `StdErr` karena SDKs dan AWS CLI dapat menangkap dan mencatat informasi tersebut, berpotensi mengeksposnya kepada pengguna yang tidak sah.

Jika Anda memiliki metode untuk menghasilkan atau mencari kredensyal yang tidak didukung secara langsung oleh AWS CLI, Anda dapat mengonfigurasi AWS CLI untuk menggunakannya dengan mengonfigurasi `credential_process` pengaturan dalam file. `config` 

Misalnya, Anda mungkin menyertakan entri yang mirip dengan yang berikut ini dalam `config` file.

```
[profile developer]
credential_process = /opt/bin/awscreds-custom --username helen
```

**Sintaksis**  
Untuk membuat string ini dengan cara yang kompatibel dengan sistem operasi apa pun, ikuti aturan ini:
+ Jika jalur atau nama file berisi spasi, kelilingi jalur lengkap dan nama file dengan tanda kutip ganda (“”). Jalur dan nama file hanya dapat terdiri dari karakter: A-Z a-z 0-9 - \$1. spasi
+ Jika nama parameter atau nilai parameter berisi spasi, kelilingi elemen tersebut dengan tanda kutip ganda (“”). Kelilingi hanya nama atau nilainya, bukan pasangannya.
+ Jangan sertakan variabel lingkungan apa pun dalam string. Misalnya, Anda tidak dapat memasukkan `$HOME` atau`%USERPROFILE%`.
+ Jangan tentukan folder beranda sebagai`~`. Anda harus menentukan jalur lengkap.

**Contoh untuk Windows**

```
credential_process = "C:\Path\To\credentials.cmd" parameterWithoutSpaces "parameter with spaces"
```

**Contoh untuk Linux atau macOS**

```
credential_process = "/Users/Dave/path/to/credentials.sh" parameterWithoutSpaces "parameter with spaces"
```

**Output yang diharapkan dari program Credentials**

 AWS CLI Menjalankan perintah seperti yang ditentukan dalam profil dan kemudian membaca data dari`STDOUT`. Perintah yang Anda tentukan harus menghasilkan output JSON `STDOUT` yang cocok dengan sintaks berikut.

```
{
  "Version": 1,
  "AccessKeyId": "an AWS access key",
  "SecretAccessKey": "your AWS secret access key",
  "SessionToken": "the AWS session token for temporary credentials", 
  "Expiration": "ISO8601 timestamp when the credentials expire"
}
```

**catatan**  
Pada tulisan ini, `Version` kuncinya harus diatur ke`1`. Ini mungkin meningkat seiring waktu seiring berkembangnya struktur.

`Expiration`Kuncinya adalah stempel [ISO8601](https://en.wikipedia.org/wiki/ISO_8601)waktu yang diformat. Jika `Expiration` kunci tidak ada dalam output alat, CLI mengasumsikan bahwa kredensialnya adalah kredensyal jangka panjang yang tidak disegarkan. Jika tidak, kredensyal dianggap sebagai kredensyal sementara dan disegarkan secara otomatis dengan menjalankan kembali perintah sebelum kedaluwarsa. `credential_process`

**catatan**  
 AWS CLI Itu ***tidak*** menyimpan kredensyal proses eksternal seperti yang dilakukannya kredensyal peran asumsi. Jika caching diperlukan, Anda harus menerapkannya dalam proses eksternal.

Proses eksternal dapat mengembalikan kode pengembalian bukan nol untuk menunjukkan bahwa kesalahan terjadi saat mengambil kredensi.