

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

# AWS Otentikasi multi-faktor di IAM
<a name="id_credentials_mfa"></a>

Untuk meningkatkan keamanan, kami menyarankan Anda mengonfigurasi otentikasi multi-faktor (MFA) untuk membantu melindungi sumber daya Anda. AWS Anda dapat mengaktifkan MFA untuk semua Akun AWS, termasuk akun mandiri, akun manajemen, dan akun anggota, serta untuk pengguna IAM Anda. Pengguna root akun AWS Kami menyarankan Anda menggunakan MFA tahan phishing seperti kunci sandi dan kunci keamanan bila memungkinkan. Autentikator berbasis FIDO ini menggunakan kriptografi kunci publik dan tahan terhadap serangan phishing, dan memutar ulang man-in-the-middle, memberikan tingkat keamanan yang lebih kuat daripada opsi berbasis TOTP.

MFA diberlakukan untuk semua jenis akun untuk pengguna root mereka. Untuk informasi selengkapnya, lihat [Amankan kredensi pengguna root AWS Organizations akun Anda](root-user-best-practices.md#ru-bp-organizations). 

Saat Anda mengaktifkan MFA untuk pengguna akar, itu hanya memengaruhi kredensial pengguna akar. Pengguna IAM di akun memiliki identitas berbeda dengan kredensial mereka sendiri, dan setiap identitas memiliki konfigurasi MFA-nya sendiri. Untuk informasi selengkapnya tentang penggunaan MFA untuk melindungi pengguna root, lihat. [Otentikasi multi-faktor untuk Pengguna root akun AWS](enable-mfa-for-root.md)

Pengguna Anda Pengguna root akun AWS dan IAM dapat mendaftarkan hingga delapan perangkat MFA jenis apa pun. Mendaftarkan beberapa perangkat MFA dapat memberikan fleksibilitas dan membantu Anda mengurangi risiko gangguan akses jika perangkat hilang atau rusak. Anda hanya perlu satu perangkat MFA untuk masuk ke Konsol Manajemen AWS atau membuat sesi melalui. AWS CLI

**catatan**  
Kami menyarankan Anda meminta pengguna manusia Anda untuk menggunakan kredensil sementara saat mengakses. AWS Sudahkah Anda mempertimbangkan untuk menggunakan AWS IAM Identity Center? Anda dapat menggunakan Pusat Identitas IAM untuk mengelola akses ke beberapa secara terpusat Akun AWS dan memberi pengguna akses masuk tunggal yang dilindungi MFA ke semua akun yang ditetapkan dari satu tempat. Dengan IAM Identity Center, Anda dapat membuat dan mengelola identitas pengguna di IAM Identity Center atau dengan mudah terhubung ke penyedia identitas kompatibel SAMP 2.0 yang ada. Untuk informasi selengkapnya, lihat [Apa itu Pusat Identitas IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) dalam *Panduan Pengguna AWS IAM Identity Center *.

MFA menambahkan keamanan ekstra yang mengharuskan pengguna untuk memberikan otentikasi unik dari mekanisme AWS MFA yang didukung selain kredensi masuk mereka ketika mereka mengakses situs web atau layanan. AWS 

## Jenis MFA
<a name="id_credentials_mfa-types"></a>

AWS mendukung jenis MFA berikut:

**Contents**
+ [Kunci sandi dan kunci keamanan](#passkeys-security-keys-for-iam-users)
+ [Aplikasi otentikator virtual](#virtual-auth-apps-for-iam-users)
+ [Token TOTP perangkat keras](#hardware-totp-token-for-iam-users)

### Kunci sandi dan kunci keamanan
<a name="passkeys-security-keys-for-iam-users"></a>

AWS Identity and Access Management mendukung kunci sandi dan kunci keamanan untuk MFA. Berdasarkan standar FIDO, kunci sandi menggunakan kriptografi kunci publik untuk memberikan otentikasi yang kuat dan tahan phishing yang lebih aman daripada kata sandi. AWS mendukung dua jenis kunci sandi: kunci sandi terikat perangkat (kunci keamanan) dan kunci sandi yang disinkronkan.
+ **Kunci keamanan**: Ini adalah perangkat fisik, seperti YubiKey, digunakan sebagai faktor kedua untuk otentikasi. Satu kunci keamanan dapat mendukung beberapa akun pengguna root dan pengguna IAM.
+ **Kunci sandi yang disinkronkan**: Ini menggunakan pengelola kredensi dari penyedia seperti Google, Apple, akun Microsoft, dan layanan pihak ketiga seperti 1Password, Dashlane, dan Bitwarden sebagai faktor kedua.

Anda dapat menggunakan autentikator biometrik bawaan, seperti Touch ID di Apple MacBooks, untuk membuka kunci pengelola kredensi dan masuk. AWS Kunci sandi dibuat dengan penyedia pilihan Anda menggunakan sidik jari, wajah, atau PIN perangkat Anda. Anda juga dapat menggunakan kunci sandi otentikasi lintas perangkat (CDA) dari satu perangkat, seperti perangkat seluler atau kunci keamanan perangkat keras, untuk masuk di perangkat lain seperti laptop. Untuk informasi selengkapnya, lihat [otentikasi lintas perangkat](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) (CDA).

Anda dapat menyinkronkan kunci sandi di seluruh perangkat Anda untuk memfasilitasi masuk dengan AWS, meningkatkan kegunaan dan pemulihan. Untuk informasi selengkapnya tentang mengaktifkan kunci sandi dan kunci keamanan, lihat. [Aktifkan kunci sandi atau kunci keamanan untuk pengguna root (konsol)](enable-fido-mfa-for-root.md)

Aliansi FIDO menyimpan daftar semua [produk Bersertifikat FIDO](https://fidoalliance.org/certification/fido-certified-products/) yang kompatibel dengan spesifikasi FIDO.

### Aplikasi otentikator virtual
<a name="virtual-auth-apps-for-iam-users"></a>

Aplikasi otentikator virtual berjalan di telepon atau perangkat lain dan mengemulasi perangkat fisik. Aplikasi otentikator virtual mengimplementasikan [algoritma kata sandi satu kali berbasis waktu (TOTP)](https://datatracker.ietf.org/doc/html/rfc6238) dan mendukung beberapa token pada satu perangkat. Pengguna harus mengetikkan kode yang valid dari perangkat saat diminta saat masuk. Setiap token yang ditetapkan untuk pengguna harus unik. Pengguna tidak dapat mengetik kode dari token pengguna lain untuk mengautentikasi.

Kami menyarankan Anda menggunakan MFA tahan phishing [seperti kunci sandi atau kunci](#passkeys-security-keys-for-iam-users) keamanan untuk perlindungan terkuat. Jika Anda belum dapat menggunakan kunci sandi atau kunci keamanan, kami sarankan Anda menggunakan perangkat MFA virtual sebagai tindakan sementara sambil menunggu persetujuan pembelian perangkat keras atau saat Anda menunggu perangkat keras Anda tiba. Untuk daftar beberapa aplikasi yang didukung yang dapat Anda gunakan sebagai perangkat MFA virtual, lihat [Multi-Factor Authentication (MFA](https://aws.amazon.com/iam/features/mfa/?audit=2019q1)).

Untuk petunjuk tentang pengaturan perangkat MFA virtual untuk pengguna IAM, lihat. [Tetapkan perangkat MFA virtual di Konsol Manajemen AWS](id_credentials_mfa_enable_virtual.md)

**catatan**  
Perangkat MFA virtual yang tidak ditetapkan di Akun AWS Anda akan dihapus saat Anda menambahkan perangkat MFA virtual baru baik melalui atau selama Konsol Manajemen AWS proses masuk. Perangkat MFA virtual yang tidak ditetapkan adalah perangkat di akun Anda tetapi tidak digunakan oleh pengguna root akun atau pengguna IAM untuk proses masuk. Mereka dihapus sehingga perangkat MFA virtual baru dapat ditambahkan ke akun Anda. Ini juga memungkinkan Anda untuk menggunakan kembali nama perangkat.  
Untuk melihat perangkat MFA virtual yang tidak ditetapkan di akun Anda, Anda dapat menggunakan perintah [atau [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)panggilan API.
Untuk menonaktifkan perangkat MFA virtual, Anda dapat menggunakan perintah [atau [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)panggilan API. Perangkat akan menjadi tidak ditugaskan.
[Untuk melampirkan perangkat MFA virtual yang tidak ditetapkan ke Akun AWS pengguna root atau pengguna IAM, Anda memerlukan kode otentikasi yang dihasilkan oleh perangkat bersama dengan perintah atau panggilan API [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI .](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)

### Token TOTP perangkat keras
<a name="hardware-totp-token-for-iam-users"></a>

Perangkat keras menghasilkan kode numerik enam digit berdasarkan algoritma [kata sandi satu kali berbasis waktu](https://datatracker.ietf.org/doc/html/rfc6238) (TOTP). Pengguna harus mengetik kode yang valid dari perangkat di halaman web kedua saat masuk.

Token ini digunakan secara eksklusif dengan Akun AWS. Anda hanya dapat menggunakan token yang memiliki benih token unik mereka dibagikan dengan AWS aman. Benih token adalah kunci rahasia yang dihasilkan pada saat produksi token. Token yang dibeli dari sumber lain tidak akan berfungsi dengan IAM. Untuk memastikan kompatibilitas, Anda harus membeli perangkat MFA perangkat keras Anda dari salah satu tautan berikut: [Token OTP atau kartu tampilan [OTP](https://www.amazon.com/SafeNet-IDProve-Card-Amazon-Services/dp/B00J4NGUO4)](https://www.amazon.com/SafeNet-IDProve-Time-based-6-Digit-Services/dp/B002CRN5X8).
+ Setiap perangkat MFA yang ditetapkan ke pengguna harus unik. Pengguna tidak dapat mengetik kode dari perangkat pengguna lain untuk diautentikasi. Untuk informasi tentang perangkat MFA perangkat keras yang didukung, lihat [Multi-Factor Authentication (MFA](https://aws.amazon.com/iam/features/mfa/?audit=2019q1)).
+ Jika Anda ingin menggunakan perangkat MFA fisik, kami sarankan Anda menggunakan kunci keamanan sebagai alternatif perangkat TOTP perangkat keras. Kunci keamanan tidak memiliki persyaratan baterai, tahan phishing, dan mendukung banyak pengguna pada satu perangkat.

Anda dapat mengaktifkan kunci sandi atau kunci keamanan dari Konsol Manajemen AWS satu-satunya, bukan dari AWS CLI atau AWS API. Sebelum Anda dapat mengaktifkan kunci keamanan, Anda harus memiliki akses fisik ke perangkat.

Untuk petunjuk tentang menyiapkan token TOTP perangkat keras untuk pengguna IAM, lihat. [Tetapkan token TOTP perangkat keras di Konsol Manajemen AWS](id_credentials_mfa_enable_physical.md)

**catatan**  
**MFA berbasis pesan teks SMS** - AWS mengakhiri dukungan untuk mengaktifkan otentikasi multi-faktor SMS (MFA). [Kami menyarankan agar pelanggan yang memiliki pengguna IAM yang menggunakan MFA berbasis pesan teks SMS beralih ke salah satu metode alternatif berikut[: Kunci sandi atau kunci keamanan, perangkat MFA virtual (berbasis perangkat lunak), atau](id_credentials_mfa_enable_fido.md)[perangkat MFA](id_credentials_mfa_enable_virtual.md) perangkat keras.](id_credentials_mfa_enable_physical.md) Anda dapat mengidentifikasi pengguna di akun Anda dengan perangkat MFA SMS yang ditetapkan. Di konsol IAM, pilih **Pengguna** dari panel navigasi, dan cari pengguna dengan **SMS** dalam kolom tabel **MFA**.

## Rekomendasi MFA
<a name="id_credentials_mfa-recommendations"></a>

Untuk membantu mengamankan AWS identitas Anda, ikuti rekomendasi ini untuk otentikasi MFA. 
+ Kami menyarankan Anda menggunakan MFA yang tahan phishing, seperti [kunci sandi dan kunci keamanan, sebagai perangkat](#passkeys-security-keys-for-iam-users) MFA Anda. Autentikator berbasis FIDO ini memberikan perlindungan terkuat terhadap serangan seperti phishing.
+ Kami menyarankan Anda mengaktifkan beberapa perangkat MFA untuk Pengguna root akun AWS dan pengguna IAM di Anda. Akun AWS Ini memungkinkan Anda untuk meningkatkan bilah keamanan di Anda Akun AWS dan menyederhanakan pengelolaan akses ke pengguna yang sangat istimewa, seperti. Pengguna root akun AWS
+ Anda dapat mendaftarkan hingga **delapan** perangkat MFA dari kombinasi [jenis MFA yang saat ini didukung dengan pengguna Anda Pengguna root akun AWS dan IAM](https://aws.amazon.com/iam/features/mfa/). Dengan beberapa perangkat MFA, Anda hanya perlu satu perangkat MFA untuk masuk ke Konsol Manajemen AWS atau membuat sesi melalui sebagai pengguna tersebut AWS CLI . Pengguna IAM harus mengautentikasi dengan perangkat MFA yang ada untuk mengaktifkan atau menonaktifkan perangkat MFA tambahan.
+ Jika perangkat MFA hilang, dicuri, atau tidak dapat diakses, Anda dapat menggunakan salah satu perangkat MFA yang tersisa untuk mengakses tanpa melakukan prosedur Akun AWS pemulihan. Akun AWS Jika perangkat MFA hilang atau dicuri, perangkat tersebut harus dipisahkan dari kepala IAM yang terkait dengannya.
+ Penggunaan beberapa MFAs memungkinkan karyawan Anda di lokasi yang tersebar secara geografis atau bekerja dari jarak jauh untuk menggunakan MFA berbasis perangkat keras untuk mengakses AWS tanpa harus mengoordinasikan pertukaran fisik perangkat keras tunggal antara karyawan.
+ Penggunaan perangkat MFA tambahan untuk prinsipal IAM memungkinkan Anda untuk menggunakan satu atau lebih MFAs untuk penggunaan sehari-hari, sementara juga menjaga perangkat MFA fisik di lokasi fisik yang aman seperti lemari besi atau brankas untuk cadangan dan redundansi.

**Catatan**  
Anda tidak dapat meneruskan informasi MFA untuk kunci keamanan atau kunci sandi ke operasi AWS STS API untuk meminta kredensi sementara. Anda dapat memperoleh kredensil untuk digunakan dengan AWS CLI dan AWS SDKs saat menggunakan kunci keamanan atau kunci sandi dengan menjalankan perintah. `aws login`
Anda tidak dapat menggunakan AWS CLI perintah atau operasi AWS API untuk mengaktifkan [kunci keamanan FIDO](id_credentials_mfa_enable_fido.md).
Anda tidak dapat menggunakan nama yang sama untuk lebih dari satu pengguna root atau perangkat IAM MFA.

## Sumber daya tambahan
<a name="id_credentials_mfa-resources"></a>

Sumber daya berikut dapat membantu Anda mempelajari lebih lanjut tentang MFA.
+ Untuk informasi selengkapnya tentang menggunakan MFA untuk mengakses AWS, lihat. [MFA mengaktifkan login](console_sign-in-mfa.md)
+  Anda dapat memanfaatkan Pusat Identitas IAM untuk mengaktifkan akses MFA yang aman ke portal akses AWS Anda, aplikasi terintegrasi IAM Identity Center, dan aplikasi. AWS CLI Untuk informasi selengkapnya, lihat [Mengaktifkan MFA di Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/mfa-getting-started.html).

# Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS
<a name="id_credentials_mfa_enable_fido"></a>

Kunci sandi adalah jenis [perangkat otentikasi multi-faktor (MFA)](id_credentials_mfa.md) yang dapat Anda gunakan untuk melindungi sumber daya Anda. AWS AWS mendukung kunci sandi yang disinkronkan dan kunci sandi terikat perangkat yang juga dikenal sebagai kunci keamanan. 

Kunci sandi yang disinkronkan memungkinkan pengguna IAM untuk mengakses kredensi masuk FIDO mereka di banyak perangkat mereka, bahkan yang baru, tanpa harus mendaftarkan ulang setiap perangkat di setiap akun. Kunci sandi yang disinkronkan mencakup manajer kredensi pihak pertama seperti Google, Apple, dan Microsoft dan manajer kredensi pihak ketiga seperti 1Password, Dashlane, dan Bitwarden sebagai faktor kedua. Anda juga dapat menggunakan biometrik pada perangkat (misalnya, TouchID, FaceID) untuk membuka kunci pengelola kredensi pilihan Anda untuk menggunakan kunci sandi. 

Atau, kunci sandi yang terikat perangkat terikat ke kunci keamanan FIDO yang Anda colokkan ke port USB di komputer Anda, lalu ketuk saat diminta untuk menyelesaikan proses masuk dengan aman. Jika Anda sudah menggunakan kunci keamanan FIDO dengan layanan lain, dan memiliki [konfigurasi yang AWS didukung](id_credentials_mfa_fido_supported_configurations.md) (misalnya, Seri YubiKey 5 dari Yubico), Anda juga dapat menggunakannya dengan. AWS Jika tidak, Anda perlu membeli kunci keamanan FIDO jika Anda ingin menggunakan WebAuthn untuk AWS MFA di. Selain itu, kunci keamanan FIDO dapat mendukung beberapa pengguna IAM atau root pada perangkat yang sama, meningkatkan utilitas mereka untuk keamanan akun. Untuk spesifikasi dan informasi pembelian untuk kedua jenis perangkat, lihat [Autentikasi Multi-Faktor](https://aws.amazon.com/iam/details/mfa/).

Anda dapat mendaftarkan hingga **delapan** perangkat MFA dari kombinasi [jenis MFA yang saat ini didukung dengan pengguna Anda Pengguna root akun AWS dan IAM](https://aws.amazon.com/iam/features/mfa/). Dengan beberapa perangkat MFA, Anda hanya perlu satu perangkat MFA untuk masuk ke Konsol Manajemen AWS atau membuat sesi melalui sebagai pengguna tersebut AWS CLI . Kami menyarankan Anda mendaftarkan beberapa perangkat MFA. Misalnya, Anda dapat mendaftarkan autentikator bawaan dan juga mendaftarkan kunci keamanan yang Anda simpan di lokasi yang aman secara fisik. Jika Anda tidak dapat menggunakan autentikator bawaan Anda, maka Anda dapat menggunakan kunci keamanan terdaftar Anda. Untuk aplikasi autentikator, kami juga menyarankan untuk mengaktifkan fitur pencadangan atau sinkronisasi cloud di aplikasi tersebut untuk membantu Anda menghindari kehilangan akses ke akun jika Anda kehilangan atau merusak perangkat Anda dengan aplikasi autentikator.

**catatan**  
Kami menyarankan Anda meminta pengguna manusia Anda untuk menggunakan kredensi sementara saat mengakses. AWS Pengguna Anda dapat bergabung AWS dengan penyedia identitas tempat mereka mengautentikasi dengan kredensi perusahaan dan konfigurasi MFA mereka. Untuk mengelola akses ke AWS dan aplikasi bisnis, kami sarankan Anda menggunakan IAM Identity Center. Untuk informasi selengkapnya, lihat [Panduan Pengguna Pusat Identitas IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html). 

**Topics**
+ [Izin diperlukan](#enable-fido-mfa-for-iam-user-permissions-required)
+ [Aktifkan kunci sandi atau kunci keamanan untuk pengguna IAM Anda sendiri (konsol)](#enable-fido-mfa-for-own-iam-user)
+ [Aktifkan kunci sandi atau kunci keamanan untuk pengguna IAM lain (konsol)](#enable-fido-mfa-for-iam-user)
+ [Ganti kunci sandi atau kunci keamanan](#replace-fido-mfa)
+ [Konfigurasi yang didukung untuk menggunakan kunci sandi dan kunci keamanan](id_credentials_mfa_fido_supported_configurations.md)

## Izin diperlukan
<a name="enable-fido-mfa-for-iam-user-permissions-required"></a>

Untuk mengelola kunci sandi FIDO untuk pengguna IAM Anda sendiri sambil melindungi tindakan sensitif terkait MFA, Anda harus memiliki izin dari kebijakan berikut:

**catatan**  
Nilai ARN adalah nilai statis dan bukan merupakan indikator protokol apa yang digunakan untuk mendaftarkan autentikator. Kami telah menghentikan U2F, jadi semua implementasi baru digunakan. WebAuthn

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Aktifkan kunci sandi atau kunci keamanan untuk pengguna IAM Anda sendiri (konsol)
<a name="enable-fido-mfa-for-own-iam-user"></a>

Anda dapat mengaktifkan kunci sandi atau kunci keamanan untuk pengguna IAM Anda sendiri dari Konsol Manajemen AWS satu-satunya, bukan dari AWS CLI atau AWS API. Sebelum Anda dapat mengaktifkan kunci keamanan, Anda harus memiliki akses fisik ke perangkat.

**Untuk mengaktifkan kunci sandi atau kunci keamanan untuk pengguna IAM Anda sendiri (konsol)**

1. Gunakan ID AWS akun atau alias akun, nama pengguna IAM, dan kata sandi Anda untuk masuk ke konsol [IAM](https://console.aws.amazon.com/iam).
**catatan**  
Untuk kenyamanan Anda, halaman AWS masuk menggunakan cookie browser untuk mengingat nama pengguna dan informasi akun IAM Anda. Jika Anda sebelumnya masuk sebagai pengguna yang berbeda, pilih **Masuk ke akun lain** dekat bagian bawah halaman untuk kembali ke halaman masuk utama. Dari sana, Anda dapat mengetikkan ID AWS akun atau alias akun Anda untuk diarahkan ke halaman login pengguna IAM untuk akun Anda.

   Untuk mendapatkan Akun AWS ID Anda, hubungi administrator Anda.

1. Di bilah navigasi di kanan atas, pilih nama pengguna Anda, lalu pilih **Kredensi keamanan**.   
![\[Konsol Manajemen AWS Tautan kredensi keamanan\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. Pada halaman pengguna IAM yang dipilih, pilih tab **Security credentials**.

1. **Di bawah **Autentikasi multi-faktor (MFA)**, pilih Tetapkan perangkat MFA.**

1. **Pada halaman **nama perangkat MFA, masukkan nama** **Perangkat**, pilih **Kunci Sandi atau Kunci Keamanan**, lalu pilih Berikutnya.**

1. Pada **Siapkan perangkat**, atur kunci sandi Anda. Buat passkey dengan data biometrik seperti wajah atau sidik jari Anda, dengan pin perangkat, atau dengan memasukkan kunci keamanan FIDO ke port USB komputer Anda dan mengetuknya.

1. Ikuti petunjuk di browser Anda dan kemudian pilih **Lanjutkan**.

Anda sekarang telah mendaftarkan kunci sandi atau kunci keamanan Anda untuk digunakan. AWS Untuk informasi tentang menggunakan MFA dengan Konsol Manajemen AWS, lihat. [MFA mengaktifkan login](console_sign-in-mfa.md) 

## Aktifkan kunci sandi atau kunci keamanan untuk pengguna IAM lain (konsol)
<a name="enable-fido-mfa-for-iam-user"></a>

Anda dapat mengaktifkan kunci sandi atau kunci keamanan untuk pengguna IAM lain dari Konsol Manajemen AWS satu-satunya, bukan dari AWS CLI atau AWS API.

**Untuk mengaktifkan kunci sandi atau kunci keamanan untuk pengguna IAM lain (konsol)**

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, pilih **Users** (Pengguna).

1. Di bawah **Pengguna**, pilih nama pengguna yang ingin Anda aktifkan MFA.

1. Pada halaman pengguna IAM yang dipilih, pilih tab **Security Credentials**. 

1. **Di bawah **Autentikasi multi-faktor (MFA)**, pilih Tetapkan perangkat MFA.**

1. **Pada halaman **nama perangkat MFA, masukkan nama** **Perangkat**, pilih **Kunci Sandi atau Kunci Keamanan**, lalu pilih Berikutnya.**

1. Pada **Siapkan perangkat**, atur kunci sandi Anda. Buat passkey dengan data biometrik seperti wajah atau sidik jari Anda, dengan pin perangkat, atau dengan memasukkan kunci keamanan FIDO ke port USB komputer Anda dan mengetuknya.

1. Ikuti petunjuk di browser Anda dan kemudian pilih **Lanjutkan**.

Anda sekarang telah mendaftarkan kunci sandi atau kunci keamanan untuk digunakan oleh pengguna IAM lain. AWS Untuk informasi tentang menggunakan MFA dengan Konsol Manajemen AWS, lihat. [MFA mengaktifkan login](console_sign-in-mfa.md)

## Ganti kunci sandi atau kunci keamanan
<a name="replace-fido-mfa"></a>

Anda dapat memiliki hingga delapan perangkat MFA dari kombinasi [jenis MFA yang saat ini didukung](https://aws.amazon.com/iam/features/mfa/) yang ditetapkan untuk pengguna pada satu waktu dengan pengguna Anda Pengguna root akun AWS dan IAM. Jika pengguna kehilangan autentikator FIDO atau perlu menggantinya karena alasan apa pun, Anda harus terlebih dahulu menonaktifkan autentikator FIDO lama. Kemudian Anda dapat menambahkan perangkat MFA baru untuk pengguna.
+ Untuk menonaktifkan perangkat yang saat ini dikaitkan dengan pengguna IAM, lihat. [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md)
+ Untuk menambahkan kunci keamanan FIDO baru untuk pengguna IAM, lihat. [Aktifkan kunci sandi atau kunci keamanan untuk pengguna IAM Anda sendiri (konsol)](#enable-fido-mfa-for-own-iam-user)

Jika Anda tidak memiliki akses ke kunci sandi atau kunci keamanan baru, Anda dapat mengaktifkan perangkat MFA virtual baru atau token TOTP perangkat keras. Lihat salah satu dari yang berikut untuk petunjuk:
+ [Tetapkan perangkat MFA virtual di Konsol Manajemen AWS](id_credentials_mfa_enable_virtual.md) 
+ [Tetapkan token TOTP perangkat keras di Konsol Manajemen AWS](id_credentials_mfa_enable_physical.md) 

# Konfigurasi yang didukung untuk menggunakan kunci sandi dan kunci keamanan
<a name="id_credentials_mfa_fido_supported_configurations"></a>

Anda dapat menggunakan kunci sandi FIDO2 terikat perangkat, juga dikenal sebagai kunci keamanan, sebagai metode otentikasi multi-faktor (MFA) dengan IAM menggunakan konfigurasi yang didukung saat ini. Ini termasuk FIDO2 perangkat yang didukung oleh IAM dan browser yang mendukung FIDO2. Sebelum mendaftarkan FIDO2 perangkat, periksa apakah Anda menggunakan versi browser dan sistem operasi (OS) terbaru. Fitur dapat berperilaku berbeda di berbagai browser, autentikator, dan klien OS. Jika pendaftaran perangkat Anda gagal pada satu browser, Anda dapat mencoba mendaftar dengan browser lain. 

FIDO2 adalah standar otentikasi terbuka dan perpanjangan dari FIDO U2F, menawarkan tingkat keamanan yang sama tinggi berdasarkan kriptografi kunci publik. FIDO2 terdiri dari spesifikasi W3C Web Authentication (WebAuthn API) dan FIDO Alliance Client-to-Authenticator Protocol (CTAP), sebuah protokol lapisan aplikasi. CTAP memungkinkan komunikasi antara klien atau platform, seperti browser atau sistem operasi, dengan autentikator eksternal. Saat Anda mengaktifkan autentikator Bersertifikat FIDO AWS, kunci keamanan akan membuat key pair baru untuk digunakan dengan saja. AWS Pertama, Anda memasukkan kredensial Anda. Saat diminta, Anda mengetuk kunci keamanan, yang merespons tantangan otentikasi yang dikeluarkan oleh. AWS Untuk mempelajari lebih lanjut tentang FIDO2 standar, lihat [FIDO2Proyek](https://en.wikipedia.org/wiki/FIDO2_Project).

## FIDO2 perangkat yang didukung oleh AWS
<a name="id_credentials_mfa_fido_supported_devices"></a>

IAM mendukung perangkat FIDO2 keamanan yang terhubung ke perangkat Anda melalui USB,Bluetooth, atau NFC. IAM juga mendukung otentikator platform seperti TouchID atau FaceID. IAM tidak mendukung pendaftaran passkey lokal untuk Windows Hello. Untuk membuat dan menggunakan kunci sandi, pengguna Windows harus menggunakan [otentikasi lintas perangkat](https://passkeys.dev/docs/reference/terms/#cross-device-authentication-cda) di mana Anda menggunakan kunci sandi dari satu perangkat seperti perangkat seluler atau kunci keamanan perangkat keras untuk masuk di perangkat lain seperti laptop.

**catatan**  
AWS memerlukan akses ke port USB fisik di komputer Anda untuk memverifikasi FIDO2 perangkat Anda. Kunci keamanan tidak akan berfungsi dengan mesin virtual, koneksi jarak jauh, atau mode penyamaran browser.

Aliansi FIDO menyimpan daftar semua [FIDO2produk](https://fidoalliance.org/certification/fido-certified-products/) yang kompatibel dengan spesifikasi FIDO.

## Browser yang mendukung FIDO2
<a name="id_credentials_mfa_fido_browsers"></a>

Ketersediaan perangkat FIDO2 keamanan yang berjalan di browser web tergantung pada kombinasi browser dan sistem operasi. Browser berikut saat ini mendukung penggunaan kunci keamanan:


****  

| Browser web | macOS 10.15\$1 | Windows 10 | Linux | iOS 14.5\$1 | Android 7\$1 | 
| --- | --- | --- | --- | --- | --- | 
| Chrome | Ya | Ya | Ya | Ya | Tidak | 
| Safari | Ya | Tidak | Tidak | Ya | Tidak | 
| Edge | Ya | Ya | Tidak | Ya | Tidak | 
| Firefox | Ya | Ya | Tidak | Ya | Tidak | 

**catatan**  
Sebagian besar versi Firefox yang saat ini mendukung FIDO2 tidak mengaktifkan dukungan secara default. Untuk petunjuk tentang mengaktifkan FIDO2 dukungan di Firefox, lihat[Memecahkan Masalah Kunci Sandi dan Kunci Keamanan FIDO](troubleshoot_mfa-fido.md).  
Firefox di macOS mungkin tidak sepenuhnya mendukung alur kerja otentikasi lintas perangkat untuk kunci sandi. Anda mungkin mendapatkan prompt untuk menyentuh kunci keamanan alih-alih melanjutkan dengan otentikasi lintas perangkat. Sebaiknya gunakan browser lain, seperti Chrome atau Safari, untuk masuk dengan kunci sandi di macOS.

Untuk informasi selengkapnya tentang dukungan browser untuk perangkat FIDO2 -Certified seperti YubiKey, lihat [Sistem operasi dan dukungan browser web untuk FIDO2 dan U2F](https://support.yubico.com/hc/en-us/articles/360016615020-Operating-system-and-web-browser-support-for-FIDO2-and-U2F).

### Plugin peramban
<a name="id_credentials_mfa_fido_plugins"></a>

AWS hanya mendukung browser yang mendukung FIDO2 secara native. AWS tidak mendukung penggunaan plugin untuk menambahkan dukungan FIDO2 browser. Beberapa plugin browser tidak kompatibel dengan FIDO2 standar dan dapat menyebabkan hasil yang tidak terduga dengan kunci FIDO2 keamanan. 

Untuk informasi tentang menonaktifkan plugin peramban dan tips pemecahan masalah lainnya, lihat [Saya tidak dapat mengaktifkan kunci keamanan FIDO saya](troubleshoot_mfa-fido.md#troubleshoot_mfa-fido-cant-enable). 

## Sertifikasi perangkat
<a name="id_credentials_mfa_fido_certifications"></a>

Kami menangkap dan menetapkan sertifikasi terkait perangkat, seperti validasi FIPS dan tingkat sertifikasi FIDO, hanya selama pendaftaran kunci keamanan. Sertifikasi perangkat Anda diambil dari [Layanan Metadata Aliansi FIDO](https://fidoalliance.org/metadata/) (MDS). Jika status sertifikasi atau tingkat kunci keamanan Anda berubah, itu tidak akan tercermin dalam tag perangkat secara otomatis. Untuk memperbarui informasi sertifikasi perangkat, daftarkan perangkat lagi untuk mengambil informasi sertifikasi yang diperbarui. 

AWS menyediakan jenis sertifikasi berikut sebagai kunci kondisi selama pendaftaran perangkat, diperoleh dari FIDO MDS: FIPS-140-2, FIPS-140-3, dan tingkat sertifikasi FIDO. Anda memiliki kemampuan untuk menentukan pendaftaran autentikator tertentu dalam kebijakan IAM mereka, berdasarkan jenis dan tingkat sertifikasi pilihan Anda. Untuk informasi selengkapnya, lihat kebijakan di bawah ini.

### Contoh kebijakan untuk sertifikasi perangkat
<a name="id_credentials_mfa_fido_certifications_policies"></a>

Kasus penggunaan berikut menunjukkan contoh kebijakan yang memungkinkan Anda mendaftarkan perangkat MFA dengan sertifikasi FIPS.

**Topics**
+ [Kasus penggunaan 1: Izinkan mendaftarkan hanya perangkat yang memiliki sertifikasi FIPS-140-2 L2](#id_credentials_mfa_fido_certifications_policies_use_case_1)
+ [Kasus penggunaan 2: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 dan FIDO L1](#id_credentials_mfa_fido_certifications_policies_use_case_2)
+ [Kasus penggunaan 3: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 atau FIPS-140-3 L2](#id_credentials_mfa_fido_certifications_policies_use_case_3)
+ [Kasus penggunaan 4: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 dan mendukung jenis MFA lainnya seperti otentikator virtual dan TOTP perangkat keras](#id_credentials_mfa_fido_certifications_policies_use_case_4)

#### Kasus penggunaan 1: Izinkan mendaftarkan hanya perangkat yang memiliki sertifikasi FIPS-140-2 L2
<a name="id_credentials_mfa_fido_certifications_policies_use_case_1"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Kasus penggunaan 2: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 dan FIDO L1
<a name="id_credentials_mfa_fido_certifications_policies_use_case_2"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2",
                    "iam:FIDO-certification": "L1"
                }
            }
        }
    ]
}
```

------

#### Kasus penggunaan 3: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 atau FIPS-140-3 L2
<a name="id_credentials_mfa_fido_certifications_policies_use_case_3"></a>

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Create"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-2-certification": "L2"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:EnableMFADevice",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:RegisterSecurityKey" : "Activate",
                    "iam:FIDO-FIPS-140-3-certification": "L2"
                }
            }
        }
    ]
}
```

------

#### Kasus penggunaan 4: Izinkan mendaftarkan perangkat yang memiliki sertifikasi FIPS-140-2 L2 dan mendukung jenis MFA lainnya seperti otentikator virtual dan TOTP perangkat keras
<a name="id_credentials_mfa_fido_certifications_policies_use_case_4"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Create"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:RegisterSecurityKey": "Activate",
          "iam:FIDO-FIPS-140-2-certification": "L2"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "iam:EnableMFADevice",
      "Resource": "*",
      "Condition": {
        "Null": {
          "iam:RegisterSecurityKey": "true"
        }
      }
    }
  ]
}
```

------

## AWS CLI dan AWS API
<a name="id_credentials_mfa_fido_cliapi"></a>

AWS mendukung penggunaan kunci sandi dan kunci keamanan hanya di. Konsol Manajemen AWS Menggunakan kunci sandi dan kunci keamanan untuk MFA tidak didukung di [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/)API [AWS dan](https://aws.amazon.com/tools/), atau untuk akses [ke operasi API yang dilindungi MFA](id_credentials_mfa_configure-api-require.md).

## Sumber daya tambahan
<a name="id_credentials_mfa_fido_additional_resources"></a>
+ Untuk informasi selengkapnya tentang penggunaan kunci sandi dan kunci keamanan AWS, lihat[Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS](id_credentials_mfa_enable_fido.md).
+ Untuk bantuan dalam memecahkan masalah kunci sandi dan kunci keamanan, lihat. AWS[Memecahkan Masalah Kunci Sandi dan Kunci Keamanan FIDO](troubleshoot_mfa-fido.md)
+ Untuk informasi industri umum tentang FIDO2 dukungan, lihat [FIDO2 Proyek](https://en.wikipedia.org/wiki/FIDO2_Project). 

# Tetapkan perangkat MFA virtual di Konsol Manajemen AWS
<a name="id_credentials_mfa_enable_virtual"></a>

**penting**  
AWS merekomendasikan agar Anda menggunakan kunci sandi atau kunci keamanan untuk MFA, AWS sedapat mungkin. Untuk informasi selengkapnya, lihat [Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS](id_credentials_mfa_enable_fido.md).

Anda dapat menggunakan ponsel atau perangkat lain sebagai perangkat Autentikasi Multi-Faktor (MFA). Untuk melakukannya, pasang aplikasi seluler yang sesuai dengan [RFC 6238, algoritma TOTP berbasis-standar (kata sandi satu kali berbasis waktu)](https://datatracker.ietf.org/doc/html/rfc6238). Aplikasi ini menghasilkan kode otentikasi enam digit. Karena autentikator dapat berjalan di perangkat seluler yang tidak aman, dan kode tersebut berpotensi dibagikan dengan pihak yang tidak berwenang, MFA berbasis TOTP tidak memberikan tingkat keamanan yang sama dengan opsi tahan phishing seperti kunci keamanan dan kunci sandi. [FIDO2](https://en.wikipedia.org/wiki/FIDO_Alliance#FIDO2) Kami menyarankan Anda menggunakan kunci sandi atau kunci keamanan untuk MFA untuk perlindungan terkuat terhadap serangan seperti phishing.

Jika Anda belum dapat menggunakan kunci sandi atau kunci keamanan, kami sarankan Anda menggunakan perangkat MFA virtual sebagai tindakan sementara saat Anda menunggu persetujuan pembelian perangkat keras atau perangkat keras Anda tiba.

Sebagian besar aplikasi MFA virtual mendukung pembuatan beberapa perangkat virtual, memungkinkan Anda menggunakan aplikasi yang sama untuk beberapa Akun AWS atau pengguna. Anda dapat mendaftarkan hingga **delapan** perangkat MFA dari kombinasi [jenis MFA apa pun dengan pengguna Anda Pengguna root akun AWS dan IAM](https://aws.amazon.com/iam/features/mfa/). Anda hanya perlu satu perangkat MFA untuk masuk ke Konsol Manajemen AWS atau membuat sesi melalui. AWS CLI Kami menyarankan Anda mendaftarkan beberapa perangkat MFA. Untuk aplikasi autentikator, kami juga menyarankan untuk mengaktifkan fitur pencadangan atau sinkronisasi cloud untuk membantu Anda menghindari kehilangan akses ke akun jika perangkat Anda hilang atau rusak.

AWS membutuhkan aplikasi MFA virtual yang menghasilkan OTP enam digit. Untuk daftar aplikasi-aplikasi MFA virtual yang dapat Anda gunakan, lihat [Autentikasi Multi-Faktor](https://aws.amazon.com/iam/features/mfa/?audit=2019q1). 

**Topics**
+ [Izin diperlukan](#mfa_enable_virtual_permissions-required)
+ [Aktifkan perangkat MFA virtual untuk pengguna IAM (konsol)](#enable-virt-mfa-for-iam-user)
+ [Ganti perangkat MFA virtual](#replace-virt-mfa)

## Izin diperlukan
<a name="mfa_enable_virtual_permissions-required"></a>

Untuk mengelola perangkat MFA virtual untuk pengguna IAM Anda, Anda harus memiliki izin dari kebijakan berikut: [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola perangkat MFA mereka sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md).

## Aktifkan perangkat MFA virtual untuk pengguna IAM (konsol)
<a name="enable-virt-mfa-for-iam-user"></a>

Anda dapat menggunakan IAM di Konsol Manajemen AWS untuk mengaktifkan dan mengelola perangkat MFA virtual untuk pengguna IAM di akun Anda. Anda dapat melampirkan tanda ke sumber daya IAM, termasuk perangkat MFA virtual, untuk mengidentifikasi, mengatur, dan mengontrol akses ke perangkat tersebut. Anda dapat menandai perangkat MFA virtual hanya ketika Anda menggunakan AWS CLI atau AWS API. Untuk mengaktifkan dan mengelola perangkat MFA menggunakan AWS API AWS CLI atau, lihat. [Tetapkan perangkat MFA di AWS CLI atau API AWS](id_credentials_mfa_enable_cliapi.md) Untuk informasi selengkapnya tentang menandai sumber daya IAM, lihat. [Tag untuk AWS Identity and Access Management sumber daya](id_tags.md) 

**catatan**  
Anda harus memiliki akses fisik ke perangkat keras yang akan menjadi host perangkat MFA virtual pengguna untuk mengonfigurasi MFA. Misalnya, Anda dapat mengonfigurasi MFA untuk pengguna yang akan menggunakan perangkat MFA virtual yang berjalan di smartphone. Dalam hal ini, Anda harus memiliki smartphone yang tersedia untuk menyelesaikan wizard. Oleh karena itu, Anda mungkin ingin membiarkan pengguna mengonfigurasi dan mengelola perangkat MFA virtual mereka sendiri. Dalam kasus tersebut, Anda harus memberikan izin kepada pengguna untuk melakukan tindakan IAM yang diperlukan. Untuk informasi selengkapnya dan contoh kebijakan IAM yang memberikan izin ini, lihat kebijakan [Tutorial IAM: Izinkan pengguna untuk mengelola kredensi dan pengaturan MFA mereka](tutorial_users-self-manage-mfa-and-creds.md) dan contoh. [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola perangkat MFA mereka sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md) 

**Untuk mengaktifkan perangkat MFA virtual untuk pengguna IAM (konsol)**

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, pilih **Users** (Pengguna).

1. Dalam daftar **Pengguna**, pilih nama pengguna IAM.

1. Pilih tab **Kredensial Keamanan**. **Di bawah **Autentikasi multi-faktor (MFA)**, pilih Tetapkan perangkat MFA.**

1. Di wizard, ketikkan **nama Perangkat**, pilih **Aplikasi Authenticator**, lalu pilih **Berikutnya**.

   IAM menghasilkan dan menampilkan informasi konfigurasi untuk perangkat MFA virtual, termasuk grafik kode QR. Grafik adalah representasi “kunci konfigurasi rahasia” yang tersedia untuk entri manual pada perangkat yang tidak mendukung kode QR.

1. Buka aplikasi MFA virtual Anda. Untuk daftar aplikasi-aplikasi MFA virtual yang dapat Anda gunakan untuk hosting perangkat MFA virtual, lihat [Autentikasi Multi-Faktor](https://aws.amazon.com/iam/details/mfa/). 

   Jika aplikasi MFA virtual mendukung beberapa perangkat atau akun MFA virtual, pilih opsi untuk membuat perangkat atau akun MFA virtual baru.

1. Tentukan apakah aplikasi MFA mendukung kode QR, kemudian lakukan salah satu hal berikut:
   + Dari wizard, pilih **Tampilkan kode QR**, lalu gunakan aplikasi untuk memindai kode QR. Ini mungkin ikon kamera atau opsi **Pindai kode** yang menggunakan kamera perangkat untuk memindai kode.
   + Dari wizard, pilih **Tampilkan kunci rahasia**, lalu ketik kunci rahasia ke dalam aplikasi MFA Anda.

   Saat Anda selesai, perangkat MFA virtual mulai membuat kata sandi sekali pakai. 

1. Pada halaman **Siapkan perangkat**, di kotak **kode MFA 1**, ketik kata sandi satu kali yang saat ini muncul di perangkat MFA virtual. Tunggu hingga 30 detik untuk membuat kata sandi sekali pakai yang baru. Lalu ketikkan kata sandi satu kali kedua ke kotak **Kode MFA 2**. Pilih **Tambahkan MFA**. 
**penting**  
Kirimkan permintaan Anda segera setelah membuat kode. Jika Anda membuat kode dan kemudian menunggu terlalu lama untuk mengirim permintaan, perangkat MFA berhasil menghubungkan pengguna namun perangkat MFA tidak sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu. Jika ini terjadi, Anda dapat [menyinkronisasi ulang perangkat](id_credentials_mfa_sync.md).

Perangkat MFA virtual sekarang siap digunakan. AWS Untuk informasi tentang menggunakan MFA dengan Konsol Manajemen AWS, lihat. [MFA mengaktifkan login](console_sign-in-mfa.md)

**catatan**  
Perangkat MFA virtual yang tidak ditetapkan di Akun AWS Anda akan dihapus saat Anda menambahkan perangkat MFA virtual baru baik melalui atau selama Konsol Manajemen AWS proses masuk. Perangkat MFA virtual yang tidak ditetapkan adalah perangkat di akun Anda tetapi tidak digunakan oleh pengguna root akun atau pengguna IAM untuk proses masuk. Mereka dihapus sehingga perangkat MFA virtual baru dapat ditambahkan ke akun Anda. Ini juga memungkinkan Anda untuk menggunakan kembali nama perangkat.  
Untuk melihat perangkat MFA virtual yang tidak ditetapkan di akun Anda, Anda dapat menggunakan perintah [atau [list-virtual-mfa-devices](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-virtual-mfa-devices.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)panggilan API.
Untuk menonaktifkan perangkat MFA virtual, Anda dapat menggunakan perintah [atau [deactivate-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/deactivate-mfa-device.html)AWS CLI](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)panggilan API. Perangkat akan menjadi tidak ditugaskan.
[Untuk melampirkan perangkat MFA virtual yang tidak ditetapkan ke Akun AWS pengguna root atau pengguna IAM, Anda memerlukan kode otentikasi yang dihasilkan oleh perangkat bersama dengan perintah atau panggilan API [enable-mfa-device](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/enable-mfa-device.html)AWS CLI .](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)

## Ganti perangkat MFA virtual
<a name="replace-virt-mfa"></a>

Pengguna Anda Pengguna root akun AWS dan IAM dapat mendaftarkan hingga **delapan** perangkat MFA dari kombinasi jenis MFA apa pun. Jika pengguna kehilangan perangkat atau perlu menggantinya karena alasan apa pun, nonaktifkan perangkat lama. Kemudian Anda dapat menambahkan perangkat baru untuk pengguna.
+ Untuk menonaktifkan perangkat yang saat ini terkait dengan pengguna IAM lain, lihat [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md).
+ Untuk menambahkan perangkat MFA virtual pengganti bagi pengguna IAM lain, ikuti langkah-langkah dalam prosedur [Aktifkan perangkat MFA virtual untuk pengguna IAM (konsol)](#enable-virt-mfa-for-iam-user) di atas.
+ Untuk menambahkan perangkat MFA virtual pengganti untuk Pengguna root akun AWS, ikuti langkah-langkah dalam prosedur. [Aktifkan perangkat MFA virtual untuk pengguna root (konsol)](enable-virt-mfa-for-root.md)

# Tetapkan token TOTP perangkat keras di Konsol Manajemen AWS
<a name="id_credentials_mfa_enable_physical"></a>

**penting**  
AWS merekomendasikan agar Anda menggunakan kunci sandi atau kunci keamanan untuk MFA, AWS sedapat mungkin. Untuk informasi selengkapnya, lihat [Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS](id_credentials_mfa_enable_fido.md).

Token TOTP perangkat keras menghasilkan kode numerik enam digit berdasarkan algoritma kata sandi satu kali berbasis waktu (TOTP). Pengguna harus memasukkan kode yang valid dari perangkat saat diminta selama proses masuk. Setiap perangkat MFA yang ditetapkan ke pengguna harus unik; pengguna tidak dapat mengetikkan kode dari perangkat pengguna lain untuk diautentikasi. Perangkat MFA tidak dapat dibagikan di seluruh akun atau pengguna.

Token TOTP perangkat keras dan [kunci keamanan FIDO](id_credentials_mfa_enable_fido.md) adalah perangkat fisik yang Anda beli. Perangkat MFA perangkat keras menghasilkan kode TOTP untuk otentikasi saat Anda masuk. AWS Mereka mengandalkan baterai, yang mungkin perlu penggantian dan sinkronisasi ulang AWS seiring waktu. Kunci keamanan FIDO, yang menggunakan kriptografi kunci publik, tidak memerlukan baterai dan menawarkan proses otentikasi yang mulus. Kami merekomendasikan penggunaan kunci keamanan FIDO untuk ketahanan phishing mereka, yang memberikan alternatif yang lebih aman untuk perangkat TOTP. Selain itu, kunci keamanan FIDO dapat mendukung beberapa pengguna IAM atau root pada perangkat yang sama, meningkatkan utilitas mereka untuk keamanan akun. Untuk spesifikasi dan informasi pembelian untuk kedua jenis perangkat, lihat [Autentikasi Multi-Faktor](https://aws.amazon.com/iam/details/mfa/).



Anda dapat mengaktifkan token TOTP perangkat keras untuk pengguna IAM dari, baris perintah Konsol Manajemen AWS, atau API IAM. Untuk mengaktifkan perangkat MFA untuk Anda Pengguna root akun AWS, lihat. [Aktifkan token TOTP perangkat keras untuk pengguna root (konsol)](enable-hw-mfa-for-root.md)

Anda dapat mendaftarkan hingga **delapan** perangkat MFA dari kombinasi [jenis MFA yang saat ini didukung dengan pengguna Anda Pengguna root akun AWS dan IAM](https://aws.amazon.com/iam/features/mfa/). Dengan beberapa perangkat MFA, Anda hanya perlu satu perangkat MFA untuk masuk ke Konsol Manajemen AWS atau membuat sesi melalui sebagai pengguna tersebut AWS CLI .

**penting**  
Kami menyarankan Anda mengaktifkan beberapa perangkat MFA untuk pengguna Anda untuk melanjutkan akses ke akun Anda jika perangkat MFA hilang atau tidak dapat diakses.

**catatan**  
Jika Anda ingin mengaktifkan perangkat MFA dari baris perintah, gunakan. [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) Untuk mengaktifkan perangkat MFA dengan API IAM, gunakan operasi. [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 

**Topics**
+ [Izin diperlukan](#enable-hw-mfa-for-iam-user-permissions-required)
+ [Aktifkan token TOTP perangkat keras untuk pengguna IAM Anda sendiri (konsol)](#enable-hw-mfa-for-own-iam-user)
+ [Aktifkan token TOTP perangkat keras untuk pengguna IAM lain (konsol)](#enable-hw-mfa-for-iam-user)
+ [Ganti perangkat MFA fisik](#replace-phys-mfa)

## Izin diperlukan
<a name="enable-hw-mfa-for-iam-user-permissions-required"></a>

Untuk mengelola token TOTP perangkat keras untuk pengguna IAM Anda sendiri sambil melindungi tindakan sensitif terkait MFA, Anda harus memiliki izin dari kebijakan berikut:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Aktifkan token TOTP perangkat keras untuk pengguna IAM Anda sendiri (konsol)
<a name="enable-hw-mfa-for-own-iam-user"></a>

 Anda dapat mengaktifkan token TOTP perangkat keras Anda sendiri dari. Konsol Manajemen AWS

**catatan**  
Sebelum Anda dapat mengaktifkan token TOTP perangkat keras, Anda harus memiliki akses fisik ke perangkat.

**Untuk mengaktifkan token TOTP perangkat keras untuk pengguna IAM Anda sendiri (konsol)**

1. Gunakan ID AWS akun atau alias akun, nama pengguna IAM, dan kata sandi Anda untuk masuk ke konsol [IAM](https://console.aws.amazon.com/iam).
**catatan**  
Untuk kenyamanan Anda, halaman AWS masuk menggunakan cookie browser untuk mengingat nama pengguna dan informasi akun IAM Anda. Jika Anda sebelumnya masuk sebagai pengguna yang berbeda, pilih **Masuk ke akun lain** dekat bagian bawah halaman untuk kembali ke halaman masuk utama. Dari sana, Anda dapat mengetikkan ID AWS akun atau alias akun Anda untuk diarahkan ke halaman login pengguna IAM untuk akun Anda.

   Untuk mendapatkan Akun AWS ID Anda, hubungi administrator Anda.

1. Di bilah navigasi di kanan atas, pilih nama pengguna Anda, lalu pilih **Kredensi keamanan**.   
![\[Konsol Manajemen AWS Tautan kredensi keamanan\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. **Pada tab **Kredensial AWS IAM**, di **bagian Otentikasi Multi-faktor (MFA), pilih Tetapkan perangkat MFA**.**

1. **Di wizard, ketikkan **nama Perangkat**, pilih **token TOTP Perangkat Keras**, lalu pilih Berikutnya.**

1. Ketik nomor seri perangkat. Nomor seri biasanya ada di bagian belakang perangkat.

1. Di kotak **Kode MFA 1**, ketik angka enam-digit yang ditampilkan oleh perangkat MFA. Anda mungkin perlu menekan tombol di bagian depan perangkat untuk menampilkan nomor.  
![\[Dasbor IAM, Perangkat MFA\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/MFADevice.png)

1. Tunggu 30 detik saat perangkat menyegarkan kode, lalu ketik angka enam digit berikutnya ke kotak **Kode MFA 2**. Anda mungkin perlu menekan tombol di bagian depan perangkat untuk menampilkan nomor kedua.

1. Pilih **Tambahkan MFA**.
**penting**  
Segera kirim permintaan Anda setelah membuat kode autentikasi. Jika Anda membuat kode dan kemudian menunggu terlalu lama untuk mengirim permintaan, perangkat MFA berhasil menghubungkan pengguna namun perangkat MFA tidak akan sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu. Jika ini terjadi, Anda dapat [menyinkronisasi ulang perangkat](id_credentials_mfa_sync.md).

Perangkat siap digunakan dengan AWS. Untuk informasi lebih lanjut tentang penggunaan MFA dengan Konsol Manajemen AWS, lihat [MFA mengaktifkan login](console_sign-in-mfa.md).

## Aktifkan token TOTP perangkat keras untuk pengguna IAM lain (konsol)
<a name="enable-hw-mfa-for-iam-user"></a>

 Anda dapat mengaktifkan token TOTP perangkat keras untuk pengguna IAM lain dari. Konsol Manajemen AWS

**Untuk mengaktifkan token TOTP perangkat keras untuk pengguna IAM lain (konsol)**

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, pilih **Users** (Pengguna).

1. Pilih nama pengguna yang ingin Anda aktifkan MFA.

1. Pilih tab **Kredensial Keamanan**. **Di bawah **Autentikasi multi-faktor (MFA)**, pilih Tetapkan perangkat MFA.**

1. **Di wizard, ketikkan **nama Perangkat**, pilih **token TOTP Perangkat Keras**, lalu pilih Berikutnya.**

1. Ketik nomor seri perangkat. Nomor seri biasanya ada di bagian belakang perangkat.

1. Di kotak **Kode MFA 1**, ketik angka enam-digit yang ditampilkan oleh perangkat MFA. Anda mungkin perlu menekan tombol di bagian depan perangkat untuk menampilkan nomor.  
![\[Dasbor IAM, Perangkat MFA\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/MFADevice.png)

1. Tunggu 30 detik saat perangkat menyegarkan kode, lalu ketik angka enam digit berikutnya ke kotak **Kode MFA 2**. Anda mungkin perlu menekan tombol di bagian depan perangkat untuk menampilkan nomor kedua.

1. Pilih **Tambahkan MFA**.
**penting**  
Segera kirim permintaan Anda setelah membuat kode autentikasi. Jika Anda membuat kode dan kemudian menunggu terlalu lama untuk mengirim permintaan, perangkat MFA berhasil menghubungkan pengguna namun perangkat MFA tidak akan sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu. Jika ini terjadi, Anda dapat [menyinkronisasi ulang perangkat](id_credentials_mfa_sync.md).

Perangkat siap digunakan dengan AWS. Untuk informasi lebih lanjut tentang penggunaan MFA dengan Konsol Manajemen AWS, lihat [MFA mengaktifkan login](console_sign-in-mfa.md).

## Ganti perangkat MFA fisik
<a name="replace-phys-mfa"></a>

Anda dapat memiliki hingga delapan perangkat MFA dari kombinasi [jenis MFA yang saat ini didukung](https://aws.amazon.com/iam/features/mfa/) yang ditetapkan untuk pengguna pada satu waktu dengan pengguna Anda Pengguna root akun AWS dan IAM. Jika pengguna kehilangan perangkat atau perlu mengganti karena alasan apa pun, Anda harus menonaktifkan perangkat lama terlebih dahulu. Kemudian Anda dapat menambahkan perangkat baru untuk pengguna.
+ Untuk menonaktifkan perangkat yang saat ini terkait dengan pengguna, lihat [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md).
+ Untuk menambahkan token TOTP perangkat keras pengganti untuk pengguna IAM, ikuti langkah-langkah dalam prosedur [Aktifkan token TOTP perangkat keras untuk pengguna IAM lain (konsol)](#enable-hw-mfa-for-iam-user) sebelumnya dalam topik ini.
+ Untuk menambahkan token TOTP perangkat keras pengganti untuk Pengguna root akun AWS, ikuti langkah-langkah dalam prosedur [Aktifkan token TOTP perangkat keras untuk pengguna root (konsol)](enable-hw-mfa-for-root.md) sebelumnya dalam topik ini.

# Tetapkan perangkat MFA di AWS CLI atau API AWS
<a name="id_credentials_mfa_enable_cliapi"></a>

Anda dapat menggunakan AWS CLI perintah atau operasi AWS API untuk mengaktifkan perangkat MFA virtual untuk pengguna IAM. Anda tidak dapat mengaktifkan perangkat MFA untuk Pengguna root akun AWS dengan AWS CLI, AWS API, Alat untuk Windows PowerShell, atau alat baris perintah lainnya. Namun, Anda dapat menggunakan Konsol Manajemen AWS untuk mengaktifkan perangkat MFA untuk pengguna root. 

Saat Anda mengaktifkan perangkat MFA dari Konsol Manajemen AWS, konsol melakukan beberapa langkah untuk Anda. Jika Anda malah membuat perangkat virtual menggunakan AWS CLI, Alat untuk Windows PowerShell, atau AWS API, maka Anda harus melakukan langkah-langkah secara manual dan dalam urutan yang benar. Misalnya, untuk membuat perangkat MFA virtual, Anda harus membuat objek IAM dan mengekstrak kode sebagai sebuah string atau grafik kode QR. Kemudian Anda harus menyinkronkan perangkat dan mengaitkannya dengan pengguna IAM. Lihat bagian **Contoh** [Baru- IAMVirtual MFADevice](https://docs.aws.amazon.com/powershell/latest/reference/Index.html?page=New-IAMVirtualMFADevice.html&tocid=New-IAMVirtualMFADevice) untuk lebih jelasnya. Untuk perangkat fisik, Anda melompati langkah pembuatan dan langsung menuju sinkronisasi perangkat dan mengaitkannya dengan pengguna. 

Anda dapat melampirkan tanda ke sumber daya IAM, termasuk perangkat MFA virtual, untuk mengidentifikasi, mengatur, dan mengontrol akses ke perangkat tersebut. Anda dapat menandai perangkat MFA virtual hanya ketika Anda menggunakan AWS CLI atau AWS API.

Pengguna IAM yang menggunakan SDK atau CLI dapat mengaktifkan perangkat MFA tambahan dengan memanggil atau [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html)menonaktifkan perangkat MFA yang ada dengan menelepon. [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html) Untuk melakukan ini dengan sukses, mereka harus terlebih dahulu memanggil [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)dan mengirimkan kode MFA dengan perangkat MFA yang ada. Panggilan ini mengembalikan kredensi keamanan sementara yang kemudian dapat digunakan untuk menandatangani operasi API yang memerlukan otentikasi MFA. Untuk contoh permintaan dan respons, lihat [`GetSessionToken`—kredensial sementara untuk pengguna di](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) lingkungan yang tidak tepercaya. 

**Untuk membuat entitas perangkat virtual di IAM untuk mewakili perangkat MFA virtual**  
Perintah ini memberikan ARN untuk perangkat yang digunakan untuk menggantikan nomor seri dalam banyak perintah berikut.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateVirtualMFADevice.html) 

**Untuk mengaktifkan perangkat MFA untuk digunakan AWS**  
Perintah ini menyinkronkan perangkat dengan AWS dan mengaitkannya dengan pengguna. Jika perangkat ini virtual, gunakan ARN perangkat virtual sebagai nomor seri.

**penting**  
Segera kirim permintaan Anda setelah membuat kode autentikasi. Jika Anda membuat kode dan kemudian menunggu terlalu lama untuk mengirim permintaan, perangkat MFA berhasil menghubungkan pengguna namun perangkat MFA tidak akan sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu. Jika ini terjadi, Anda dapat mensinkronisasi ulang perangkat menggunakan perintah yang dijelaskan di bawah ini.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/enable-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_EnableMFADevice.html) 

**Untuk menonaktifkan perangkat**  
Gunakan perintah ini untuk memisahkan perangkat dari pengguna dan menonaktifkannya. Jika perangkat ini virtual, gunakan ARN perangkat virtual sebagai nomor seri. Anda juga harus menghapus perangkat virtual secara terpisah. 
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

**Untuk mencantumkan entitas perangkat MFA virtual**  
Gunakan perintah ini untuk mencantumkan entitas perangkat MFA virtual.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html) 

**Untuk menandai perangkat MFA virtual**  
Gunakan perintah ini untuk menandai perangkat MFA virtual.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/tag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_TagMFADevice.html) 

**Untuk mencantumkan tanda perangkat MFA virtual**  
Gunakan perintah ini untuk mencantumkan tanda yang terpasang ke perangkat MFA virtual.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-mfa-device-tags.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListMFADeviceTags.html) 

**Untuk menghapus tanda perangkat MFA virtual**  
Gunakan perintah ini untuk menghapus tanda yang terpasang ke perangkat MFA virtual.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/untag-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UntagMFADevice.html) 

**Untuk mensinkronkan ulang perangkat MFA**  
Gunakan perintah ini jika perangkat menghasilkan kode yang tidak diterima oleh AWS. Jika perangkat ini virtual, gunakan ARN perangkat virtual sebagai nomor seri.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html) 

**Untuk menghapus entitas perangkat MFA virtual di IAM**  
Setelah perangkat diputus kaitannya dari pengguna, Anda dapat menghapus entitas perangkat.
+ AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html) 
+ AWS API: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html) 

**Untuk memulihkan perangkat MFA virtual yang hilang atau tidak berfungsi**  
Terkadang, perangkat pengguna yang meng-host aplikasi MFA virtual hilang, diganti, atau tidak berfungsi. Jika ini terjadi, pengguna tidak dapat memulihkannya sendiri. Pengguna harus menghubungi administrator untuk menonaktifkan perangkat. Lihat informasi yang lebih lengkap di [Pulihkan identitas yang dilindungi MFA di IAM](id_credentials_mfa_lost-or-broken.md).

# Periksa status MFA
<a name="id_credentials_mfa_checking-status"></a>

Gunakan konsol IAM untuk memeriksa apakah pengguna IAM Pengguna root akun AWS atau IAM mengaktifkan perangkat MFA yang valid.

**Untuk memeriksa status MFA dari pengguna akar**

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

1. Di bilah navigasi di kanan atas, pilih nama pengguna Anda, lalu pilih **Kredensi keamanan**.

1. Periksa di bawah **Autentikasi Multi-Faktor (MFA)** untuk melihat apakah MFA diaktifkan atau dinonaktifkan. Jika MFA belum diaktifkan, simbol peringatan (![\[Alert icon\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/console-alert-icon.console.png)) akann ditampilkan 

Jika Anda ingin mengaktifkan MFA untuk akun, lihat salah satu hal berikut:
+ [Aktifkan perangkat MFA virtual untuk pengguna root (konsol)](enable-virt-mfa-for-root.md)
+ [Aktifkan kunci sandi atau kunci keamanan untuk pengguna root (konsol)](enable-fido-mfa-for-root.md)
+ [Aktifkan token TOTP perangkat keras untuk pengguna root (konsol)](enable-hw-mfa-for-root.md)

**Untuk memeriksa status MFA pengguna IAM**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Di panel navigasi, pilih **Pengguna**.

1. Jika perlu, tambahkan kolom **MFA** pada tabel pengguna dengan menyelesaikan langkah-langkah berikut:

   1. Di atas tabel di ujung kanan, pilih ikon pengaturan (![\[Settings icon\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/console-settings-icon.console.png)).

   1. Di **Kelola Kolom**, pilih **MFA**.

   1. (Opsional) Kosongkan kotak centang untuk judul kolom apa pun yang tidak ingin Anda tampilkan di tabel pengguna.

   1. Pilih **Tutup** untuk kembali ke daftar pengguna.

1. Kolom **MFA** kmemberi tahu Anda tentang perangkat MFA yang diaktifkan. **Jika tidak ada perangkat MFA yang aktif untuk pengguna, konsol akan menampilkan None.** **Jika pengguna mengaktifkan perangkat MFA, kolom **MFA** menunjukkan jenis perangkat yang diaktifkan dengan nilai **Virtual**, **Kunci Keamanan**, Perangkat **Keras**, atau SMS.**
**catatan**  
AWS mengakhiri dukungan untuk mengaktifkan otentikasi multi-faktor SMS (MFA). [[Kami menyarankan agar pelanggan yang memiliki pengguna IAM yang menggunakan MFA berbasis pesan teks SMS beralih ke salah satu metode alternatif berikut[: perangkat MFA virtual (berbasis perangkat lunak), kunci keamanan FIDO, atau perangkat MFA perangkat keras](id_credentials_mfa_enable_virtual.md).](id_credentials_mfa_enable_physical.md)](id_credentials_mfa_enable_fido.md) Anda dapat mengidentifikasi pengguna di akun Anda dengan perangkat MFA SMS yang ditetapkan. Untuk melakukannya, kunjungi konsol IAM, pilih **Pengguna** dari panel navigasi, dan cari pengguna dengan **SMS** di kolom **MFA** di tabel.

1. Untuk melihat informasi tambahan tentang perangkat MFA untuk pengguna, pilih nama pengguna yang status MFA ingin Anda periksa. Kemudian pilih tab **Kredensial keamanan**. 

1. Jika tidak ada perangkat MFA yang aktif untuk pengguna, konsol menampilkan Tidak ada perangkat **MFA. Tetapkan perangkat MFA untuk meningkatkan keamanan lingkungan AWS Anda di bagian** **Autentikasi Multi-faktor (**MFA). Jika pengguna mengaktifkan perangkat MFA, bagian **Autentikasi Multi-faktor (MFA**) menunjukkan detail tentang perangkat:
   + Nama perangkat
   + Jenis perangkat
   + Pengenal untuk perangkat, seperti nomor seri untuk perangkat fisik atau ARN AWS untuk perangkat virtual
   + Saat perangkat dibuat

Untuk menghapus atau menyinkronkan ulang perangkat, pilih tombol radio di sebelah perangkat dan pilih **Hapus** atau **Sinkronkan Ulang**.

Untuk informasi lebih lanjut dalam mengaktifkan MFA, lihat hal berikut: 
+ [Tetapkan perangkat MFA virtual di Konsol Manajemen AWS](id_credentials_mfa_enable_virtual.md)
+ [Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS](id_credentials_mfa_enable_fido.md)
+ [Tetapkan token TOTP perangkat keras di Konsol Manajemen AWS](id_credentials_mfa_enable_physical.md)

# Sinkronisasi ulang perangkat MFA virtual dan perangkat keras
<a name="id_credentials_mfa_sync"></a>

Anda dapat menggunakan AWS untuk menyinkronkan ulang perangkat otentikasi multi-faktor virtual dan perangkat keras (MFA) Anda. Jika perangkat Anda tidak disinkronkan saat Anda mencoba menggunakannya, upaya masuk gagal dan IAM meminta Anda untuk mensinkronkan ulang perangkat tersebut.

**catatan**  
Kunci keamanan FIDO tidak keluar dari sinkron. Jika kunci keamanan FIDO hilang atau rusak, Anda dapat menonaktifkannya. Untuk petunjuk cara menonaktifkan jenis perangkat MFA, lihat [Untuk menonaktifkan perangkat MFA untuk pengguna IAM lainnya (konsol)](id_credentials_mfa_disable.md#deactivate-mfa-for-user).

Sebagai AWS administrator, Anda dapat menyinkronkan ulang perangkat MFA virtual dan perangkat keras pengguna IAM Anda jika mereka keluar dari sinkronisasi.

Jika perangkat Pengguna root akun AWS MFA tidak berfungsi, Anda dapat menyinkronkan ulang perangkat menggunakan konsol IAM dengan atau tanpa menyelesaikan proses masuk. Jika Anda tidak berhasil menyinkronkan ulang perangkat Anda, Anda mungkin perlu menghapus kaitannya dan mengaitkannya kembali. Untuk informasi lebih lanjut tentang cara melakukan ini, lihat [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md) dan[AWS Otentikasi multi-faktor di IAM](id_credentials_mfa.md).

**Topics**
+ [Izin diperlukan](#id_credentials_mfa_sync_console-permissions-required)
+ [Mensinkronisasi ulang perangkat MFA virtual dan perangkat keras (konsol IAM)](#id_credentials_mfa_sync_console)
+ [Menyinkronkan ulang perangkat MFA virtual dan perangkat keras (AWS CLI)](#id_credentials_mfa_sync_cli)
+ [Menyinkronkan ulang perangkat MFA virtual dan perangkat keras (API)AWS](#id_credentials_mfa_sync_api)

## Izin diperlukan
<a name="id_credentials_mfa_sync_console-permissions-required"></a>

Untuk menyinkronkan ulang perangkat MFA virtual atau perangkat keras untuk pengguna IAM Anda sendiri, Anda harus memiliki izin dari kebijakan berikut. Kebijakan ini tidak mengizinkan Anda untuk membuat atau menonaktifkan perangkat.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToViewAndManageTheirOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "BlockAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

## Mensinkronisasi ulang perangkat MFA virtual dan perangkat keras (konsol IAM)
<a name="id_credentials_mfa_sync_console"></a>

Anda dapat menggunakan konsol IAM untuk mengsinkronisasi ulang perangkat MFA virtual dan perangkat keras.

**Untuk mensinkronkan perangkat keras atau MFA virtual untuk pengguna IAM Anda sendiri (konsol)**

1. Gunakan ID AWS akun atau alias akun, nama pengguna IAM, dan kata sandi Anda untuk masuk ke konsol [IAM](https://console.aws.amazon.com/iam).
**catatan**  
Untuk kenyamanan Anda, halaman AWS masuk menggunakan cookie browser untuk mengingat nama pengguna IAM dan informasi akun Anda. Jika Anda sebelumnya masuk sebagai pengguna yang berbeda, pilih **Masuk ke akun lain** dekat bagian bawah halaman untuk kembali ke halaman masuk utama. Dari sana, Anda dapat mengetikkan ID AWS akun atau alias akun Anda untuk diarahkan ke halaman login pengguna IAM untuk akun Anda.

   Untuk mendapatkan Akun AWS ID Anda, hubungi administrator Anda.

1. Di bilah navigasi di kanan atas, pilih nama pengguna Anda, lalu pilih **Kredensi keamanan**.   
![\[AWS Tautan kredensi Keamanan Konsol Manajemen\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. **Pada tab **kredensi AWS IAM**, di bagian **Otentikasi Multi-faktor (MFA), pilih tombol radio di sebelah perangkat MFA** dan pilih Resinkronisasi.**

1. Ketik dua kode berikutnya yang dibuat secara berurutan dari perangkat ke dalam **Kode MFA 1** dan **Kode MFA 2**. Kemudian pilih **Resinkronisasi**.
**penting**  
Kirimkan permintaan Anda segera setelah membuat kode. Jika Anda membuat kode lalu menunggunya terlalu lama untuk mengirimkan permintaan, permintaan tersebut muncul untuk bekerja tetapi perangkat tetap tidak sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu.

**Untuk mensinkronisasi ulang perangkat MFA virtual atau perangkat keras untuk pengguna IAM lainnya (konsol)**

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, pilih **Pengguna**, lalu pilih nama pengguna yang perangkat MFA perlu disinkronisasi ulang.

1. Pilih tab **Kredensial keamanan**. **Di bagian **Otentikasi Multi-faktor (MFA)**, pilih tombol radio di sebelah perangkat MFA dan pilih Resinkronisasi.**

1. Ketik dua kode berikutnya yang dibuat secara berurutan dari perangkat ke dalam **Kode MFA 1** dan **Kode MFA 2**. Kemudian pilih **Resinkronisasi**.
**penting**  
Kirimkan permintaan Anda segera setelah membuat kode. Jika Anda membuat kode lalu menunggunya terlalu lama untuk mengirimkan permintaan, permintaan tersebut muncul untuk bekerja tetapi perangkat tetap tidak sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu.

**Untuk mensinkronkan ulang MFA pengguna akar Anda sebelum masuk (konsol)**

1. Di halaman **Masuk Amazon Web Services Dengan Perangkat Autentikasi**, pilih **Ada masalah dengan perangkat autentikasi Anda? Klik di sini**.
**catatan**  
Anda mungkin melihat teks yang berbeda, seperti **Masuk menggunakan MFA** dan **Atasi masalah perangkat autentikasi Anda**. Namun, fitur yang sama disediakan.

1. Di bagian **Sinkronkan ulang Dengan Server Kami**, ketikkan dua kode berikutnya yang dibuat secara berurutan dari perangkat ke dalam **Kode MFA 1** dan **Kode MFA 2**. Lalu, pilih **Sinkronkan ulang perangkat autentikasi**.

1. Jika perlu, ketikkan kata sandi Anda kembali dan pilih **Masuk**. Lalu selesaikan proses masuk menggunakan perangkat MFA Anda.

**Untuk mensinkronkan ulang MFA pengguna akar Anda setelah masuk (konsol)**

1. Masuk ke [konsol IAM](https://console.aws.amazon.com/iam/) sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.
**catatan**  
Sebagai pengguna root, Anda tidak dapat masuk ke halaman **pengguna Masuk sebagai IAM**. Jika Anda melihat halaman **Masuk sebagai pengguna IAM**, pilih **Masuk menggunakan email pengguna root** di dekat bagian bawah halaman. Untuk bantuan masuk sebagai pengguna root, lihat [Masuk ke Konsol Manajemen AWS sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

1. Di sisi kanan bilah navigasi, pilih nama akun Anda, lalu pilih **Kredensi keamanan**. Jika perlu, pilih **Continue to Security credentials**.  
![\[Kredensi keamanan di menu navigasi\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. Perluas bagian **Multi-Factor Authentication (MFA)** di halaman.

1. Pilih tombol radio di sebelah perangkat dan pilih **Resinkronisasi**.

1. **Di kotak dialog perangkat **MFA Resinkronisasi**, ketik dua kode berikutnya yang dihasilkan secara berurutan dari perangkat ke dalam kode MFA 1 dan **kode MFA** 2.** Kemudian pilih **Resinkronisasi**.
**penting**  
Kirimkan permintaan Anda segera setelah membuat kode. Jika Anda membuat kode lalu menunggunya terlalu lama untuk membuat mengirimkan permintaan, perangkat MFA berhasil dikaitkan dengan pengguna, tetapi perangkat MFA tidak sinkron. Hal ini terjadi karena kata sandi sekali pakai berbasis-waktu kedaluwarsa setelah beberapa waktu.

## Menyinkronkan ulang perangkat MFA virtual dan perangkat keras (AWS CLI)
<a name="id_credentials_mfa_sync_cli"></a>

Anda dapat menyinkronkan ulang perangkat MFA virtual dan perangkat keras dari AWS CLI.

**Untuk menyinkronkan ulang perangkat MFA virtual atau perangkat keras untuk pengguna IAM ()AWS CLI**  
Pada prompt perintah, keluarkan perintah [aws iam: resync-mfa-device](https://docs.aws.amazon.com/cli/latest/reference/iam/resync-mfa-device.html)
+ Perangkat MFA virtual: Menentukan Amazon Resource Name (ARN) dari perangkat sebagai nomor seri.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number arn:aws:iam::123456789012:mfa/RichardsMFA --authentication-code1 123456 --authentication-code2 987654
  ```
+ Perangkat MFA perangkat keras: Menentukan nomor seri perangkat keras sebagai nomor seri. Formatnya khusus vendor. Misalnya, Anda dapat membeli token gemalto dari Amazon. Nomor serinya biasa terdiri atas empat huruf, diikuti empat angka.

  ```
  aws iam resync-mfa-device --user-name Richard --serial-number ABCD12345678 --authentication-code1 123456 --authentication-code2 987654
  ```

**penting**  
Kirimkan permintaan Anda segera setelah membuat kode. Jika Anda membuat kode lalu menunggunya terlalu lama untuk mengirimkan permintaan, permintaan gagal karena kode kedaluwarsa setelah beberapa saat.

## Menyinkronkan ulang perangkat MFA virtual dan perangkat keras (API)AWS
<a name="id_credentials_mfa_sync_api"></a>

IAM memiliki panggilan API yang melakukan sinkronisasi. Dalam hal ini, kami menyarankan agar Anda memberikan izin pengguna perangkat MFA virtual dan perangkat keras untuk mengakses panggilan API ini. Kemudian buat alat berdasarkan panggilan API sehingga pengguna Anda dapat mensinkronisasi ulang perangkat mereka kapan pun diperlukan.

**Untuk menyinkronkan ulang perangkat MFA virtual atau perangkat keras untuk pengguna IAM (API)AWS**
+ Kirim MFADevice permintaan [Resinkronisasi](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResyncMFADevice.html).

# Nonaktifkan perangkat MFA
<a name="id_credentials_mfa_disable"></a>

Jika Anda mengalami masalah saat masuk dengan perangkat otentikasi multi-faktor (MFA) sebagai pengguna IAM, hubungi administrator Anda untuk mendapatkan bantuan.

Sebagai administrator, Anda dapat menonaktifkan perangkat untuk pengguna IAM lainnya. Ini memungkinkan pengguna masuk tanpa menggunakan MFA. Anda dapat melakukannya sebagai solusi sementara saat perangkat MFA diganti, atau jika perangkat tidak tersedia untuk sementara. Namun, kami menyarankan Anda untuk mengaktifkan perangkat baru untuk pengguna sesegera mungkin. Untuk mempelajari cara mengaktifkan perangkat MFA baru, lihat [AWS Otentikasi multi-faktor di IAM](id_credentials_mfa.md).

**catatan**  
Jika Anda menggunakan API atau AWS CLI menghapus pengguna dari Anda Akun AWS, Anda harus menonaktifkan atau menghapus perangkat MFA pengguna. Anda membuat perubahan ini sebagai bagian dari proses penghapusan pengguna. Untuk informasi selengkapnya tentang menghapus pengguna, lihat[Menghapus atau menonaktifkan pengguna IAM](id_users_remove.md).

**Topics**
+ [Menonaktifkan perangkat MFA (konsol)](#deactive-mfa-console)
+ [Menonaktifkan perangkat MFA (AWS CLI)](#deactivate-mfa-cli)
+ [Menonaktifkan perangkat MFA (API)AWS](#deactivate-mfa-api)

## Menonaktifkan perangkat MFA (konsol)
<a name="deactive-mfa-console"></a><a name="deactivate-mfa-for-user"></a>

**Untuk menonaktifkan perangkat MFA untuk pengguna IAM lainnya (konsol)**

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, pilih **Pengguna**.

1. Untuk menonaktifkan perangkat MFA bagi pengguna, pilih nama pengguna yang MFAnya ingin Anda hapus.

1. Pilih tab **Kredensial keamanan**.

1. **Di bawah **Autentikasi multi-faktor (MFA)**, pilih tombol radio di sebelah perangkat MFA, pilih Hapus, lalu pilih **Hapus**.**

   Perangkat dihapus dari AWS. Ini tidak dapat digunakan untuk masuk atau mengotentikasi permintaan sampai diaktifkan kembali dan dikaitkan dengan AWS pengguna atau. Pengguna root akun AWS<a name="deactivate-mfa-for-root"></a>

**Untuk menonaktifkan perangkat MFA untuk Pengguna root akun AWS (konsol)**

1. Masuk ke [konsol IAM](https://console.aws.amazon.com/iam/) sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.
**catatan**  
Sebagai pengguna root, Anda tidak dapat masuk ke halaman **pengguna Masuk sebagai IAM**. Jika Anda melihat halaman **Masuk sebagai pengguna IAM**, pilih **Masuk menggunakan email pengguna root** di dekat bagian bawah halaman. Untuk bantuan masuk sebagai pengguna root, lihat [Masuk ke Konsol Manajemen AWS sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/introduction-to-          root-user-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

1. Di sisi kanan bilah navigasi, pilih nama akun Anda, lalu pilih **Kredensi keamanan**. Jika perlu, pilih **Continue to Security credentials**.  
![\[Kredensi keamanan di menu navigasi\]](http://docs.aws.amazon.com/id_id/IAM/latest/UserGuide/images/security-credentials-root.shared.console.png)

1. **Di bagian **Otentikasi multi-faktor (MFA)**, pilih tombol radio di sebelah perangkat MFA yang ingin Anda nonaktifkan dan pilih Hapus.**

1. Pilih **Hapus**.

   Perangkat MFA dinonaktifkan untuk file. Akun AWS Periksa email yang terkait dengan Anda Akun AWS untuk pesan konfirmasi dari Amazon Web Services. Email tersebut memberi tahu Anda bahwa Autentikasi Multi-Faktor (MFA) Amazon Web Services Anda telah dinonaktifkan. Pesan akan datang dari `@amazon.com` atau`@aws.amazon.com`.

**catatan**  
Perangkat MFA virtual yang tidak ditetapkan di Akun AWS Anda akan dihapus saat Anda menambahkan perangkat MFA virtual baru baik melalui atau selama Konsol Manajemen AWS proses masuk. Perangkat MFA virtual yang tidak ditetapkan adalah perangkat di akun Anda tetapi tidak digunakan oleh pengguna root akun atau pengguna IAM untuk proses masuk. Mereka dihapus sehingga perangkat MFA virtual baru dapat ditambahkan ke akun Anda. Ini juga memungkinkan Anda untuk menggunakan kembali nama perangkat.

## Menonaktifkan perangkat MFA (AWS CLI)
<a name="deactivate-mfa-cli"></a>

**Untuk menonaktifkan perangkat MFA untuk pengguna IAM ()AWS CLI**
+ Jalankan perintah ini: [https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/deactivate-mfa-device.html)

## Menonaktifkan perangkat MFA (API)AWS
<a name="deactivate-mfa-api"></a>

**Untuk menonaktifkan perangkat MFA untuk pengguna IAM (API)AWS**
+ Hubungi operasi ini: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeactivateMFADevice.html)

# Pulihkan identitas yang dilindungi MFA di IAM
<a name="id_credentials_mfa_lost-or-broken"></a>

Jika perangkat [MFA virtual atau token TOTP perangkat](id_credentials_mfa_enable_virtual.md) [keras](id_credentials_mfa_enable_physical.md) Anda tampaknya berfungsi dengan baik, tetapi Anda tidak dapat menggunakannya untuk mengakses AWS sumber daya Anda, itu mungkin tidak sinkronisasi dengan. AWS Untuk informasi tentang sinkronisasi perangkat MFA virtual atau MFA perangkat keras, lihat [Sinkronisasi ulang perangkat MFA virtual dan perangkat keras](id_credentials_mfa_sync.md). [Kunci keamanan FIDO](id_credentials_mfa_enable_fido.md) tidak keluar dari sinkron.

Jika [perangkat MFA](id_credentials_mfa.md) untuk a Pengguna root akun AWS hilang, rusak, atau tidak berfungsi, Anda dapat memulihkan akses ke akun Anda. Pengguna IAM harus menghubungi administrator untuk menonaktifkan perangkat.

**penting**  
Kami menyarankan Anda mengaktifkan beberapa perangkat MFA. Mendaftarkan beberapa perangkat MFA membantu memastikan akses berkelanjutan jika perangkat hilang atau rusak. Pengguna Anda Pengguna root akun AWS dan IAM dapat mendaftarkan hingga delapan perangkat MFA jenis apa pun.

## Prasyarat - Gunakan perangkat MFA lain
<a name="mfa-lost-or-broken-prerequisites"></a>

Jika [perangkat otentikasi multi-faktor (MFA)](id_credentials_mfa.md) Anda hilang, rusak, atau tidak berfungsi, Anda dapat masuk menggunakan perangkat MFA lain yang terdaftar ke pengguna root atau pengguna IAM yang sama.

**Untuk masuk menggunakan perangkat MFA lain**

1. Masuk ke [Konsol Manajemen AWS](url-comsole-domain;iam)dengan Akun AWS ID atau alias akun dan kata sandi Anda.

1. Pada halaman **verifikasi tambahan yang diperlukan** atau halaman **otentikasi multi-faktor**, pilih **Coba metode MFA** lain.

1. Otentikasi dengan jenis perangkat MFA yang Anda pilih.

1. Langkah selanjutnya bervariasi berdasarkan apakah Anda berhasil masuk dengan perangkat MFA alternatif.
   + Jika Anda telah berhasil masuk, Anda bisa[Sinkronisasi ulang perangkat MFA virtual dan perangkat keras](id_credentials_mfa_sync.md), yang dapat menyelesaikan masalah. Jika perangkat MFA Anda hilang atau rusak, Anda dapat menonaktifkannya. Untuk petunjuk cara menonaktifkan jenis perangkat MFA, lihat [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md).
   + Jika Anda tidak dapat masuk dengan MFA, gunakan langkah-langkah [Pemulihan perangkat MFA pengguna akar](#root-mfa-lost-or-broken) atau [Pemulihan perangkat MFA pengguna IAM](#iam-user-mfa-lost-or-broken) untuk memulihkan identitas yang dilindungi MFA Anda.



## Pemulihan perangkat MFA pengguna akar
<a name="root-mfa-lost-or-broken"></a>

Jika Anda tidak dapat masuk dengan MFA, Anda dapat menggunakan metode otentikasi alternatif untuk masuk dengan memverifikasi identitas Anda menggunakan email dan nomor telepon kontak utama yang terdaftar di akun Anda.

Konfirmasikan bahwa Anda dapat mengakses email dan nomor telepon kontak utama yang terkait dengan akun Anda sebelum Anda menggunakan faktor otentikasi alternatif untuk masuk sebagai pengguna root. Jika Anda perlu memperbarui nomor telepon kontak utama, masuk sebagai pengguna IAM dengan akses *Administrator*, bukan pengguna root. Untuk petunjuk tambahan tentang memperbarui informasi kontak akun, lihat [Mengedit informasi kontak](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html) di *Panduan AWS Billing Pengguna*. Jika Anda tidak memiliki akses ke email dan nomor telepon kontak utama, Anda harus menghubungi [AWS Dukungan](https://support.aws.amazon.com/#/contacts/aws-mfa-support).

**penting**  
Kami menyarankan agar Anda tetap memperbarui alamat email dan nomor telepon kontak ke pengguna root Anda agar pemulihan akun berhasil. Untuk informasi selengkapnya, lihat [Memperbarui kontak utama untuk Anda Akun AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-update-contact-primary.html) di *Panduan AWS Account Management Referensi*.

**Untuk masuk menggunakan faktor alternatif otentikasi sebagai Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

1. **Pada halaman **Verifikasi tambahan yang diperlukan**, pilih metode MFA untuk mengautentikasi dan pilih Berikutnya.** 
**catatan**  
Anda mungkin melihat teks alternatif, seperti **Masuk menggunakan MFA**, **Memecahkan masalah perangkat otentikasi Anda,** atau Memecahkan Masalah **MFA**, tetapi fungsinya sama. Jika Anda tidak dapat menggunakan faktor otentikasi alternatif untuk memverifikasi alamat email akun dan nomor telepon kontak utama, hubungi [AWS Dukungan](https://support.aws.amazon.com/#/contacts/aws-mfa-support)untuk menonaktifkan perangkat MFA Anda.

1. Bergantung pada jenis MFA yang Anda gunakan, Anda akan melihat halaman yang berbeda, tetapi opsi **Pemecahan Masalah MFA berfungsi** sama. Pada halaman **verifikasi tambahan yang diperlukan** atau halaman **otentikasi multi-faktor**, pilih **Troubleshoot** MFA.

1. Jika perlu, ketikkan kata sandi Anda kembali dan pilih **Masuk**.

1. Pada halaman **Memecahkan masalah perangkat autentikasi Anda**, di bagian **Masuk menggunakan faktor alternatif autentikasi**, pilih **Masuk** menggunakan faktor alternatif.

1. Pada halaman **Masuk menggunakan faktor alternatif otentikasi**, autentikasi akun Anda dengan memverifikasi alamat email, pilih **Kirim email verifikasi**. 

1. Periksa email yang terkait dengan Anda Akun AWS untuk pesan dari Amazon Web Services (recover-mfa-no-reply@verify .signin.aws). Ikuti petunjuk di dalam email.

   Jika Anda tidak melihat email di akun Anda, periksa folder spam, atau kembali ke peramban Anda dan pilih **Kirim ulang email**.

1. Setelah Anda memverifikasi alamat email, Anda dapat melanjutkan mengautentikasi akun Anda. Untuk memverifikasi nomor telepon kontak utama Anda, pilih **Hubungi saya sekarang**.

1. Jawab panggilan dari AWS dan, ketika diminta, masukkan nomor 6 digit dari AWS situs web di keypad ponsel Anda. 

   Jika Anda tidak menerima panggilan dari AWS, pilih **Masuk** untuk masuk ke konsol lagi dan mulai dari awal. Atau lihat Perangkat [Multi-Factor Authentication (MFA) yang hilang atau tidak dapat digunakan untuk menghubungi dukungan untuk mendapatkan bantuan](https://support.aws.amazon.com/#/contacts/aws-mfa-support).

1. Setelah memverifikasi nomor telepon, Anda dapat masuk ke akun dengan memilih **Masuk ke konsol**.

1. Langkah berikutnya bervariasi tergantung pada jenis MFA yang Anda gunakan:
   + Untuk perangkat MFA virtual, hapus akun dari perangkat Anda. Lalu, kunjungi [Kredensial Keamanan AWS](https://console.aws.amazon.com/iam/home?#security_credential) dan hapus perangkat virtual MFA lama sebelum Anda membuat perangkat baru.
   + Untuk kunci keamanan FIDO, buka halaman [AWS Security Credentials](https://console.aws.amazon.com/iam/home?#security_credential) dan nonaktifkan kunci keamanan FIDO lama sebelum mengaktifkan yang baru.
   + Untuk token TOTP perangkat keras, hubungi penyedia pihak ketiga untuk bantuan memperbaiki atau mengganti perangkat. Anda dapat terus masuk menggunakan faktor alternatif autentikasi hingga Anda menerima perangkat baru. Setelah Anda memiliki perangkat MFA perangkat keras baru, buka halaman [Kredensial AWS Keamanan](https://console.aws.amazon.com/iam/home?#security_credential) dan hapus perangkat MFA lama.
**catatan**  
Anda tidak perlu mengganti perangkat MFA yang hilang atau dicuri dengan jenis perangkat yang sama. Misalnya, jika Anda memecahkan kunci keamanan FIDO dan memesan yang baru, Anda dapat menggunakan MFA virtual atau token TOTP perangkat keras hingga kunci FIDO baru tiba.

**penting**  
Jika perangkat MFA Anda hilang atau dicuri, ubah kata sandi pengguna root Anda setelah masuk dan membuat perangkat MFA pengganti Anda. Penyerang mungkin telah mencuri perangkat otentikasi dan mungkin juga memiliki kata sandi Anda saat ini. Untuk informasi selengkapnya, lihat [Ubah kata sandi untuk Pengguna root akun AWS](root-user-password.md).

## Pemulihan perangkat MFA pengguna IAM
<a name="iam-user-mfa-lost-or-broken"></a>

Jika Anda adalah pengguna IAM yang tidak dapat masuk dengan MFA, Anda tidak dapat memulihkan perangkat MFA sendiri. Anda harus menghubungi administrator untuk menonaktifkan perangkat. Kemudian Anda dapat mengaktifkan perangkat baru.

**Untuk mendapatkan bantuan bagi perangkat MFA sebagai pengguna IAM**

1. Hubungi AWS administrator atau orang lain yang memberi Anda nama pengguna dan kata sandi untuk pengguna IAM. Administrator harus menonaktifkan perangkat MFA seperti yang dijelaskan dalam [Nonaktifkan perangkat MFA](id_credentials_mfa_disable.md) sehingga Anda dapat masuk.

1. Langkah berikutnya bervariasi tergantung pada jenis MFA yang Anda gunakan:
   + Untuk perangkat MFA virtual, hapus akun dari perangkat Anda. Kemudian aktifkan perangkat virtual seperti yang dijelaskan di [Tetapkan perangkat MFA virtual di Konsol Manajemen AWS](id_credentials_mfa_enable_virtual.md).
   + Untuk kunci keamanan FIDO, hubungi penyedia pihak ketiga untuk bantuan mengganti perangkat. Saat Anda menerima kunci keamanan FIDO baru, aktifkan seperti yang dijelaskan di[Tetapkan kunci sandi atau kunci keamanan di Konsol Manajemen AWS](id_credentials_mfa_enable_fido.md).
   + Untuk token TOTP perangkat keras, hubungi penyedia pihak ketiga untuk bantuan memperbaiki atau mengganti perangkat. Setelah Anda memiliki perangkat MFA fisik baru, aktifkan perangkat seperti yang dijelaskan di [Tetapkan token TOTP perangkat keras di Konsol Manajemen AWS](id_credentials_mfa_enable_physical.md).
**catatan**  
Anda tidak perlu mengganti perangkat MFA yang hilang atau dicuri dengan jenis perangkat yang sama. Anda dapat memiliki hingga delapan perangkat MFA dari kombinasi apa pun. Misalnya, jika Anda memecahkan kunci keamanan FIDO dan memesan yang baru, Anda dapat menggunakan MFA virtual atau token TOTP perangkat keras hingga kunci FIDO baru tiba.

1. Jika perangkat MFA Anda hilang atau dicuri, juga ubah kata sandi Anda apabila penyerang telah mencuri perangkat autentikasi dan mungkin juga memiliki kata sandi Anda saat ini. Untuk informasi selengkapnya, lihat [Kelola kata sandi untuk pengguna IAM](id_credentials_passwords_admin-change-user.md)

# Akses API aman dengan MFA
<a name="id_credentials_mfa_configure-api-require"></a>

Dengan kebijakan IAM, Anda dapat menentukan operasi API mana yang diizinkan untuk dipanggil oleh pengguna. Anda dapat menerapkan keamanan tambahan dengan mengharuskan pengguna untuk mengautentikasi dengan otentikasi multi-faktor (MFA) sebelum Anda mengizinkan mereka melakukan tindakan yang sangat sensitif.

Misalnya, Anda mungkin memiliki kebijakan yang memungkinkan pengguna untuk melakukan Amazon EC2 `RunInstances`, `DescribeInstances`, dan `StopInstances`. Tetapi Anda mungkin ingin membatasi tindakan destruktif seperti `TerminateInstances` dan memastikan bahwa pengguna dapat melakukan tindakan itu hanya jika mereka mengautentikasi dengan perangkat AWS MFA.

**Topics**
+ [Ikhtisar](#MFAProtectedAPI-overview)
+ [Skenario: Perlindungan MFA untuk pendelegasian lintas-akun](#MFAProtectedAPI-cross-account-delegation)
+ [Skenario: Perlindungan MFA untuk akses ke operasi API di akun saat ini](#MFAProtectedAPI-user-mfa)
+ [Skenario: Perlindungan MFA untuk sumber daya yang memiliki kebijakan berbasis sumber daya](#MFAProtectedAPI-resource-policies)

## Ikhtisar
<a name="MFAProtectedAPI-overview"></a>

Menambahkan perlindungan MFA ke operasi API melibatkan tugas-tugas ini:

1. Administrator mengonfigurasi perangkat AWS MFA untuk setiap pengguna yang harus membuat permintaan API yang memerlukan otentikasi MFA. Untuk informasi selengkapnya, lihat [AWS Otentikasi multi-faktor di IAM](id_credentials_mfa.md). 

1. Administrator membuat kebijakan untuk pengguna yang menyertakan `Condition` elemen yang memeriksa apakah pengguna diautentikasi dengan perangkat AWS MFA.

1. Pengguna memanggil salah satu operasi AWS STS API yang mendukung parameter MFA: [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html) Sebagai bagian dari panggilan, pengguna mencakup pengidentifikasi perangkat untuk perangkat yang terhubung dengan pengguna. Pengguna juga menyertakan kata sandi satu kali berbasis waktu (TOTP) yang dihasilkan perangkat. Dalam kasus lain, pengguna mendapatkan kembali kredensial keamanan sementara yang dapat digunakan pengguna untuk membuat permintaan tambahan ke AWS.
**catatan**  
Perlindungan MFA untuk operasi API layanan hanya tersedia jika layanan mendukung kredensial keamanan sementara. Untuk daftar layanan ini, lihat [ Menggunakan Kredensial IT Sementara untuk Mengakses AWS](https://docs.aws.amazon.com/STS/latest/UsingSTS/UsingTokens.html).

Jika otorisasi gagal, AWS mengembalikan pesan kesalahan akses ditolak (seperti halnya untuk akses yang tidak sah). Dengan adanya kebijakan API yang dilindungi MFA, AWS menolak akses ke operasi API yang ditentukan dalam kebijakan jika pengguna mencoba memanggil operasi API tanpa autentikasi MFA yang valid. Operasi juga ditolak jika stempel waktu permintaan untuk operasi API berada di luar rentang yang diizinkan yang ditentukan dalam kebijakan. Pengguna harus diautentikasi ulang menggunakan MFA dengan meminta kredensial keamanan sementara yang baru, dengan kode MFA dan nomor seri perangkat.

### Kebijakan IAM dengan ketentuan MFA
<a name="MFAProtectedAPI-policies"></a>

Kebijakan dengan ketentuan MFA dapat dilampirkan ke hal berikut:
+ Pengguna atau grup IAM
+ Sumber daya seperti bucket Amazon S3, antrean Amazon Amazon SQS, atau topik Amazon SNS
+ Kebijakan kepercayaan dari peran IAM yang dapat diasumsikan oleh pengguna

Anda dapat menggunakan ketentuan MFA dalam kebijakan untuk memeriksa properti berikut:
+ Ekstensi—Untuk memudahkan verifikasi bahwa pengguna melakukan verifikasi dengan MFA, periksa apakah kunci `aws:MultiFactorAuthPresent` adalah `True` dalam ketentuan `Bool`. Kunci tersebut hanya muncul ketika pengguna mengautentikasi dengan kredensial jangka pendek. Kredensial jangka panjang, seperti access key, tidak mencakup kunci ini.
+ Durasi—Jika Anda ingin memberikan akses hanya untuk waktu yang ditentukan setelah otentikasi MFA, gunakan jenis numerik untuk membandingkan usia kunci `aws:MultiFactorAuthAge` i ke nilai (seperti 3600 detik). Perhatikan bahwa kunci `aws:MultiFactorAuthAge` tidak ada jika MFA tidak digunakan.

Contoh berikut menunjukkan kebijakan kepercayaan peran IAM yang menyertakan ketentuan MFA untuk menguji keberadaan autentikasi MFA. Dengan kebijakan ini, pengguna dari `Principal` elemen yang Akun AWS ditentukan (ganti `ACCOUNT-B-ID` dengan Akun AWS ID yang valid) dapat mengambil peran yang dilampirkan kebijakan ini. Namun, pengguna tersebut hanya dapat mengasumsikan peran jika pengguna diautentikasi menggunakan MFA.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Principal": {"AWS": "ACCOUNT-B-ID"},
    "Action": "sts:AssumeRole",
    "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
  }
}
```

------

Untuk informasi lebih lanjut tentang jenis ketentuan untuk MFA, lihat [AWS kunci konteks kondisi global](reference_policies_condition-keys.md), [Operator ketentuan numerik](reference_policies_elements_condition_operators.md#Conditions_Numeric), dan [Operator ketentuan memeriksa keberadaan kunci kondisi](reference_policies_elements_condition_operators.md#Conditions_Null). 

### Memilih antara GetSessionToken dan AssumeRole
<a name="scenarios"></a>

AWS STS menyediakan dua operasi API yang memungkinkan pengguna melewati informasi MFA: `GetSessionToken` dan. `AssumeRole` Operasi API yang dipanggil pengguna untuk mendapatkan kredensial keamanan sementara bergantung pada skenario mana yang berlaku. 

**Gunakan `GetSessionToken` untuk skenario berikut:**
+ Panggil operasi API yang mengakses sumber daya Akun AWS sama dengan pengguna IAM yang membuat permintaan. Perhatikan bahwa kredensial sementara dari `GetSessionToken` permintaan dapat mengakses operasi IAM dan AWS STS API *hanya* jika Anda menyertakan informasi MFA dalam permintaan kredensional. Karena kredensial sementara dikembalikan oleh `GetSessionToken` meliputi informasi MFA, Anda dapat memeriksa MFA dalam operasi API individu yang dilakukan oleh kredensial. 
+ Akses ke sumber daya yang dilindungi dengan kebijakan berbasis sumber daya yang mencakup ketentuan MFA.

Tujuan dari operasi `GetSessionToken` adalah mengautentikasi pengguna menggunakan MFA. Anda tidak dapat menggunakan kebijakan untuk mengontrol operasi autentikasi.

**Gunakan `AssumeRole` untuk skenario berikut:**
+ Panggil operasi API yang mengakses sumber daya dalam hal yang sama atau berbeda Akun AWS. Panggilan API dapat menyertakan IAM atau AWS STS API apa pun. Perhatikan bahwa untuk melindungi akses Anda, Anda memberlakukan MFA pada saat pengguna menjalankan peran tersebut. Kredensial sementara dikembalikan oleh `AssumeRole` tidak menyertakan informasi MFA dalam konteks, jadi Anda tidak dapat memeriksa operasi API individu untuk MFA. Inilah mengapa Anda harus menggunakan `GetSessionToken` untuk membatasi akses ke sumber daya yang dilindungi oleh kebijakan berbasis sumber daya.

**catatan**  
AWS CloudTrail log akan berisi informasi MFA ketika pengguna IAM masuk dengan MFA. Jika pengguna IAM mengasumsikan peran IAM, juga CloudTrail akan `mfaAuthenticated: true` masuk `sessionContext` atribut untuk tindakan yang dilakukan menggunakan peran yang diasumsikan. Namun, CloudTrail logging terpisah dari yang dibutuhkan IAM saat panggilan API dilakukan dengan kredenal peran yang diasumsikan. Untuk informasi selengkapnya, lihat Elemen [CloudTrailUserIdentity](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

Perincian tentang cara menerapkan skenario ini akan dijelaskan nanti dalam dokumen ini.

### Poin penting tentang akses API yang dilindungi MFA
<a name="MFAProtectedAPI-important-points"></a>

Penting untuk memahami aspek perlindungan MFA berikut untuk operasi API:
+ Perlindungan MFA hanya tersedia dalam bentuk kredensial keamanan sementara, yang harus diperoleh dengan `AssumeRole` atau `GetSessionToken`. 
+ Anda tidak dapat menggunakan akses API yang dilindungi MFA dengan kredensional. Pengguna root akun AWS 
+ Anda tidak dapat menggunakan akses API yang dilindungi MFA dengan kunci keamanan U2F.
+ Pengguna federasi tidak dapat diberikan perangkat MFA untuk digunakan AWS dengan layanan, sehingga mereka tidak dapat AWS mengakses sumber daya yang dikendalikan oleh MFA. (Lihat poin berikutnya.) 
+ Operasi AWS STS API lain yang mengembalikan kredensi sementara tidak mendukung MFA. Untuk `AssumeRoleWithWebIdentity` dan`AssumeRoleWithSAML`, pengguna diautentikasi oleh penyedia eksternal dan AWS tidak dapat menentukan apakah penyedia tersebut memerlukan MFA. Untuk `GetFederationToken`, MFA tidak selalu berkaitan dengan pengguna tertentu. 
+ Demikian pula, kredensial jangka panjang (kunci akses pengguna IAM dan kunci akses pengguna akar) tidak dapat digunakan dengan akses API yang dilindungi MFA karena tidak kedaluwarsa.
+ `AssumeRole` dan `GetSessionToken` juga dapat dipanggil tanpa informasi MFA. Dalam hal ini, penelepon mendapatkan kembali kredensial keamanan sementara, tetapi informasi sesi untuk kredensial sementara tersebut tidak menunjukkan bahwa pengguna mengautentikasi dengan MFA.
+ Untuk menetapkan perlindungan MFA untuk operasi API, Anda menambahkan ketentuan MFA ke kebijakan. Kebijakan harus mencantumkan kunci keamanan `aws:MultiFactorAuthPresent` untuk menerapkan penggunaan MFA. Untuk pendelegasian lintas akun, kebijakan kepercayaan peran tersebut harus mencakup kunci ketentuan.
+ Ketika Anda Akun AWS mengizinkan orang lain mengakses sumber daya di akun Anda, keamanan sumber daya Anda tergantung pada konfigurasi akun tepercaya (akun lain, bukan milik Anda). Hal ini tetap berlaku meskipun Anda memerlukan autentikasi multi-faktor. Setiap identitas dalam akun tepercaya yang memiliki izin untuk membuat perangkat MFA virtual dapat membuat klaim MFA untuk memenuhi bagian dari kebijakan kepercayaan peran Anda. Sebelum Anda mengizinkan anggota akun lain mengakses AWS sumber daya Anda yang memerlukan otentikasi multi-faktor, Anda harus memastikan bahwa pemilik akun tepercaya mengikuti praktik terbaik keamanan. Misalnya, akun tepercaya harus membatasi akses ke operasi API sensitif, seperti operasi API manajemen perangkat MFA, secara spesifik, identitas terpercaya.
+ Jika kebijakan mencakup ketentuan MFA, permintaan ditolak jika pengguna belum menjadi MFA yang diautentikasi, atau jika mereka memberikan pengidentifikasi perangkat MFA yang tidak valid atau TOTP yang tidak valid.

## Skenario: Perlindungan MFA untuk pendelegasian lintas-akun
<a name="MFAProtectedAPI-cross-account-delegation"></a>

Dalam skenario ini, Anda ingin mendelegasikan akses ke pengguna IAM di akun lain, tetapi hanya jika pengguna diautentikasi dengan perangkat AWS MFA. Untuk informasi selengkapnya tentang delegasi lintas akun, lihat. [Istilah dan konsep peran](id_roles.md#id_roles_terms-and-concepts) 

Bayangkan Anda memiliki akun A (akun kepercayaan yang memiliki sumber daya yang akan diakses), dengan pengguna IAM Anaya, yang memiliki izin administrator. Dia ingin memberikan akses ke pengguna Richard di akun B (akun tepercaya), tetapi ingin memastikan bahwa Richard terotentikasi dengan MFA sebelum dia mengambil peran tersebut. 

1. Di akun kepercayaan A, Anaya membuat peran IAM bernama `CrossAccountRole` dan menetapkan prinsipal dalam kebijakan kepercayaan peran ke ID akun B. Kebijakan kepercayaan memberikan izin untuk tindakan tersebut. AWS STS `AssumeRole` Anaya juga menambahkan ketentuan MFA ke kebijakan kepercayaan, seperti dalam contoh berikut. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Effect": "Allow",
       "Principal": {"AWS": "ACCOUNT-B-ID"},
       "Action": "sts:AssumeRole",
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }
   }
   ```

------

1. Anaya menambahkan kebijakan izin untuk peran yang menentukan apa yang dapat dilakukan peran tersebut. Kebijakan izin untuk peran dengan perlindungan MFA tidak berbeda dengan kebijakan izin peran lainnya. Contoh berikut menunjukkan kebijakan yang ditambahkan Anaya ke peran; ini memungkinkan pengguna yang berasumsi untuk melakukan tindakan Amazon DynamoDB apa pun pada `Books` tabel di akun A. Kebijakan ini juga mengizinkan `dynamodb:ListTables` tindakan, yang diperlukan untuk melakukan tindakan di konsol. 
**catatan**  
Kebijakan izin tidak mencakup ketentuan MFA. Penting untuk memahami bahwa autentikasi MFA hanya digunakan untuk menentukan apakah pengguna dapat menjalankan peran tersebut. Setelah pengguna mengambil peran tersebut, tidak ada lagi pemeriksaan MFA yang dilakukan. 

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "TableActions",
               "Effect": "Allow",
               "Action": "dynamodb:*",
               "Resource": "arn:aws:dynamodb:*:111122223333:table/Books"
           },
           {
               "Sid": "ListTables",
               "Effect": "Allow",
               "Action": "dynamodb:ListTables",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Di akun B tepercaya, administrator memastikan bahwa pengguna IAM Richard dikonfigurasi dengan perangkat AWS MFA dan bahwa ia mengetahui ID perangkat. ID perangkat adalah nomor seri jika MFA perangkat keras, atau ARN perangkat jika itu adalah perangkat MFA virtual.

1. Di akun B, administrator melampirkan kebijakan berikut kepada pengguna Richard (atau grup yang ia anggota) yang memungkinkannya untuk menghubungi tindakan `AssumeRole`. Sumber daya diatur ke ARN dari peran yang dibuat Anaya pada langkah 1. Perhatikan bahwa kebijakan ini tidak mengandung ketentuan MFA.

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

****  

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

------

1. Di akun B, Richard (atau aplikasi yang dijalankan Richard) akan memanggil `AssumeRole`. Panggilan API mencakup ARN peran yang akan diasumsikan (`arn:aws:iam::ACCOUNT-A-ID:role/CrossAccountRole`), ID perangkat MFA, dan TOTP saat ini yang Richard dapatkan dari perangkatnya. 

   Ketika Richard menelepon`AssumeRole`, AWS menentukan apakah ia memiliki kredensi yang valid, termasuk persyaratan untuk MFA. Jika demikian, Richard berhasil mengasumsikan peran tersebut dan dapat melakukan tindakan DynamoDB apa pun pada tabel yang `Books` disebutkan di akun A saat menggunakan kredenal sementara peran tersebut. 

   Sebagai contoh program yang memanggil `AssumeRole`, lihat [Memanggil AssumeRole dengan otentikasi MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-assumerole).

## Skenario: Perlindungan MFA untuk akses ke operasi API di akun saat ini
<a name="MFAProtectedAPI-user-mfa"></a>

Dalam skenario ini, Anda harus memastikan bahwa pengguna di Anda Akun AWS dapat mengakses operasi API sensitif hanya ketika pengguna diautentikasi menggunakan perangkat AWS MFA.

Bayangkan bahwa Anda memiliki akun A yang berisi sekelompok developer yang perlu bekerja dengan kasus EC2. Pengembang biasa dapat bekerja dengan instans, tetapi mereka tidak diberikan izin tindakan `ec2:StopInstances` atau `ec2:TerminateInstances`. Anda ingin membatasi tindakan istimewa yang “menghancurkan” tersebut ke hanya beberapa pengguna tepercaya, sehingga Anda menambahkan perlindungan MFA ke kebijakan yang memungkinkan tindakan Amazon EC2 yang sensitif ini. 

Dalam skenario ini, salah satu pengguna tepercaya tersebut adalah pengguna Sofía. Pengguna Anaya adalah administrator di akun A. 

1. Anaya memastikan bahwa Sofía dikonfigurasi dengan perangkat AWS MFA dan Sofía mengetahui ID perangkat tersebut. ID perangkat adalah nomor seri jika MFA perangkat keras, atau ARN perangkat jika itu adalah perangkat MFA virtual. 

1. Anaya membuat kelompok bernama `EC2-Admins` dan menambahkan Sofía ke grup.

1. Anaya melampirkan kebijakan berikut ke kelompok `EC2-Admins`. Kebijakan ini memberikan izin kepada pengguna untuk menghubungi tindakan Amazon EC2 `StopInstances` dan `TerminateInstances` hanya jika pengguna telah mengautentikasi menggunakan MFA. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Action": [
         "ec2:StopInstances",
         "ec2:TerminateInstances"
       ],
       "Resource": ["*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------

1. 
**catatan**  
Agar kebijakan ini berlaku, pengguna harus keluar terlebih dahulu dan masuk kembali.

   Jika pengguna Sofía perlu menghentikan atau menghentikan instans Amazon EC2, dia (atau aplikasi yang sedang dia jalankan) memanggil. `GetSessionToken` Operasi API ini meneruskan ID perangkat MFA dan TOTP saat ini yang diperoleh Sofía dari perangkatnya.

1. Pengguna Sofía (atau aplikasi yang digunakan Sofía) menggunakan kredensial sementara yang diberikan oleh `GetSessionToken` untuk menghubungi tindakan Amazon EC2 `StopInstances` atau `TerminateInstances`. 

   Sebagai contoh program yang memanggil `GetSessionToken`, lihat [Memanggil GetSessionToken dengan otentikasi MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) nanti di dokumen ini.

## Skenario: Perlindungan MFA untuk sumber daya yang memiliki kebijakan berbasis sumber daya
<a name="MFAProtectedAPI-resource-policies"></a>

Dalam skenario ini, Anda adalah pemilik bucket S3, antrean SQS, atau topik SNS. Anda ingin memastikan bahwa setiap pengguna dari Akun AWS siapa pun yang mengakses sumber daya diautentikasi oleh perangkat MFA AWS . 

Skenario ini mengilustrasikan cara untuk menyediakan jangkauan perlindungan MFA lintas akun yang mengharuskan pengguna untuk menjalankan peran terlebih dahulu. Dalam hal ini, pengguna dapat mengakses sumber daya jika tiga kondisi terpenuhi: Pengguna harus diautentikasi oleh MFA, dapat memperoleh kredensial keamanan sementara dari `GetSessionToken`, dan berada di akun yang dipercaya oleh kebijakan sumber daya. 

Bayangkan Anda berada di akun A dan Anda membuat bucket S3. Anda ingin memberikan akses ke bucket ini kepada pengguna yang berbeda Akun AWS, tetapi hanya jika pengguna tersebut diautentikasi dengan MFA.

Dalam skenario ini, pengguna Anaya adalah administrator di akun A. Pengguna Nikhil adalah pengguna IAM di akun C.

1. Pada akun A, Anaya membuat bucket dengan nama `Account-A-bucket`.

1. Anaya menambahkan kebijakan bucket ke bucket. Kebijakan ini memungkinkan pengguna di akun A, akun B, atau akun C untuk melakukan tindakan Amazon S3 `PutObject` dan `DeleteObject` di dalam bucket. Kebijakan ini mencakup ketentuan MFA. 

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
       "Effect": "Allow",
       "Principal": {"AWS": [
         "ACCOUNT-A-ID",
         "ACCOUNT-B-ID",
         "ACCOUNT-C-ID"
       ]},
       "Action": [
         "s3:PutObject",
         "s3:DeleteObject"
       ],
       "Resource": ["arn:aws:s3:::ACCOUNT-A-BUCKET-NAME/*"],
       "Condition": {"Bool": {"aws:MultiFactorAuthPresent": "true"}}
     }]
   }
   ```

------
**catatan**  
Amazon S3 menawarkan fitur Hapus MFA untuk (hanya) akses akun *akar*. Anda dapat mengaktifkan Hapus MFA Amazon S3 saat Anda mengatur status versi bucket. Hapus MFA Amazon S3 tidak dapat diterapkan ke pengguna IAM, dan dikelola secara terpisah dari akses API yang dilindungi MFA. Seorang pengguna IAM dengan izin untuk menghapus bucket tidak dapat menghapus bucket dengan Hapus MFA Amazon S3 yang diaktifkan. Untuk informasi selengkapnya tentang Amazon S3 MFA Delete, lihat [MFA Hapus](https://docs.aws.amazon.com/AmazonS3/latest/dev/MultiFactorAuthenticationDelete.html).

1. Di akun C, administrator memastikan bahwa pengguna Nikhil dikonfigurasi dengan perangkat MFA AWS dan bahwa dia mengetahui ID perangkat. ID perangkat adalah nomor seri jika MFA perangkat keras, atau ARN perangkat jika itu adalah perangkat MFA virtual. 

1. Dalam akun C, Nikhil (atau aplikasi yang dia jalankan) akan memanggil `GetSessionToken`. Panggilan mencakup ID atau ARN perangkat MFA dan TOTP saat ini yang diperoleh Nikhil dari perangkatnya. 

1. Nikhil (atau aplikasi yang dia gunakan) menggunakan kredensial sementara yang dikembalikan oleh `GetSessionToken` untuk menghubungi tindakan Amazon S3 `PutObject` untuk mengunggah file ke `Account-A-bucket`. 

   Sebagai contoh program yang memanggil `GetSessionToken`, lihat [Memanggil GetSessionToken dengan otentikasi MFA](id_credentials_mfa_sample-code.md#MFAProtectedAPI-example-getsessiontoken) nanti di dokumen ini.
**catatan**  
Kredensial sementara yang dikembalikan `AssumeRole` tidak akan bekerja dalam kasus ini. Meskipun pengguna dapat memberikan informasi MFA untuk mengambil peran, kredensial sementara dikembalikan oleh `AssumeRole` tidak menyertakan informasi MFA. Informasi tersebut diperlukan untuk memenuhi ketentuan MFA dalam kebijakan. 

# Kode sampel: Meminta kredensial dengan autentikasi multi-faktor
<a name="id_credentials_mfa_sample-code"></a>

Contoh berikut menunjukkan cara melakukan panggilan `GetSessionToken` dan operasi `AssumeRole` dan lolos parameter autentikasi MFA. Tidak ada izin yang diperlukan untuk memanggil `GetSessionToken`, tetapi Anda harus memiliki kebijakan yang mengijinkan Anda untuk memanggil `AssumeRole`. Kredensial yang dihasilkan kemudian digunakan untuk mencantumkan semua bucket S3 di akun.

## Memanggil GetSessionToken dengan otentikasi MFA
<a name="MFAProtectedAPI-example-getsessiontoken"></a>

Contoh berikut menunjukkan cara memanggil `GetSessionToken` dan meneruskan informasi otentikasi MFA. Kredensial keamanan sementara yang dihasilkan oleh operasi `GetSessionToken` kemudian digunakan untuk mencantumkan semua bucket S3 di akun.

Kebijakan yang terlampir pada pengguna yang menjalankan kode ini (atau ke grup yang ada di pengguna) memberikan izin untuk kredensial sementara yang dikembalikan. Untuk contoh kode ini, kebijakan harus memberikan izin kepada pengguna untuk meminta operasi Amazon S3 `ListBuckets`. 

Contoh kode berikut menunjukkan cara menggunakan`GetSessionToken`.

------
#### [ CLI ]

**AWS CLI**  
**Untuk mendapatkan satu set kredensi jangka pendek untuk identitas IAM**  
`get-session-token`Perintah berikut mengambil satu set kredensi jangka pendek untuk identitas IAM yang membuat panggilan. Kredensi yang dihasilkan dapat digunakan untuk permintaan di mana otentikasi multi-faktor (MFA) diperlukan oleh kebijakan. Kredensialnya kedaluwarsa 15 menit setelah dibuat.  

```
aws sts get-session-token \
    --duration-seconds 900 \
    --serial-number "YourMFADeviceSerialNumber" \
    --token-code 123456
```
Output:  

```
{
    "Credentials": {
        "AccessKeyId": "ASIAIOSFODNN7EXAMPLE",
        "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYzEXAMPLEKEY",
        "SessionToken": "AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4OlgkBN9bkUDNCJiBeb/AXlzBBko7b15fjrBs2+cTQtpZ3CYWFXG8C5zqx37wnOE49mRl/+OtkIKGO7fAE",
        "Expiration": "2020-05-19T18:06:10+00:00"
    }
}
```
Untuk informasi lebih lanjut, lihat [Meminta Kredensial Keamanan Sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getsessiontoken) dalam *AWS Panduan Pengguna IAM*.  
+  Untuk detail API, lihat [GetSessionToken](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/get-session-token.html)di *Referensi AWS CLI Perintah*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan sebuah `Amazon.RuntimeAWSCredentials` instance yang berisi kredensial sementara yang valid untuk jangka waktu tertentu. Kredensial yang digunakan untuk meminta kredensil sementara disimpulkan dari default shell saat ini. Untuk menentukan kredensil lainnya, gunakan parameter - ProfileName atau - AccessKey SecretKey /-.**  

```
Get-STSSessionToken
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Contoh 2: Mengembalikan sebuah `Amazon.RuntimeAWSCredentials` instance yang berisi kredensial sementara yang valid selama satu jam. Kredensi yang digunakan untuk membuat permintaan diperoleh dari profil yang ditentukan.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Contoh 3: Mengembalikan `Amazon.RuntimeAWSCredentials` instance yang berisi kredensi sementara yang valid selama satu jam menggunakan nomor identifikasi perangkat MFA yang terkait dengan akun yang kredensialnya ditentukan dalam profil 'myprofilename' dan nilai yang diberikan oleh perangkat.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Untuk detail API, lihat [GetSessionToken](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan sebuah `Amazon.RuntimeAWSCredentials` instance yang berisi kredensial sementara yang valid untuk jangka waktu tertentu. Kredensial yang digunakan untuk meminta kredensil sementara disimpulkan dari default shell saat ini. Untuk menentukan kredensil lainnya, gunakan parameter - ProfileName atau - AccessKey SecretKey /-.**  

```
Get-STSSessionToken
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Contoh 2: Mengembalikan sebuah `Amazon.RuntimeAWSCredentials` instance yang berisi kredensial sementara yang valid selama satu jam. Kredensi yang digunakan untuk membuat permintaan diperoleh dari profil yang ditentukan.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
**Contoh 3: Mengembalikan `Amazon.RuntimeAWSCredentials` instance yang berisi kredensi sementara yang valid selama satu jam menggunakan nomor identifikasi perangkat MFA yang terkait dengan akun yang kredensialnya ditentukan dalam profil 'myprofilename' dan nilai yang diberikan oleh perangkat.**  

```
Get-STSSessionToken -DurationInSeconds 3600 -ProfileName myprofile -SerialNumber YourMFADeviceSerialNumber -TokenCode 123456
```
**Output:**  

```
AccessKeyId                             Expiration                              SecretAccessKey                        SessionToken
-----------                             ----------                              ---------------                        ------------
EXAMPLEACCESSKEYID                      2/16/2015 9:12:28 PM                    examplesecretaccesskey...              SamPleTokeN.....
```
+  Untuk detail API, lihat [GetSessionToken](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------
#### [ Python ]

**SDK untuk Python (Boto3)**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples). 
Dapatkan token sesi dengan meneruskan token MFA dan gunakan untuk mencantumkan bucket Amazon S3 untuk akun tersebut.  

```
def list_buckets_with_session_token_with_mfa(mfa_serial_number, mfa_totp, sts_client):
    """
    Gets a session token with MFA credentials and uses the temporary session
    credentials to list Amazon S3 buckets.

    Requires an MFA device serial number and token.

    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an Amazon Resource Name (ARN).
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    if mfa_serial_number is not None:
        response = sts_client.get_session_token(
            SerialNumber=mfa_serial_number, TokenCode=mfa_totp
        )
    else:
        response = sts_client.get_session_token()
    temp_credentials = response["Credentials"]

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Buckets for the account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Untuk detail API, lihat [GetSessionToken](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/GetSessionToken)di *AWS SDK for Python (Boto3) Referensi* API. 

------

## Memanggil AssumeRole dengan otentikasi MFA
<a name="MFAProtectedAPI-example-assumerole"></a>

Contoh berikut menunjukkan cara memanggil `AssumeRole` dan meneruskan informasi otentikasi MFA. Kredensial keamanan sementara yang dikembalikan oleh `AssumeRole` kemudian digunakan untuk mencantumkan semua bucket Amazon S3 di akun.

Untuk informasi selengkapnya tentang skenario ini, lihat [Skenario: Perlindungan MFA untuk pendelegasian lintas-akun](id_credentials_mfa_configure-api-require.md#MFAProtectedAPI-cross-account-delegation). 

Contoh kode berikut menunjukkan cara menggunakan`AssumeRole`.

------
#### [ .NET ]

**SDK untuk .NET**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3/STS#code-examples). 

```
using System;
using System.Threading.Tasks;
using Amazon;
using Amazon.SecurityToken;
using Amazon.SecurityToken.Model;

namespace AssumeRoleExample
{
    class AssumeRole
    {
        /// <summary>
        /// This example shows how to use the AWS Security Token
        /// Service (AWS STS) to assume an IAM role.
        ///
        /// NOTE: It is important that the role that will be assumed has a
        /// trust relationship with the account that will assume the role.
        ///
        /// Before you run the example, you need to create the role you want to
        /// assume and have it trust the IAM account that will assume that role.
        ///
        /// See https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html
        /// for help in working with roles.
        /// </summary>

        // A region property may be used if the profile or credentials loaded do not specify a region,
        // or to use a specific region.
        private static readonly RegionEndpoint REGION = RegionEndpoint.USWest2;

        static async Task Main()
        {
            // Create the SecurityToken client and then display the identity of the
            // default user.
            var roleArnToAssume = "arn:aws:iam::123456789012:role/testAssumeRole";

            var client = new Amazon.SecurityToken.AmazonSecurityTokenServiceClient(REGION);

            // Get and display the information about the identity of the default user.
            var callerIdRequest = new GetCallerIdentityRequest();
            var caller = await client.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"Original Caller: {caller.Arn}");

            // Create the request to use with the AssumeRoleAsync call.
            var assumeRoleReq = new AssumeRoleRequest()
            {
                DurationSeconds = 1600,
                RoleSessionName = "Session1",
                RoleArn = roleArnToAssume
            };

            var assumeRoleRes = await client.AssumeRoleAsync(assumeRoleReq);

            // Now create a new client based on the credentials of the caller assuming the role.
            var client2 = new AmazonSecurityTokenServiceClient(credentials: assumeRoleRes.Credentials, REGION);

            // Get and display information about the caller that has assumed the defined role.
            var caller2 = await client2.GetCallerIdentityAsync(callerIdRequest);
            Console.WriteLine($"AssumedRole Caller: {caller2.Arn}");
        }
    }
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/DotNetSDKV3/sts-2011-06-15/AssumeRole)di *Referensi AWS SDK untuk .NET API*. 

------
#### [ Bash ]

**AWS CLI dengan skrip Bash**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/aws-cli/bash-linux/iam#code-examples). 

```
###############################################################################
# function iecho
#
# This function enables the script to display the specified text only if
# the global variable $VERBOSE is set to true.
###############################################################################
function iecho() {
  if [[ $VERBOSE == true ]]; then
    echo "$@"
  fi
}

###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho() {
  printf "%s\n" "$*" 1>&2
}

###############################################################################
# function sts_assume_role
#
# This function assumes a role in the AWS account and returns the temporary
#  credentials.
#
# Parameters:
#       -n role_session_name -- The name of the session.
#       -r role_arn -- The ARN of the role to assume.
#
# Returns:
#       [access_key_id, secret_access_key, session_token]
#     And:
#       0 - If successful.
#       1 - If an error occurred.
###############################################################################
function sts_assume_role() {
  local role_session_name role_arn response
  local option OPTARG # Required to use getopts command in a function.

  # bashsupport disable=BP5008
  function usage() {
    echo "function sts_assume_role"
    echo "Assumes a role in the AWS account and returns the temporary credentials:"
    echo "  -n role_session_name -- The name of the session."
    echo "  -r role_arn -- The ARN of the role to assume."
    echo ""
  }

  while getopts n:r:h option; do
    case "${option}" in
      n) role_session_name=${OPTARG} ;;
      r) role_arn=${OPTARG} ;;
      h)
        usage
        return 0
        ;;
      \?)
        echo "Invalid parameter"
        usage
        return 1
        ;;
    esac
  done

  response=$(aws sts assume-role \
    --role-session-name "$role_session_name" \
    --role-arn "$role_arn" \
    --output text \
    --query "Credentials.[AccessKeyId, SecretAccessKey, SessionToken]")

  local error_code=${?}

  if [[ $error_code -ne 0 ]]; then
    aws_cli_error_log $error_code
    errecho "ERROR: AWS reports create-role operation failed.\n$response"
    return 1
  fi

  echo "$response"

  return 0
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/aws-cli/sts-2011-06-15/AssumeRole)di *Referensi AWS CLI Perintah*. 

------
#### [ C\$1\$1 ]

**SDK untuk C\$1\$1**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/sts#code-examples). 

```
bool AwsDoc::STS::assumeRole(const Aws::String &roleArn,
                             const Aws::String &roleSessionName,
                             const Aws::String &externalId,
                             Aws::Auth::AWSCredentials &credentials,
                             const Aws::Client::ClientConfiguration &clientConfig) {
    Aws::STS::STSClient sts(clientConfig);
    Aws::STS::Model::AssumeRoleRequest sts_req;

    sts_req.SetRoleArn(roleArn);
    sts_req.SetRoleSessionName(roleSessionName);
    sts_req.SetExternalId(externalId);

    const Aws::STS::Model::AssumeRoleOutcome outcome = sts.AssumeRole(sts_req);

    if (!outcome.IsSuccess()) {
        std::cerr << "Error assuming IAM role. " <<
                  outcome.GetError().GetMessage() << std::endl;
    }
    else {
        std::cout << "Credentials successfully retrieved." << std::endl;
        const Aws::STS::Model::AssumeRoleResult result = outcome.GetResult();
        const Aws::STS::Model::Credentials &temp_credentials = result.GetCredentials();

        // Store temporary credentials in return argument.
        // Note: The credentials object returned by assumeRole differs
        // from the AWSCredentials object used in most situations.
        credentials.SetAWSAccessKeyId(temp_credentials.GetAccessKeyId());
        credentials.SetAWSSecretKey(temp_credentials.GetSecretAccessKey());
        credentials.SetSessionToken(temp_credentials.GetSessionToken());
    }

    return outcome.IsSuccess();
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/SdkForCpp/sts-2011-06-15/AssumeRole)di *Referensi AWS SDK untuk C\$1\$1 API*. 

------
#### [ CLI ]

**AWS CLI**  
**Untuk mengambil peran**  
`assume-role`Perintah berikut mengambil satu set kredensi jangka pendek untuk peran IAM. `s3-access-example`  

```
aws sts assume-role \
    --role-arn arn:aws:iam::123456789012:role/xaccounts3access \
    --role-session-name s3-access-example
```
Output:  

```
{
    "AssumedRoleUser": {
        "AssumedRoleId": "AROA3XFRBF535PLBIFPI4:s3-access-example",
        "Arn": "arn:aws:sts::123456789012:assumed-role/xaccounts3access/s3-access-example"
    },
    "Credentials": {
        "SecretAccessKey": "9drTJvcXLB89EXAMPLELB8923FB892xMFI",
        "SessionToken": "AQoXdzELDDY//////////wEaoAK1wvxJY12r2IrDFT2IvAzTCn3zHoZ7YNtpiQLF0MqZye/qwjzP2iEXAMPLEbw/m3hsj8VBTkPORGvr9jM5sgP+w9IZWZnU+LWhmg+a5fDi2oTGUYcdg9uexQ4mtCHIHfi4citgqZTgco40Yqr4lIlo4V2b2Dyauk0eYFNebHtYlFVgAUj+7Indz3LU0aTWk1WKIjHmmMCIoTkyYp/k7kUG7moeEYKSitwQIi6Gjn+nyzM+PtoA3685ixzv0R7i5rjQi0YE0lf1oeie3bDiNHncmzosRM6SFiPzSvp6h/32xQuZsjcypmwsPSDtTPYcs0+YN/8BRi2/IcrxSpnWEXAMPLEXSDFTAQAM6Dl9zR0tXoybnlrZIwMLlMi1Kcgo5OytwU=",
        "Expiration": "2016-03-15T00:05:07Z",
        "AccessKeyId": "ASIAJEXAMPLEXEG2JICEA"
    }
}
```
Output dari perintah berisi kunci akses, kunci rahasia, dan token sesi yang dapat Anda gunakan untuk AWS mengautentikasi.  
Untuk penggunaan AWS CLI, Anda dapat mengatur profil bernama yang terkait dengan peran. Saat Anda menggunakan profil, AWS CLI akan memanggil peran assume-dan mengelola kredensil untuk Anda. Untuk informasi selengkapnya, lihat [Menggunakan peran IAM di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html) di Panduan Pengguna *AWS CLI*.  
+  Untuk detail API, lihat [AssumeRole](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sts/assume-role.html)di *Referensi AWS CLI Perintah*. 

------
#### [ Java ]

**SDK untuk Java 2.x**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/sts#code-examples). 

```
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.model.AssumeRoleRequest;
import software.amazon.awssdk.services.sts.model.StsException;
import software.amazon.awssdk.services.sts.model.AssumeRoleResponse;
import software.amazon.awssdk.services.sts.model.Credentials;
import java.time.Instant;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

/**
 * To make this code example work, create a Role that you want to assume.
 * Then define a Trust Relationship in the AWS Console. You can use this as an
 * example:
 *
 * {
 * "Version":"2012-10-17",		 	 	 
 * "Statement": [
 * {
 * "Effect": "Allow",
 * "Principal": {
 * "AWS": "<Specify the ARN of your IAM user you are using in this code example>"
 * },
 * "Action": "sts:AssumeRole"
 * }
 * ]
 * }
 *
 * For more information, see "Editing the Trust Relationship for an Existing
 * Role" in the AWS Directory Service guide.
 *
 * Also, set up your development environment, including your credentials.
 *
 * For information, see this documentation topic:
 *
 * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
 */
public class AssumeRole {
    public static void main(String[] args) {
        final String usage = """

                Usage:
                    <roleArn> <roleSessionName>\s

                Where:
                    roleArn - The Amazon Resource Name (ARN) of the role to assume (for example, arn:aws:iam::000008047983:role/s3role).\s
                    roleSessionName - An identifier for the assumed role session (for example, mysession).\s
                """;

        if (args.length != 2) {
            System.out.println(usage);
            System.exit(1);
        }

        String roleArn = args[0];
        String roleSessionName = args[1];
        Region region = Region.US_EAST_1;
        StsClient stsClient = StsClient.builder()
                .region(region)
                .build();

        assumeGivenRole(stsClient, roleArn, roleSessionName);
        stsClient.close();
    }

    public static void assumeGivenRole(StsClient stsClient, String roleArn, String roleSessionName) {
        try {
            AssumeRoleRequest roleRequest = AssumeRoleRequest.builder()
                    .roleArn(roleArn)
                    .roleSessionName(roleSessionName)
                    .build();

            AssumeRoleResponse roleResponse = stsClient.assumeRole(roleRequest);
            Credentials myCreds = roleResponse.credentials();

            // Display the time when the temp creds expire.
            Instant exTime = myCreds.expiration();
            String tokenInfo = myCreds.sessionToken();

            // Convert the Instant to readable date.
            DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT)
                    .withLocale(Locale.US)
                    .withZone(ZoneId.systemDefault());

            formatter.format(exTime);
            System.out.println("The token " + tokenInfo + "  expires on " + exTime);

        } catch (StsException e) {
            System.err.println(e.getMessage());
            System.exit(1);
        }
    }
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/SdkForJavaV2/sts-2011-06-15/AssumeRole)di *Referensi AWS SDK for Java 2.x API*. 

------
#### [ JavaScript ]

**SDK untuk JavaScript (v3)**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/sts#code-examples). 
Buat klien.  

```
import { STSClient } from "@aws-sdk/client-sts";
// Set the AWS Region.
const REGION = "us-east-1";
// Create an AWS STS service client object.
export const client = new STSClient({ region: REGION });
```
Asumsikan peran IAM.  

```
import { AssumeRoleCommand } from "@aws-sdk/client-sts";

import { client } from "../libs/client.js";

export const main = async () => {
  try {
    // Returns a set of temporary security credentials that you can use to
    // access Amazon Web Services resources that you might not normally
    // have access to.
    const command = new AssumeRoleCommand({
      // The Amazon Resource Name (ARN) of the role to assume.
      RoleArn: "ROLE_ARN",
      // An identifier for the assumed role session.
      RoleSessionName: "session1",
      // The duration, in seconds, of the role session. The value specified
      // can range from 900 seconds (15 minutes) up to the maximum session
      // duration set for the role.
      DurationSeconds: 900,
    });
    const response = await client.send(command);
    console.log(response);
  } catch (err) {
    console.error(err);
  }
};
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/sts/command/AssumeRoleCommand)di *Referensi AWS SDK untuk JavaScript API*. 

**SDK untuk JavaScript (v2)**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascript/example_code/sts#code-examples). 

```
// Load the AWS SDK for Node.js
const AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

var roleToAssume = {
  RoleArn: "arn:aws:iam::123456789012:role/RoleName",
  RoleSessionName: "session1",
  DurationSeconds: 900,
};
var roleCreds;

// Create the STS service object
var sts = new AWS.STS({ apiVersion: "2011-06-15" });

//Assume Role
sts.assumeRole(roleToAssume, function (err, data) {
  if (err) console.log(err, err.stack);
  else {
    roleCreds = {
      accessKeyId: data.Credentials.AccessKeyId,
      secretAccessKey: data.Credentials.SecretAccessKey,
      sessionToken: data.Credentials.SessionToken,
    };
    stsGetCallerIdentity(roleCreds);
  }
});

//Get Arn of current identity
function stsGetCallerIdentity(creds) {
  var stsParams = { credentials: creds };
  // Create STS service object
  var sts = new AWS.STS(stsParams);

  sts.getCallerIdentity({}, function (err, data) {
    if (err) {
      console.log(err, err.stack);
    } else {
      console.log(data.Arn);
    }
  });
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/AWSJavaScriptSDK/sts-2011-06-15/AssumeRole)di *Referensi AWS SDK untuk JavaScript API*. 

------
#### [ PowerShell ]

**Alat untuk PowerShell V4**  
**Contoh 1: Mengembalikan satu set kredensi sementara (kunci akses, kunci rahasia, dan token sesi) yang dapat digunakan selama satu jam untuk mengakses AWS sumber daya yang biasanya tidak dapat diakses oleh pengguna yang meminta. Kredensi yang dikembalikan memiliki izin yang diizinkan oleh kebijakan akses dari peran yang diasumsikan dan kebijakan yang diberikan (Anda tidak dapat menggunakan kebijakan yang disediakan untuk memberikan izin melebihi yang ditentukan oleh kebijakan akses peran yang diasumsikan).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Contoh 2: Mengembalikan satu set kredensi sementara, berlaku selama satu jam, yang memiliki izin yang sama yang ditentukan dalam kebijakan akses peran yang diasumsikan.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Contoh 3: Mengembalikan satu set kredensi sementara yang memasok nomor seri dan token yang dihasilkan dari MFA yang terkait dengan kredensi pengguna yang digunakan untuk mengeksekusi cmdlet.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Contoh 4: Mengembalikan satu set kredensi sementara yang telah mengambil peran yang ditentukan dalam akun pelanggan. Untuk setiap peran yang dapat diasumsikan oleh pihak ketiga, akun pelanggan harus membuat peran menggunakan pengidentifikasi yang harus diteruskan dalam ExternalId parameter - setiap kali peran diasumsikan.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/powershell/v4/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V4)*. 

**Alat untuk PowerShell V5**  
**Contoh 1: Mengembalikan satu set kredensi sementara (kunci akses, kunci rahasia, dan token sesi) yang dapat digunakan selama satu jam untuk mengakses AWS sumber daya yang biasanya tidak dapat diakses oleh pengguna yang meminta. Kredensi yang dikembalikan memiliki izin yang diizinkan oleh kebijakan akses dari peran yang diasumsikan dan kebijakan yang diberikan (Anda tidak dapat menggunakan kebijakan yang disediakan untuk memberikan izin melebihi yang ditentukan oleh kebijakan akses peran yang diasumsikan).**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -Policy "...JSON policy..." -DurationInSeconds 3600
```
**Contoh 2: Mengembalikan satu set kredensi sementara, berlaku selama satu jam, yang memiliki izin yang sama yang ditentukan dalam kebijakan akses peran yang diasumsikan.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600
```
**Contoh 3: Mengembalikan satu set kredensi sementara yang memasok nomor seri dan token yang dihasilkan dari MFA yang terkait dengan kredensi pengguna yang digunakan untuk mengeksekusi cmdlet.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -SerialNumber "GAHT12345678" -TokenCode "123456"
```
**Contoh 4: Mengembalikan satu set kredensi sementara yang telah mengambil peran yang ditentukan dalam akun pelanggan. Untuk setiap peran yang dapat diasumsikan oleh pihak ketiga, akun pelanggan harus membuat peran menggunakan pengidentifikasi yang harus diteruskan dalam ExternalId parameter - setiap kali peran diasumsikan.**  

```
Use-STSRole -RoleSessionName "Bob" -RoleArn "arn:aws:iam::123456789012:role/demo" -DurationInSeconds 3600 -ExternalId "ABC123"
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/powershell/v5/reference)di *Referensi Alat AWS untuk PowerShell Cmdlet (V5)*. 

------
#### [ Python ]

**SDK untuk Python (Boto3)**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/sts#code-examples). 
Asumsikan peran IAM yang memerlukan token MFA dan gunakan kredensil sementara untuk mencantumkan bucket Amazon S3 untuk akun tersebut.  

```
def list_buckets_from_assumed_role_with_mfa(
    assume_role_arn, session_name, mfa_serial_number, mfa_totp, sts_client
):
    """
    Assumes a role from another account and uses the temporary credentials from
    that role to list the Amazon S3 buckets that are owned by the other account.
    Requires an MFA device serial number and token.

    The assumed role must grant permission to list the buckets in the other account.

    :param assume_role_arn: The Amazon Resource Name (ARN) of the role that
                            grants access to list the other account's buckets.
    :param session_name: The name of the STS session.
    :param mfa_serial_number: The serial number of the MFA device. For a virtual MFA
                              device, this is an ARN.
    :param mfa_totp: A time-based, one-time password issued by the MFA device.
    :param sts_client: A Boto3 STS instance that has permission to assume the role.
    """
    response = sts_client.assume_role(
        RoleArn=assume_role_arn,
        RoleSessionName=session_name,
        SerialNumber=mfa_serial_number,
        TokenCode=mfa_totp,
    )
    temp_credentials = response["Credentials"]
    print(f"Assumed role {assume_role_arn} and got temporary credentials.")

    s3_resource = boto3.resource(
        "s3",
        aws_access_key_id=temp_credentials["AccessKeyId"],
        aws_secret_access_key=temp_credentials["SecretAccessKey"],
        aws_session_token=temp_credentials["SessionToken"],
    )

    print(f"Listing buckets for the assumed role's account:")
    for bucket in s3_resource.buckets.all():
        print(bucket.name)
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/boto3/sts-2011-06-15/AssumeRole)di *AWS SDK for Python (Boto3) Referensi* API. 

------
#### [ Ruby ]

**SDK untuk Ruby**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby/example_code/iam#code-examples). 

```
  # Creates an AWS Security Token Service (AWS STS) client with specified credentials.
  # This is separated into a factory function so that it can be mocked for unit testing.
  #
  # @param key_id [String] The ID of the access key used by the STS client.
  # @param key_secret [String] The secret part of the access key used by the STS client.
  def create_sts_client(key_id, key_secret)
    Aws::STS::Client.new(access_key_id: key_id, secret_access_key: key_secret)
  end

  # Gets temporary credentials that can be used to assume a role.
  #
  # @param role_arn [String] The ARN of the role that is assumed when these credentials
  #                          are used.
  # @param sts_client [AWS::STS::Client] An AWS STS client.
  # @return [Aws::AssumeRoleCredentials] The credentials that can be used to assume the role.
  def assume_role(role_arn, sts_client)
    credentials = Aws::AssumeRoleCredentials.new(
      client: sts_client,
      role_arn: role_arn,
      role_session_name: 'create-use-assume-role-scenario'
    )
    @logger.info("Assumed role '#{role_arn}', got temporary credentials.")
    credentials
  end
```
+  Untuk detail API, lihat [AssumeRole](https://docs.aws.amazon.com/goto/SdkForRubyV3/sts-2011-06-15/AssumeRole)di *Referensi AWS SDK untuk Ruby API*. 

------
#### [ Rust ]

**SDK for Rust**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1/examples/sts/#code-examples). 

```
async fn assume_role(config: &SdkConfig, role_name: String, session_name: Option<String>) {
    let provider = aws_config::sts::AssumeRoleProvider::builder(role_name)
        .session_name(session_name.unwrap_or("rust_sdk_example_session".into()))
        .configure(config)
        .build()
        .await;

    let local_config = aws_config::from_env()
        .credentials_provider(provider)
        .load()
        .await;
    let client = Client::new(&local_config);
    let req = client.get_caller_identity();
    let resp = req.send().await;
    match resp {
        Ok(e) => {
            println!("UserID :               {}", e.user_id().unwrap_or_default());
            println!("Account:               {}", e.account().unwrap_or_default());
            println!("Arn    :               {}", e.arn().unwrap_or_default());
        }
        Err(e) => println!("{:?}", e),
    }
}
```
+  Untuk detail API, lihat [AssumeRole](https://docs.rs/aws-sdk-sts/latest/aws_sdk_sts/client/struct.Client.html#method.assume_role)*referensi AWS SDK for Rust API*. 

------
#### [ Swift ]

**SDK para Swift**  
 Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di [Repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift/example_code/iam#code-examples). 

```
import AWSSTS

    public func assumeRole(role: IAMClientTypes.Role, sessionName: String)
        async throws -> STSClientTypes.Credentials
    {
        let input = AssumeRoleInput(
            roleArn: role.arn,
            roleSessionName: sessionName
        )
        do {
            let output = try await stsClient.assumeRole(input: input)

            guard let credentials = output.credentials else {
                throw ServiceHandlerError.authError
            }

            return credentials
        } catch {
            print("Error assuming role: ", dump(error))
            throw error
        }
    }
```
+  Untuk detail API, lihat referensi [AssumeRole AWS](https://sdk.amazonaws.com/swift/api/awssts/latest/documentation/awssts/stsclient/assumerole(input:))*SDK untuk Swift API*. 

------