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 IAM Identitas, lihat Memulai di Panduan Pengguna Pusat IAM Identitas.

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 IAM pengguna. 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 kunci akses jangka panjang yang tidak pernah kedaluwarsa (seperti yang Anda miliki dengan IAM pengguna). Sebagai gantinya, Anda dapat membuat IAM peran dan menghasilkan kredensil 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 IAM pengguna dan pengguna root, tetap valid sampai Anda mencabutnya secara manual. Namun, kredensi keamanan sementara yang diperoleh melalui IAM peran 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 peran dan kredensi 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 IAM peran yang memiliki izin yang sesuai untuk aplikasi Anda dan luncurkan instance Amazon Elastic Compute Cloud EC2 (Amazon) dengan peran untuk. EC2 Melakukan hal ini mengaitkan IAM peran dengan EC2 instans Amazon. 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 peran 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 IAM peran.

  • 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 OIDC Connect (). 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, konfigurasikan penyedia untuk digunakanSAML. Anda dapat menggunakan SAML untuk bertukar informasi otentikasi dengan AWS dan mendapatkan kembali satu set kredensi keamanan sementara. Untuk informasi selengkapnya, lihat SAML2.0 federasi.

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

catatan

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

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

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

  • 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 file Anda. SDK 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 Store. SDK Untuk informasi selengkapnya, lihat Menggunakan SDK Toko di Panduan AWS SDK for .NET Pengembang.

    • 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 meninggalkan organisasi Anda, hapus IAM pengguna yang sesuai sehingga pengguna tidak dapat lagi mengakses sumber daya Anda. Untuk mengetahui kapan kunci akses terakhir digunakan, gunakan GetAccessKeyLastUsedAPI(AWS CLI perintah: aws iam get-access-key-last-used).

  • Gunakan kredensi sementara dan konfigurasikan otentikasi multi-faktor untuk operasi Anda yang paling sensitif. API Dengan IAM kebijakan, Anda dapat menentukan API operasi mana yang diizinkan untuk dipanggil oleh pengguna. Dalam beberapa kasus, Anda mungkin menginginkan keamanan tambahan yang mengharuskan pengguna diautentikasi 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 IAM pengguna khusus untuk mengelola AWS sumber daya menggunakan aplikasi seluler. Jika Anda kehilangan perangkat seluler, Anda dapat menghapus akses IAM pengguna.

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 perlu cocok dengan nama IAM pengguna Anda.

    • Identitas PIN — Buat nomor identifikasi pribadi (PIN) yang akan Anda gunakan untuk login 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 untuk melakukannya. 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:

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 GetAccessKeyInfo AWS APIoperasi.

AWS APIOperasi AWS CLI dan mengembalikan ID dari Akun AWS kunci akses milik. Kunci akses yang IDs dimulai dengan AKIA adalah kredensil jangka panjang untuk IAM pengguna 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. Kemudian, Anda dapat menarik laporan kredensil untuk mempelajari IAM pengguna mana yang memiliki kunci. 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 IAM pengguna 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.