Multi-Factor Authentication (MFA) ใช้เพื่อเพิ่มชั้นความปลอดภัยอีกชั้นให้กับบัญชี/ข้อมูลประจำตัวของ IAM AWS อนุญาตให้ผู้ใช้เพิ่ม MFA ลงในบัญชีของตนเพื่อปกป้องทรัพยากรของตนให้มากยิ่งขึ้น AWS CLI เป็นอีกวิธีหนึ่งในการจัดการทรัพยากร AWS ที่สามารถป้องกันผ่าน MFA ได้เช่นกัน
คู่มือนี้จะอธิบายวิธีใช้ MFA กับ AWS CLI
จะใช้ MFA กับ AWS CLI ได้อย่างไร
เยี่ยมชม Identity and Access Management (IAM) จากคอนโซล AWS และคลิกที่ “ ผู้ใช้ ' หน้าหนังสือ:
เลือกโปรไฟล์โดยคลิกที่ชื่อ:
จำเป็นต้องมีโปรไฟล์ที่เปิดใช้งานด้วย MFA:
เยี่ยมชม Terminal จากระบบภายในเครื่องของคุณและ กำหนดค่า AWS CLI:
aws กำหนดค่า --profile สาธิต
ใช้คำสั่ง AWS CLI เพื่อยืนยันการกำหนดค่า:
aws s3 ls -- การสาธิตโปรไฟล์การเรียกใช้คำสั่งด้านบนแสดงชื่อบัคเก็ต S3 ซึ่งแสดงว่าการกำหนดค่าถูกต้อง:
กลับไปที่หน้าผู้ใช้ IAM และคลิกที่ “ สิทธิ์ ' ส่วน:
ในส่วนสิทธิ์ ให้ขยาย “ เพิ่มสิทธิ์ ” เมนู และคลิกที่ “ สร้างนโยบายแบบอินไลน์ ' ปุ่ม:
วางรหัสต่อไปนี้ในส่วน JSON:
{'เวอร์ชัน': '2012-10-17',
'คำแถลง': [
{
'ซิด': 'MustBeSignedInWithMFA',
'ผล': 'ปฏิเสธ',
'ไม่ดำเนินการ': [
'iam:CreateVirtualMFADevice',
'iam:DeleteVirtualMFADevice',
'แล้ว: ListVirtualMFADevices',
'เอี่ยม:เปิดใช้งาน MFADevice',
'ติดขัด: ResyncMFADevice',
'iam:ListAccountAliases',
'แล้ว: ListUsers',
'iam:ListSSHPublicKeys',
'เอี่ยม:ListAccessKeys',
'iam:ListServiceSpecificCredentials',
'แล้ว: รายการ MFADevices',
'เอี่ยม:GetAccountSummary',
'sts:GetSessionToken'
]
'ทรัพยากร': '*',
'เงื่อนไข': {
'BoolIfExists': {
'aws:MultiFactorAuthPresent': 'เท็จ'
}
}
}
]
}
เลือกแท็บ JSON และวางโค้ดด้านบนในเครื่องมือแก้ไข คลิกที่ ' ตรวจสอบนโยบาย ' ปุ่ม:
พิมพ์ชื่อกรมธรรม์:
เลื่อนลงไปที่ด้านล่างสุดของหน้าและคลิกที่ “ สร้างนโยบาย ' ปุ่ม:
กลับไปที่เทอร์มินัลแล้วตรวจสอบคำสั่ง AWS CLI อีกครั้ง:
aws s3 ls -- การสาธิตโปรไฟล์ตอนนี้การดำเนินการของคำสั่งจะแสดง ' ปฏิเสธการเข้าใช้ ' ข้อผิดพลาด:
คัดลอก ARN จาก “ ผู้ใช้ ” บัญชี MFA:
ต่อไปนี้คือไวยากรณ์ของคำสั่งเพื่อรับข้อมูลรับรองสำหรับบัญชี MFA:
aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code รหัสจากโทเค็นเปลี่ยน ' arn-of-the-mfa-device ” ด้วยตัวระบุที่คัดลอกมาจากแดชบอร์ด AWS IAM และเปลี่ยน “ รหัสจากโทเค็น ” ด้วยรหัสจากแอปพลิเคชัน MFA:
aws sts get-session-token --serial-number arn:aws:iam::*******94723:mfa/Authenticator --token-code 265291คัดลอกข้อมูลประจำตัวที่มีให้ในเอดิเตอร์เพื่อใช้ในไฟล์ข้อมูลประจำตัวในภายหลัง:
ใช้คำสั่งต่อไปนี้เพื่อแก้ไขไฟล์ AWS Credentials:
nano ~/.aws/ข้อมูลประจำตัว
เพิ่มรหัสต่อไปนี้ในไฟล์ข้อมูลประจำตัว:
[mfa]aws_access_key_id = คีย์การเข้าถึง
aws_secret_access_key = รหัสลับ
aws_session_token = โทเค็นเซสชัน
เปลี่ยน AccessKey, SecretKey และ SessionToken ด้วย “ รหัสการเข้าถึง ”, “ รหัสการเข้าถึงลับ ', และ ' โทเค็นเซสชัน ” ที่ระบุไว้ในขั้นตอนที่แล้ว:
[mfa]aws_access_key_id = คีย์การเข้าถึง
aws_secret_access_key = t/คีย์ลับ
aws_session_token = IQoJb3JpZ2luX2VjEH8aDmFwLXNvdXRoZWFzdC0xIkcwRQIhANdHKh53PNHamG1aaNFHYH+6x3xBI/oi4dPHi9Gv7wdPAiBFqZZtIcHg+A6J4HqV9pvN1AmCsC+WdBFEdNCtIIpCJirvAQhYEAEaDDY2Mzg3ODg5NDcyMyIM6ujtSkPhFzLfhsW6KswBiBfBeZAaIBPgMuLAKbRym58xlbHoQfAygrxrit671nT+43YZNWpWd/sX/ZpHI56PgBsbc6g2ZfBRQ/FTk3oSjWbl9e/SAzPgPLhje6Cf4iEc8slLjwDs/j5EGymADRowQDJsVvKePy1zTMXUj1U1byb0X6J3eNEPvx24Njg4ugJ95KzpPGnqdLrp/z/BnSN3dMt77O2mAleniQyPpw/nVGn73D60HtBx3EJzvmvwthHcdA6wM/Gvdij0VcRC4qoN/8FaymyCwvwvMeAVMPu/j6EGOpgBK4sd1Ek++dSVSCWBeOX6F93SgnTZkjKWFkc6ki4QXP0IQm/+NvBGviMJQAyJ/yRU58tW9Q9ERhgHSfwZNSKQ3EWsPlaCitJqQV15l8VDtPEyNgl1exAzBSt2ZZBthUc3VHKN/UyhgUXtn8Efv5E8HP+fblbeX2ExlfC9KnQj6Ob5sP5ZHvEnDkwSCJ6wpFq3qiWR3n75Dp0=
ตรวจสอบข้อมูลประจำตัวที่เพิ่มโดยใช้คำสั่งต่อไปนี้:
เพิ่มเติม .aws/ข้อมูลประจำตัว
ใช้คำสั่ง AWS CLI กับ “ มฟ ' ประวัติโดยย่อ:
aws s3 ls --โปรไฟล์ mfaการเรียกใช้คำสั่งด้านบนสำเร็จแสดงว่ามีการเพิ่มโปรไฟล์ MFA สำเร็จแล้ว:
นี่คือทั้งหมดที่เกี่ยวกับการใช้ MFA กับ AWS CLI
บทสรุป
หากต้องการใช้ MFA กับ AWS CLI ให้กำหนด MFA ให้กับผู้ใช้ IAM แล้วกำหนดค่าบนเทอร์มินัล หลังจากนั้น ให้เพิ่มนโยบายแบบอินไลน์ให้กับผู้ใช้เพื่อให้สามารถใช้คำสั่งบางอย่างผ่านโปรไฟล์นั้นเท่านั้น เมื่อทำเสร็จแล้ว ให้รับข้อมูลรับรอง MFA แล้วอัปเดตในไฟล์ข้อมูลรับรอง AWS อีกครั้ง ใช้คำสั่ง AWS CLI กับโปรไฟล์ MFA เพื่อจัดการทรัพยากร AWS คู่มือนี้ได้อธิบายวิธีใช้ MFA กับ AWS CLI