คุณต้องการ MFA สำหรับบัญชี AWS IAM ได้หรือไม่?


23

เป็นไปได้หรือไม่ที่จะต้องเปิดใช้งานการรับรองความถูกต้องด้วยหลายปัจจัย (MFA) สำหรับบัญชี IAM เฉพาะ / ทั้งหมดใน Amazon Web Services

มีตัวเลือกสำหรับข้อกำหนดของรหัสผ่านและเป็นที่ชัดเจนว่าสามารถเลือกเพิ่มลงในบัญชีของตนได้อย่างไร แต่ก็ไม่ชัดเจนหากมีตัวเลือกในการบังคับให้ผู้ใช้มี MFA


นโยบาย IAM ที่ต้องใช้ MFA สำหรับการดำเนินการส่วนใหญ่: docs.aws.amazon.com/IAM/latest/UserGuide/…
Simon Woodside

คำตอบ:


13

คำตอบคือใช่มี โดยการใช้เงื่อนไข ตัวอย่างเช่นสำหรับบัญชีผู้ดูแลระบบ:

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

มันจะบังคับใช้ MFA สำหรับการตรวจสอบรหัสผ่านและการรับรองความถูกต้องตามโทเค็นโดยใช้ API


6
การทำเช่นนี้จะต้องใช้ทั้งการเข้าถึงคอนโซลและ API มันจะเป็นไปได้ที่จะต้องใช้มันเพื่อการเข้าถึงคอนโซลเท่านั้น ?
jeffbyrnes

ไม่มีความเห็น. ฉันรู้ว่ามันน่ารำคาญสำหรับ API (CLI) เนื่องจาก MFA ไม่ได้รับการสนับสนุน BTW ฉันไม่เห็นจุดของการตั้งค่าความปลอดภัยที่แข็งแกร่งถ้าเป็นวิธีที่จะข้ามมันโดยใช้วิธีการเข้าถึงอื่น
Smad

3
@smad ฉันคิดว่าประเด็นก็คือว่าข้อมูลประจำตัวของโทเค็นจะถูกสร้างขึ้นโดยอัตโนมัติและเก็บไว้ในฮาร์ดไดรฟ์ของผู้ใช้ดังนั้นเวกเตอร์การโจมตีเพียงอันเดียวที่ได้มาจากคอมพิวเตอร์ของผู้ใช้ไม่ว่าจะผ่านทางมัลแวร์ขโมยคอมพิวเตอร์ ฯลฯ ในทางกลับกันอาจจะอ่อนแอหรือถูกใช้ซ้ำในไซต์อื่น ๆ ดังนั้นจึงมีการโจมตีแบบเวกเตอร์เพิ่มเติมของการบังคับให้เดรัจฉานหรือรับมันจากการถ่ายโอนข้อมูลรหัสผ่านจากไซต์ที่ถูกแฮ็ก นโยบายรหัสผ่านสามารถช่วยได้ แต่ก็ยากที่จะป้องกัน ppl เช่นการใช้คำในพจนานุกรมที่มีเพียง i ที่แทนที่ด้วย 1 หรือ!
แดนนี

@jeffbyrnes เมื่อคุณเปิดใช้งานผู้ใช้สำหรับ MFA นี่เป็นค่าเริ่มต้นที่เปิดใช้งานสำหรับการเข้าถึงคอนโซลเท่านั้น จากนั้นคุณต้องใช้นโยบาย IAM เช่นนี้เพื่อกำหนดการกระทำของ API / CLI ที่ต้องใช้กับ MFA หากมี
SeanFromIT

1
ฉันไม่แน่ใจว่านี่จะใช้งานได้อีก - อย่างน้อยถ้าฉันไม่ได้ใช้อย่างถูกต้อง! (ตามนโยบายใหม่ที่กำหนดให้กับกลุ่มผู้ดูแลระบบ) ผู้ดูแลระบบทั้งรายใหม่และรายเดิมในบัญชีของฉันสามารถเข้าสู่ระบบได้โดยไม่ต้องตั้งค่า MFA
ทิมมาโลน

8

หลังจากที่ได้ดูไปรอบ ๆ ดูเหมือนว่าคำตอบคือ "ชนิดของ" ใน IAM ผู้ดูแลระบบสามารถกำหนดค่า MFA สำหรับผู้ใช้ IAM รายอื่น แม้ว่านี่อาจจะค่อนข้างยุ่งยากหากคุณตั้งค่า MFA เสมือน แต่ก็เป็นไปได้ จากนั้นหากผู้ใช้ไม่ได้รับอนุญาตให้อัปเดต / ลบ MFA ผู้ใช้จะต้องมีประสิทธิภาพ

แม้ว่าฉันจะยังไม่ได้กำหนดรายการการกระทำทั้งหมดที่ควรถูกปฏิเสธ (หรือไม่ได้รับอนุญาต) โพสต์นี้ดูเหมือนจะมีข้อมูลและฉันจะอัปเดตคำตอบนี้เมื่อฉันได้ทำการทดสอบแล้ว

[Update]

ฉันสามารถตั้งค่าผู้ใช้ในฐานะผู้ใช้ระดับสูง (ดังนั้นจึงไม่อนุญาตให้พวกเขาเข้าถึงฟังก์ชั่น IAM แม้ว่าฉันจะแน่ใจว่าคุณจะได้รายละเอียดมากขึ้น) และใช้ MFA กับพวกเขา เมื่อใช้วิธีการนี้พวกเขาจะไม่สามารถปิดใช้งานได้


1
คุณรู้หรือไม่ถ้าเป็นไปได้ที่จะให้ผู้ใช้ IAM ตั้งค่า MFA ด้วยตนเอง
cavalcade

ถ้าเป็นเช่นนั้นฉันไม่ได้พบวิธี
Joe

2
@ MattTagg ใช่มันเป็นไปได้ดูdocs.aws.amazon.com/IAM/latest/UserGuide/ ......
dasil003

1

ใช่คุณสามารถกำหนดให้ MFA สำหรับบัญชี IAM ได้ทั้งในเว็บคอนโซลและสำหรับawscliบรรทัดคำสั่ง ในความเป็นจริงมันเป็นไปไม่ได้ที่จะต้องใช้ MFA อย่างน่าเชื่อถือสำหรับเว็บคอนโซลในขณะที่ไม่ต้องการมันสำหรับawscliบรรทัดคำสั่งเพราะทั้งคู่เข้าชม API เดียวกัน ฉันพูดว่า 'เชื่อถือได้' เนื่องจากนโยบาย IAM ที่ซับซ้อนเป็นไปได้ที่จะอนุญาตawscliการดำเนินการบางอย่างโดยไม่ใช้ MFA ในขณะที่บังคับใช้ MFA สำหรับเว็บคอนโซล อย่างไรก็ตามผลลัพธ์นั้นไม่สามารถคาดเดาได้และนอกจากนี้ปุ่ม IAM ก็เท่ากันหากไม่ได้รับการป้องกันอันตรายมากกว่า คำแนะนำของฉันคือต้องการทั้งสองอย่างและจากนั้นอาจสร้างคีย์ที่ไม่มีการป้องกันสำหรับการใช้งานพิเศษที่ MFA มีข้อห้ามอย่างแน่นอน สำหรับบทบาทกระบวนการอัตโนมัติจะเป็นตัวเลือกที่ดีกว่าโดยทั่วไป

เพื่อให้การดำเนินการ MFA บนบรรทัดคำสั่งง่ายขึ้นฉันได้สร้างชุดของสคริปต์ทุบตีและตัวอย่างนโยบายการบังคับใช้ MFA ที่สร้างขึ้นอย่างรอบคอบซึ่งทำให้ง่ายต่อการแนบ / แยก vMFAd และเริ่มและจัดการเซสชัน MFA มันสามารถทำงานได้กับ macOS และ Linux แต่อาจไม่ได้อยู่ใน Windows (ไม่ได้ทดสอบ)


0

ชัดเจนว่าไม่. ดูเหมือนว่า MFA สำหรับบัญชี IAM เป็นทางเลือก แต่คุณควรโพสต์ในฟอรัมการสนับสนุน AWS สำหรับคำตอบที่มีสิทธิ์


ขอบคุณสำหรับการเชื่อมโยง แต่มันตอบคำถามที่แตกต่างเกี่ยวกับเมื่อจะต้องมี MFA เมื่อเปิดใช้งาน คำถามนี้เกี่ยวกับว่าสามารถบังคับใช้การเปิดใช้งานได้หรือไม่
โจ

0

เราจัดทำเอกสารข้อควรพิจารณาบางประการสำหรับ AWS API multifactor โดยทั่วไป (ในกรณีที่จะเพิ่มเงื่อนไขสิ่งที่มีผลกระทบ ฯลฯ ) ในเอกสารประกอบสำหรับการใช้เครื่องมือที่กำหนดเอง ( https://github.com/kreuzwerker/awsu ) ที่เราพัฒนาขึ้นเพื่อใช้ Yubikeys เป็นแหล่งที่มาสำหรับโทเค็น TOTP สิ่งนี้ทำให้การทำงานกับบทบาทและข้อมูลประจำตัวระยะยาว + โทเค็นเซสชันค่อนข้างง่าย


0

คำตอบที่ยอมรับนั้นไม่สามารถใช้ AFAICT ได้อีกต่อไป AWS ได้จัดทำเอกสารว่าคุณสามารถทำสิ่งนี้ผ่านบทความการสอนของพวกเขาได้ที่นี่:

https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html

ฉันติดตามสิ่งนั้นสำหรับบัญชี AWS และทีมใหม่ของฉันและมันใช้งานได้ดี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.