Kunci akses aman - AWS Identity and Access Management

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 seperti yang Anda lakukan. Akibatnya, AWS berupaya keras untuk melindungi kunci akses Anda, dan, sesuai dengan model tanggung jawab bersama kami, Anda juga harus melakukannya.

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 administratif harian.Untuk informasi tentang cara membuat pengguna administratif di Pusat Identitas IAM, lihat Memulai di Panduan Pengguna Pusat Identitas IAM.

Jika Anda sudah memiliki kunci akses pengguna root untuk akun Anda, kami sarankan yang berikut: Temukan tempat di aplikasi Anda di mana 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.

Kunci akses jangka panjang, seperti yang terkait dengan pengguna IAM dan pengguna root, tetap valid sampai Anda mencabutnya secara manual. Namun, kredensi keamanan sementara yang diperoleh melalui peran IAM dan fitur lain dari 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 EC2 instans Amazon. 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 instance Amazon Elastic Compute Cloud (Amazon EC2) dengan peran untuk. EC2 Melakukan hal ini mengaitkan peran IAM dengan instans Amazon EC2 . Praktik ini juga memungkinkan aplikasi untuk mendapatkan kredensi keamanan sementara yang pada gilirannya dapat digunakan untuk melakukan panggilan terprogram. AWS The AWS SDKs and the AWS Command Line Interface (AWS CLI) bisa mendapatkan kredensi 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 IAMtutorial: Delegasikan akses di seluruh AWS akun 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 ke dalam AWS dan organisasi Anda mendukung SAFL 2.0. Jika Anda bekerja untuk organisasi yang memiliki penyedia identitas yang mendukung SAML 2.0, konfigurasi penyedia untuk menggunakan SAML. Anda dapat menggunakan SALL untuk bertukar informasi otentikasi dengan AWS dan mendapatkan kembali satu set kredensi keamanan sementara. Untuk informasi selengkapnya, lihat Federasi SAML 2.0.

  • Anda ingin bergabung ke dalam AWS dan organisasi Anda memiliki toko identitas lokal. Jika pengguna dapat mengautentikasi di dalam organisasi Anda, Anda dapat menulis aplikasi yang dapat mengeluarkan kredensi keamanan sementara untuk akses ke sumber daya. AWS 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 Clouds (VPCs). Dengan cara ini Anda tahu kunci akses hanya dapat digunakan dari jaringan yang diharapkan dan dapat diterima.

catatan

Apakah Anda menggunakan EC2 instans Amazon dengan aplikasi yang memerlukan akses terprogram ke AWS sumber daya? Jika demikian, gunakan peran IAM untuk EC2.

Jika Anda harus membuat kunci akses untuk akses terprogram AWS, buat mereka untuk pengguna IAM, memberikan pengguna hanya izin yang mereka butuhkan.

Perhatikan tindakan pencegahan ini untuk membantu melindungi kunci akses pengguna IAM:

  • Jangan menanamkan kunci akses langsung ke kode. Alat AWS SDKsdan 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 kredensialnya. Itu AWS SDKs dan secara AWS CLI otomatis menggunakan kredensil yang Anda simpan di file AWS kredensial.

      Untuk informasi tentang menggunakan file AWS kredensial, lihat dokumentasi untuk SDK Anda. Contohnya termasuk Set AWS Credentials dan Region dalam Panduan AWS SDK for Java Pengembang dan Konfigurasi dan file kredensi di Panduan Pengguna.AWS Command Line Interface

      Untuk menyimpan kredensil 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 diekspos. Memiliki kunci akses terpisah untuk aplikasi yang berbeda juga menghasilkan entri yang berbeda dalam file AWS CloudTraillog. Konfigurasi ini memudahkan Anda untuk menentukan aplikasi mana yang melakukan tindakan tertentu.

  • Perbarui tombol akses bila 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 kredenal sementara dan konfigurasikan autentikasi 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 menjalankan Amazon EC2 RunInstancesDescribeInstances, dan StopInstances tindakan. 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. Untuk informasi selengkapnya, lihat APIAkses 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 bahwa selain menggunakan kata sandi atau kunci biometrik pada 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)
  1. Buka aplikasi di perangkat seluler Anda.

  2. 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.

  3. 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.

  4. 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 SDKs dan AWS CLI menggunakan kunci akses:

Menggunakan kunci akses dan kredensil kunci rahasia untuk akses konsol

Dimungkinkan untuk menggunakan kunci akses dan kredenal kunci rahasia untuk AWS Management Console akses langsung, bukan hanya. AWS CLI Ini dapat dicapai dengan menggunakan panggilan AWS STS GetFederationTokenAPI. Dengan membuat URL konsol menggunakan kredensi sementara dan token yang disediakan olehGetFederationToken, prinsipal 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 IAM atau kredenal pengguna root dengan MFA diaktifkan, MFA akan diperlukan. Namun, jika metode yang dijelaskan di atas (menggunakan kredensil 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.

Operasi AWS CLI dan AWS API mengembalikan ID dari Akun AWS kunci akses milik. Kunci akses yang IDs dimulai dengan AKIA adalah kredensil jangka panjang untuk pengguna IAM atau. Pengguna root akun AWS Kunci akses yang IDs dimulai dengan ASIA adalah kredensil 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 mengetahui siapa yang meminta kredensi sementara untuk kunci ASIA akses, lihat AWS STS peristiwa di log Anda CloudTrail .

Untuk tujuan keamanan, Anda dapat meninjau AWS CloudTrail log untuk mengetahui siapa yang melakukan tindakan 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.