Bisakah Anda memerlukan MFA untuk akun AWS IAM?

23

Apakah mungkin untuk meminta Otentikasi Multi Faktor (MFA) diaktifkan untuk spesifik / semua akun IAM di Amazon Web Services?

Ada opsi untuk persyaratan kata sandi dan jelas bagaimana seseorang dapat memilih untuk menambahkannya ke akun seseorang, tetapi tidak jelas apakah ada opsi untuk memaksa pengguna memiliki MFA.

Joe
sumber
Kebijakan IAM yang mensyaratkan MFA untuk sebagian besar tindakan: docs.aws.amazon.com/IAM/latest/UserGuide/…
Simon Woodside

Jawaban:

13

Jawabannya adalah ya, ada. Dengan menggunakan suatu kondisi. Misalnya, untuk akun admin:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

Ini akan menegakkan MFA untuk otentikasi kata sandi dan otentikasi berbasis token menggunakan API.

smad
sumber
6
Melakukannya dengan cara ini akan membutuhkannya untuk akses Konsol & API; apakah mungkin untuk meminta akses Konsol saja ?
jeffbyrnes
Tidak ada ide. Saya tahu itu menyebalkan untuk API (CLI) karena MFA tidak didukung dengan baik. BTW Saya tidak benar-benar melihat titik pengaturan keamanan yang lebih kuat jika itu adalah cara untuk memotongnya dengan menggunakan metode akses lain.
smad
3
@smad Saya pikir intinya adalah bahwa kredensial token akan dibuat secara otomatis dan disimpan pada hard-drive pengguna sehingga satu-satunya vektor serangan mendapatkannya dari komputer pengguna, baik melalui malware, mencuri komputer, dll. Kata sandi pada sisi lain mungkin lemah atau digunakan kembali di situs lain, jadi ada vektor serangan tambahan yang memaksa atau mendapatkannya dari dump kata sandi dari situs yang diretas. Kebijakan kata sandi dapat membantu tetapi sulit untuk mencegah ppl misalnya menggunakan kata kamus dengan hanya saya diganti dengan 1 atau!
danny
@jeffbyrnes Ketika Anda mengaktifkan pengguna untuk MFA, ini secara default hanya diaktifkan untuk akses konsol. Anda kemudian harus menggunakan kebijakan IAM seperti ini untuk menentukan tindakan API / CLI yang diperlukan MFA, jika ada.
SeanFromIT
1
Saya tidak yakin ini berfungsi lagi - setidaknya, kecuali saya tidak menerapkannya dengan benar! (sebagai kebijakan baru, ditugaskan ke grup Administrator). Administrator baru & yang ada di akun saya dapat masuk tanpa harus menyiapkan MFA.
Tim Malone
8

Setelah sedikit melihat-lihat, nampaknya jawabannya adalah "agak". Di IAM, seorang administrator dapat mengkonfigurasi MFA untuk pengguna IAM lainnya. Meskipun ini mungkin sedikit rumit jika Anda mengatur MFA virtual, itu mungkin. Kemudian, jika pengguna belum diberikan izin untuk memperbarui / menghapus MFA mereka, itu diperlukan secara efektif.

Meskipun saya belum menentukan daftar lengkap tindakan yang harus ditolak (atau tidak diberikan), posting ini tampaknya memiliki informasi, dan saya akan memperbarui jawaban ini setelah saya mengujinya.

[Memperbarui]

Saya dapat mengatur pengguna sebagai pengguna-daya (sehingga tidak memberi mereka akses ke fungsi IAM, meskipun saya yakin Anda bisa mendapatkan lebih banyak rincian), dan mengimplementasikan MFA mereka bersama mereka. Dengan menggunakan metodologi ini, mereka tidak akan dapat menonaktifkannya.

Joe
sumber
1
Anda tahu apakah mungkin untuk membiarkan pengguna IAM mengatur MFA sendiri?
iring
Jika ya, saya belum menemukan jalannya.
Joe
2
@MattTagg ya itu mungkin, lihat docs.aws.amazon.com/IAM/latest/UserGuide/…
dasil003
1

Ya, Anda dapat meminta akun MFA untuk IAM baik untuk konsol web, dan untuk awsclibaris perintah. Faktanya, tidak mungkin untuk membutuhkan MFA untuk konsol web andal tidak memerlukannya untuk awsclibaris perintah, karena keduanya mengenai API yang sama. Saya katakan 'andal' karena dengan kebijakan IAM yang kompleks dimungkinkan untuk memungkinkan beberapa awsclioperasi tanpa MFA sambil menegakkan MFA untuk konsol web. Namun, hasilnya agak tidak dapat diprediksi, dan selain itu, kunci IAM sama jika tidak lebih berbahaya tanpa perlindungan. Rekomendasi saya adalah mewajibkannya untuk keduanya, dan kemudian mungkin membuat kunci yang tidak terlindungi untuk penggunaan khusus di mana MFA benar-benar kontraindikasi. Untuk proses otomatis, peran akan menjadi pilihan yang lebih baik secara umum.

Untuk membuat operasi MFA pada baris perintah lebih mudah, saya telah membuat satu set skrip bash dan contoh kebijakan penegakan MFA yang dibuat dengan hati-hati yang membuatnya mudah untuk melampirkan / melepaskan vMFAd, dan untuk memulai dan mengelola sesi MFA. Mereka bekerja pada varian macOS dan Linux, tetapi kemungkinan tidak pada Windows (tidak diuji).

Ville
sumber
0

Sepertinya tidak. Tampaknya akun MFA untuk IAM adalah opsional, walaupun Anda sebaiknya memposting ke Forum Dukungan AWS untuk jawaban yang resmi.

Tom O'Connor
sumber
Terima kasih atas tautannya, tetapi ini menjawab pertanyaan yang berbeda tentang kapan MFA akan diperlukan setelah diaktifkan. Pertanyaan ini adalah tentang apakah pemberdayaan dapat ditegakkan.
Joe
0

Kami mendokumentasikan beberapa pertimbangan untuk multifaktor AWS API secara umum (tempat untuk menambahkan persyaratan, apa implikasinya, dll.) Dalam dokumentasi untuk beberapa perkakas khusus ( https://github.com/kreuzwerker/awsu ) yang kami kembangkan untuk menggunakan Yubikeys sebagai sumber untuk token TOTP. Ini membuat bekerja dengan peran dan kredensial jangka panjang + token sesi cukup mudah.

menguap
sumber