Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kunci akses aman
Siapa pun yang memiliki kunci akses Anda memiliki tingkat akses yang sama ke AWS sumber daya Anda dengan yang Anda miliki. Akibatnya, AWS berusaha keras untuk melindungi kunci akses Anda, dan, sesuai dengan model tanggung jawab bersama kami
Perluas bagian berikut untuk panduan untuk membantu Anda melindungi kunci akses Anda.
catatan
Organisasi Anda mungkin memiliki persyaratan dan kebijakan keamanan yang berbeda dari yang dijelaskan dalam topik ini. Saran yang diberikan di sini dimaksudkan sebagai pedoman umum.
Salah satu cara terbaik untuk melindungi akun Anda adalah dengan tidak memiliki kunci akses untuk Anda Pengguna root akun AWS. Kecuali Anda harus memiliki kunci akses pengguna root (yang jarang terjadi), yang terbaik adalah tidak membuatnya. Sebagai gantinya, buat pengguna administratif AWS IAM Identity Center untuk tugas administrasi harian. Untuk informasi tentang cara membuat pengguna administratif di Pusat Identitas IAM, lihat Mem ulai di Panduan Pengguna Pusat Identitas IAM.
Jika Anda sudah memiliki kunci akses pengguna root untuk akun Anda, kami sarankan hal berikut: Temukan tempat di aplikasi tempat Anda saat ini menggunakan kunci akses (jika ada), dan ganti kunci akses pengguna root dengan kunci akses pengguna IAM. Kemudian nonaktifkan dan hapus kunci akses pengguna root. Untuk informasi selengkapnya tentang cara memperbarui kunci akses, lihat Perbarui kunci akses
Dalam banyak skenario, Anda tidak memerlukan access key jangka panjang yang tidak pernah kedaluwarsa (seperti yang Anda lakukan dengan pengguna IAM). Sebagai gantinya, Anda dapat membuat IAM role dan membuat kredensial keamanan sementara. Kredensial keamanan sementara terdiri dari access key ID dan secret access key, tetapi mereka juga menyertakan token keamanan yang menunjukkan kapan kredensial kedaluwarsa.
Long-term kunci akses, seperti yang terkait dengan pengguna IAM dan pengguna root, tetap valid hingga Anda mencabutnya secara manual. Namun, kredenSIAL keamanan sementara yang diperoleh melalui peran IAM dan fitur lainnya akan AWS Security Token Service kedaluwarsa setelah periode waktu yang singkat. Gunakan kredensial keamanan sementara untuk membantu mengurangi risiko Anda jika kredensial terekspos secara tidak sengaja.
Gunakan IAM role dan kredensial keamanan sementara dalam skenario berikut:
-
Anda memiliki aplikasi atau AWS CLI skrip yang berjalan di instans Amazon EC2. Jangan gunakan kunci akses langsung di aplikasi Anda. Jangan memberikan access key ke aplikasi, menyematkannya di aplikasi, atau membiarkan aplikasi membaca access key dari sumber mana pun. Sebagai gantinya, tentukan peran IAM yang memiliki izin yang sesuai untuk aplikasi Anda dan luncurkan instans Amazon Elastic Compute Cloud (Amazon EC2) dengan peran untuk EC2. Melakukan hal ini akan mengaitkan IAM role dengan instans Amazon EC2. Praktik ini juga memungkinkan aplikasi untuk mendapatkan kredenSIAL keamanan sementara yang pada gilirannya dapat digunakan untuk melakukan panggilan terprogram. AWS AWS SDK dan AWS Command Line Interface (AWS CLI) dapat memperoleh kredenSIAL sementara dari peran secara otomatis.
-
Anda perlu memberikan akses lintas akun. Gunakan IAM role untuk membangun kepercayaan antar akun, lalu berikan izin terbatas kepada pengguna dalam satu akun untuk mengakses akun tepercaya. Untuk informasi selengkapnya, lihat Tutorial IAM: Delegasikan akses di seluruh AWS akun yang menggunakan peran IAM.
-
Anda memiliki aplikasi seluler. Jangan menyematkan kunci akses dengan aplikasi, bahkan di penyimpanan terenkripsi. Sebagai gantinya, gunakan Amazon Cognito
untuk mengelola identitas pengguna di aplikasi Anda. Layanan ini memungkinkan Anda mengautentikasi pengguna menggunakan Login with Amazon, Facebook, Google, atau penyedia identitas yang kompatibel dengan OpenID Connect (OIDC). Anda kemudian dapat menggunakan penyedia kredensial Amazon Cognito untuk mengelola kredensial yang digunakan aplikasi Anda untuk membuat permintaan ke AWS. -
Anda ingin bergabung AWS dan organisasi Anda mendukung SAML 2.0. Jika Anda bekerja untuk organisasi yang memiliki penyedia identitas yang mendukung SAML 2.0, konfigurasi penyedia untuk menggunakan SAML. Anda dapat menggunakan SAML untuk bertukar informasi otentikasi dengan AWS dan mendapatkan kembali satu set kredenSIAL keamanan sementara. Untuk informasi selengkapnya, lihat Federasi SAML 2.0.
-
Anda ingin menyatukan ke dalam AWS dan organisasi Anda memiliki penyimpanan identitas lokal. Jika pengguna dapat melakukan otentikasi di dalam organisasi Anda, Anda dapat menulis aplikasi yang dapat menerbitkan kredenSIAL keamanan sementara untuk akses ke AWS sumber daya. Untuk informasi selengkapnya, lihat Aktifkan akses broker identitas khusus ke AWS konsol.
-
Gunakan kondisi dalam kebijakan IAM untuk hanya mengizinkan akses dari jaringan yang diharapkan. Anda dapat membatasi di mana dan bagaimana kunci akses Anda digunakan dengan menerapkan kebijakan IAM dengan kondisi yang menentukan dan hanya mengizinkan jaringan yang diharapkan, seperti alamat IP publik atau Virtual Private Cloud (VPC). Dengan cara ini Anda tahu kunci akses hanya dapat digunakan dari jaringan yang diharapkan dan dapat diterima.
catatan
Apakah Anda menggunakan instans Amazon EC2 dengan aplikasi yang memerlukan akses terprogram ke sumber daya? AWS Jika demikian, gunakan peran IAM untuk EC 2.
Jika Anda harus membuat kunci akses untuk akses terprogram AWS, buat kunci tersebut untuk pengguna IAM, berikan pengguna hanya izin yang mereka butuhkan.
Perhatikan tindakan pencegahan berikut untuk membantu melindungi kunci akses pengguna IAM:
-
Jangan menyematkan kunci akses langsung ke dalam kode. AWS SDK
dan Alat Baris AWS Perintah memungkinkan Anda untuk menempatkan kunci akses di lokasi yang diketahui sehingga Anda tidak perlu menyimpannya dalam kode. Letakkan access key di salah satu lokasi berikut:
-
File AWS kredenSIAL. AWS SDK dan AWS CLI secara otomatis menggunakan kredenSIAL yang Anda simpan di file AWS kredenSIAL.
Untuk informasi tentang menggunakan file AWS kredensional, lihat dokumentasi untuk SDK Anda. Contohnya termasuk Tet apkan Kre AWS denSIAL dan Wilayah di Panduan AWS SDK for Java Pengembang dan file Konfigurasi dan kreden SIAL di Panduan AWS Command Line Interface Pengguna.
Untuk menyimpan kredenSIAL untuk AWS SDK for .NET dan AWS Tools for Windows PowerShell, kami sarankan Anda menggunakan SDK Store. Untuk informasi selengkapnya, lihat Menggunakan Penyimpanan SDK di Panduan Developer AWS SDK for .NET .
-
Variabel lingkungan. Pada sistem multi-tenant, pilih variabel lingkungan pengguna, bukan variabel lingkungan sistem.
Untuk informasi selengkapnya tentang menggunakan variabel lingkungan untuk menyimpan kredensial, lihat Variabel Lingkungan di Panduan Pengguna AWS Command Line Interface .
-
-
Gunakan tombol akses yang berbeda untuk aplikasi yang berbeda. Lakukan ini sehingga Anda dapat mengisolasi izin dan mencabut kunci akses untuk aplikasi individual jika mereka terbuka. Memiliki kunci akses terpisah untuk aplikasi yang berbeda juga menghasilkan entri yang berbeda dalam file AWS CloudTrail
log. Konfigurasi ini memudahkan Anda untuk menentukan aplikasi mana yang melakukan tindakan tertentu. -
Perbarui kunci akses saat diperlukan. Jika ada risiko bahwa kunci akses dapat dikompromikan, perbarui kunci akses dan hapus kunci akses sebelumnya. Untuk detailnya, lihat Perbarui kunci akses
-
Hapus kunci akses yang tidak digunakan. Jika pengguna keluar dari organisasi Anda, hapus pengguna IAM yang sesuai sehingga pengguna tidak dapat lagi mengakses sumber daya Anda. Untuk mengetahui kapan kunci akses terakhir digunakan, gunakan
GetAccessKeyLastUsedAPI (AWS CLI command:aws iam get-access-key-last-used). -
Gunakan kredentif sementara dan konfigurasikan otentikasi multi-faktor untuk operasi API Anda yang paling sensitif. Dengan kebijakan IAM, Anda dapat menentukan operasi API mana yang diizinkan untuk dipanggil oleh pengguna. Dalam beberapa kasus, Anda mungkin menginginkan keamanan tambahan yang mengharuskan pengguna diautentikasi dengan AWS MFA sebelum Anda mengizinkan mereka melakukan tindakan yang sangat sensitif. Misalnya, Anda mungkin memiliki kebijakan yang memungkinkan pengguna untuk melakukan Amazon EC2
RunInstances,DescribeInstances, danStopInstances. Tetapi Anda mungkin ingin membatasi tindakan destruktif sepertiTerminateInstancesdan memastikan bahwa pengguna dapat melakukan tindakan itu hanya jika mereka melakukan otentikasi dengan perangkat AWS MFA. Untuk informasi selengkapnya, lihat Akses API aman dengan MFA.
Anda dapat mengakses serangkaian AWS layanan dan fitur terbatas menggunakan aplikasi AWS seluler. Aplikasi seluler membantu Anda mendukung respons insiden saat bepergian. Untuk informasi selengkapnya dan untuk mengunduh aplikasi, lihat AWS Console Mobile Application
Anda dapat masuk ke aplikasi seluler menggunakan kata sandi konsol atau access key Anda. Sebagai praktik terbaik, jangan gunakan access key pengguna root. Sebagai gantinya, kami sangat menyarankan agar selain menggunakan kata sandi atau kunci biometrik di perangkat seluler Anda, Anda membuat pengguna IAM khusus untuk mengelola AWS sumber daya menggunakan aplikasi seluler. Jika perangkat seluler hilang, Anda dapat menghapus akses pengguna IAM.
Untuk masuk menggunakan access key (aplikasi seluler)
-
Buka aplikasi di perangkat seluler Anda.
-
Jika ini pertama kalinya Anda menambahkan identitas ke perangkat, pilih Add an identity (Tambahkan identitas), lalu pilih Access key.
Jika Anda telah masuk menggunakan identitas lain, pilih ikon menu dan pilih Switch identity (Ganti identitas). Kemudian pilih Sign in as a different identity (Masuk sebagai identitas yang berbeda), lalu Access key.
-
Di halaman Access key, masukkan informasi Anda:
-
Access key ID – Masukkan access key ID Anda.
-
Secret access key – Masukkan secret access key Anda.
-
Nama identitas – Masukkan nama identitas yang akan muncul di aplikasi seluler. Ini tidak harus cocok dengan nama pengguna IAM Anda.
-
PIN Identitas – Buat nomor identifikasi pribadi (PIN) yang akan Anda gunakan untuk masuk di masa mendatang.
catatan
Jika Anda mengaktifkan biometrik untuk aplikasi AWS seluler, Anda akan diminta untuk menggunakan sidik jari atau pengenalan wajah untuk verifikasi, bukan PIN. Jika biometrik gagal, Anda mungkin diminta memasukkan PIN.
-
-
Pilih Verify and add keys (Verifikasi dan tambahkan kunci).
Sekarang Anda dapat mengakses set sumber daya tertentu menggunakan aplikasi seluler.
Topik berikut memberikan panduan untuk menyiapkan AWS SDK dan penggunaan AWS CLI kunci akses:
-
Tetapkan AWS kredenSIAL dan Wilayah di Panduan AWS SDK for Java Pengembang
-
Menggunakan SDK Store di Panduan Peng AWS SDK for .NET embang
-
Menyediakan KredenSIAL ke SDK di Panduan AWS SDK untuk PHP Pengembang
-
Konfigur asi dalam dokumentasi Boto 3 (AWS SDK untuk Python)
-
Menggunakan AWS KredenSIAL dalam Panduan AWS Tools for Windows PowerShell Pengguna
-
Konfigurasi dan file kreden si dalam Panduan AWS Command Line Interface Pengguna
-
Memberikan akses menggunakan peran IAM di Panduan Peng AWS SDK for .NET embang
-
Konfigurasikan peran IAM untuk Amazon EC2 di AWS SDK for Java 2.x
Menggunakan kunci akses dan kredentif kunci rahasia untuk akses konsol
Dimungkinkan untuk menggunakan kunci akses dan kredentif kunci rahasia untuk Konsol Manajemen AWS
akses langsung, bukan hanya AWS CLI. Ini dapat dicapai dengan menggunakan panggilan AWS STS GetFederationToken API. Dengan membuat URL konsol menggunakan kredenSIAL sementara dan token yang disediakan olehGetFederationToken, kepala IAM dapat mengakses konsol. Untuk informasi selengkapnya, lihat Aktifkan akses broker identitas khusus ke AWS konsol.
Perlu diklarifikasi bahwa ketika masuk ke konsol secara langsung menggunakan kredenSIAL pengguna IAM atau root dengan MFA diaktifkan, MFA akan diperlukan. Namun, jika metode yang dijelaskan di atas (menggunakan kredenSIAL sementara denganGetFederationToken) digunakan, MFA TIDAK akan diperlukan.
Mengaudit access key
Anda dapat meninjau kunci AWS akses dalam kode Anda untuk menentukan apakah kunci tersebut berasal dari akun yang Anda miliki. Anda dapat meneruskan ID kunci akses menggunakan aws sts
get-access-key-info AWS CLI perintah atau operasi GetAccessKeyInfo AWS API.
Oper AWS asi AWS CLI dan API mengembalikan ID dari kunci Akun AWS akses yang dimiliki. ID kunci akses yang dimulai dengan AKIA adalah kredenSIAL jangka panjang untuk pengguna IAM atau. Pengguna root akun AWS ID kunci akses yang dimulai dengan ASIA adalah kredenSIAL sementara yang dibuat menggunakan AWS STS operasi. Jika akun dalam tanggapan ini adalah milik Anda, Anda dapat masuk sebagai pengguna utama dan meninjau kunci akses pengguna utama Anda. Lalu, Anda dapat menarik laporan kredensial untuk mempelajari pengguna IAM mana yang memilikinya. Untuk mempelajari siapa yang meminta kredentif sementara untuk kunci ASIA akses, lihat AWS STS peristiwa di CloudTrail log Anda.
Untuk tujuan keamanan, Anda dapat meninjau AWS CloudTrail log untuk mengetahui siapa yang melakukan tindakan di AWS. Anda dapat menggunakan kunci syarat sts:SourceIdentity dalam peran kebijakan kepercayaan untuk mengharuskan pengguna menentukan identias saat mereka mengasumsikan sebuah peran. Misalnya, Anda dapat meminta agar pengguna IAM menentukan nama pengguna mereka sendiri sebagai identitas sumber mereka. Ini dapat membantu Anda menentukan pengguna mana yang melakukan tindakan tertentu di AWS. Untuk informasi selengkapnya, lihat sts:SourceIdentity.
Operasi ini tidak menunjukkan status access key. Kuncinya mungkin aktif, tidak aktif, atau dihapus. Kunci aktif mungkin tidak memiliki izin untuk melakukan operasi. Memberikan access key yang dihapus mungkin akan kembali sebagai kesalahan bahwa kunci tidak ada.