เนื่องจาก AWS ให้บริการหลายประการและสิทธิประโยชน์มากมาย จึงเป็นเรื่องธรรมดาที่ผู้เชี่ยวชาญด้านไอทีจะหยิบยกข้อกังวลด้านความปลอดภัยขึ้นมา เพื่อจัดการกับข้อกังวลด้านความปลอดภัยเหล่านี้ AWS จึงเปิดตัวบริการ IAM AWS IAM เป็นหนึ่งในบริการเว็บหลักที่ช่วยให้ผู้ใช้สามารถรักษาความปลอดภัยทรัพยากร AWS ได้ IAM มอบฟังก์ชันการจัดการการเข้าถึงส่วนกลางของบริการ AWS โดยการกำหนดสิทธิ์สำหรับผู้ใช้ที่แตกต่างกัน
โครงร่างด่วน
ในบทความนี้ คุณจะได้เรียนรู้เกี่ยวกับ:
บทบาท AWS IAM คืออะไร
บทบาทสมมติใน AWS คืออะไร
จะรับบทบาท IAM โดยใช้ AWS CLI ได้อย่างไร
ด้วยบทบาทและสิทธิ์ของ IAM เราสามารถกำหนดการเข้าถึงบริการของ AWS ที่ได้รับการตรวจสอบสิทธิ์และได้รับอนุญาตได้ บทบาทและสิทธิ์เหล่านี้สามารถกำหนดได้โดยผู้ใช้รูท (เจ้าของ) ของบัญชี AWS เท่านั้น
บทบาท AWS IAM คืออะไร
บทบาท IAM คือข้อมูลระบุตัวตนที่สร้างขึ้นโดยผู้ใช้รูทภายในบัญชี AWS ข้อมูลระบุตัวตนนี้ได้รับการกำหนดสิทธิ์เฉพาะซึ่งกำหนดขอบเขตการเข้าถึงบทบาท IAM ไปยังทรัพยากร AWS สิทธิ์เหล่านี้สามารถจัดการโดย AWS หรือกำหนดแบบกำหนดเองโดยผู้ใช้รูท
บทบาท IAM นั้นคล้ายคลึงกับผู้ใช้ IAM มาก ยกเว้นว่าบทบาท IAM นั้นเป็นตัวตนที่มีสิทธิ์บางอย่าง ในขณะที่ผู้ใช้สามารถรับบทบาทเหล่านี้เพื่อทำหน้าที่บางอย่างได้ สิทธิ์ที่มอบให้กับบทบาทจะกำหนดว่าการดำเนินการใดที่สามารถทำได้ด้วยข้อมูลระบุตัวตนนี้ (บทบาท IAM)
บทบาทสมมติใน AWS คืออะไร
Assume Role เป็นหนึ่งในฟังก์ชันของบริการ AWS IAM ที่อนุญาตให้ผู้ใช้ดำเนินการกับบริการของ AWS แม้ว่าผู้ใช้จะไม่ได้กำหนดสิทธิ์ในการเข้าถึงหรือจัดการทรัพยากรภายในบริการก็ตาม สิทธิ์เหล่านี้ถูกกำหนดให้กับผู้ใช้ทางอ้อมเมื่อมีการรับบทบาท ชุดข้อมูลประจำตัวชั่วคราวพร้อมกับการเข้าสู่ระบบตามเซสชันจะใช้สำหรับการเข้าถึงทรัพยากร AWS
ข้อมูลประจำตัวชั่วคราวเหล่านี้ประกอบด้วยคีย์การเข้าถึงข้อมูลลับ รหัสคีย์การเข้าถึง และโทเค็นความปลอดภัย บทบาท IAM ที่สร้างโดยผู้ใช้รูท AWS สามารถรับได้โดยผู้ใช้รายอื่นภายในบัญชี AWS หรือผู้ใช้ที่มีการกล่าวถึง ARN ในนโยบายของบทบาท นโยบายที่มี ARN ของผู้ใช้หรือทรัพยากรเรียกว่า นโยบายความน่าเชื่อถือ .
ความแตกต่างระหว่างนโยบายการอนุญาตและนโยบายความน่าเชื่อถือคืออะไร?
ก่อนที่จะใช้ฟังก์ชันสมมติบทบาทผ่านวิธีการต่างๆ มีแนวคิดหลักสองประการที่ผู้ใช้ต้องเข้าใจ มีนโยบายสองประเภทในบริการ IAM:
-
- นโยบายความน่าเชื่อถือ: นโยบายความน่าเชื่อถือจะกำหนดว่าใครสามารถรับบทบาท IAM ที่เฉพาะเจาะจงได้ สำหรับบทบาทที่จะรับโดยผู้ใช้ ARN ของผู้ใช้จะถูกกล่าวถึงในนโยบายความน่าเชื่อถือของบทบาท IAM นโยบายความน่าเชื่อถือนี้กำหนดว่าผู้ใช้หรือทรัพยากรเป็นเอนทิตีที่เชื่อถือได้สำหรับการสมมติบทบาทนี้
- นโยบายการอนุญาต: นโยบายนี้กำหนดสิ่งที่ผู้ใช้สามารถดำเนินการได้หรือการดำเนินการใดที่สามารถทำได้กับบทบาทนี้
จะรับบทบาท IAM โดยใช้ AWS CLI ได้อย่างไร
การรับบทบาทนั้นคล้ายกับการปลอมตัวเป็นผู้ใช้รายอื่นที่ได้รับการรับรองความถูกต้องและได้รับอนุญาตให้ดำเนินการบางอย่าง ในขณะที่สันนิษฐานว่ามีตัวตน AWS ได้รับรองว่าการรักษาความปลอดภัยยังคงเหมือนเดิม
มาทำความเข้าใจการทำงานของฟังก์ชัน Assume-role โดยพิจารณาจากตัวอย่างต่อไปนี้
ตัวอย่างเช่น, มีผู้ใช้อยู่ในบัญชี AWS ที่ไม่ได้รับการกำหนดสิทธิ์ใดๆ สำหรับบัคเก็ต S3 ที่ “การเข้าถึงแบบอ่านอย่างเดียว” เรียกว่านโยบายการอนุญาตที่แนบมากับบทบาท IAM เพื่อให้ผู้ใช้รับบทบาทนี้ ARN ของผู้ใช้จะถูกกล่าวถึงในนโยบายของบทบาท IAM นโยบายนี้เรียกว่าเป็น “นโยบายความน่าเชื่อถือ” และแตกต่างจากนโยบายการอนุญาต นโยบายความน่าเชื่อถือถือเป็นสิ่งสำคัญเนื่องจากช่วยให้ AWS สามารถระบุได้ว่าผู้ใช้เป็นนิติบุคคลที่ได้รับอนุญาตหรือไม่
โปรดทราบว่า ARN ได้รับการกล่าวถึงในนโยบายความน่าเชื่อถือ ไม่ใช่ในนโยบายสิทธิ์ของบทบาท IAM โดยการสมมติบทบาท ผู้ใช้สามารถดำเนินการด้านการดูแลระบบบางอย่างที่กำหนดโดยนโยบายสิทธิ์ของบทบาทได้ การดำเนินการเหล่านี้รวมถึงการเพิ่ม ลบ การแก้ไข หรือการกู้คืนทรัพยากร ฯลฯ
ต่อไปนี้เป็นสามวิธีในการรับบทบาทกับ AWS CLI:
วิธีที่ 1: การใช้ STS (บริการโทเค็นความปลอดภัย)
ผู้ใช้สามารถรับบทบาทได้โดยดำเนินการคำสั่งในส่วน STS (Secure Token Service) ซึ่งจะส่งคืนชุดข้อมูลรับรองชั่วคราว ข้อมูลรับรองชั่วคราวจะใช้เพื่อสร้างการเข้าสู่ระบบตามเซสชันเพื่อทำการเรียก API ไปยังทรัพยากร อย่างไรก็ตามก็มี ข้อยกเว้นสองประการ ในขณะที่ใช้ STS เช่น รับFederationToken และ รับSessionToken
ผู้ใช้ถูกจำกัดไม่ให้เข้าถึงโทเค็นเหล่านี้เพื่อรักษาความปลอดภัยข้อมูลที่เป็นความลับของโทเค็นเซสชันและสหพันธรัฐ เพื่อไม่ให้เกิดความเสียหายต่อความปลอดภัยไม่ว่ากรณีใดๆ เมื่อรับบทบาท ผู้ใช้สามารถยกระดับสิทธิ์ที่ได้รับมอบหมายได้
ในบทความนี้ในส่วนนี้ เราจะขอชุดข้อมูลรับรองชั่วคราวโดยใช้คำสั่ง STS ด้านล่างนี้เป็นขั้นตอน:
-
- ขั้นตอนที่ 1: สร้างนโยบายผู้ใช้และผู้ใช้
- ขั้นตอนที่ 2: แนบนโยบายกับผู้ใช้
- ขั้นตอนที่ 3: สร้างนโยบายความน่าเชื่อถือและบทบาท IAM
- ขั้นตอนที่ 4: สร้างคีย์การเข้าถึง
- ขั้นตอนที่ 5: กำหนดค่าคีย์การเข้าถึงและยืนยันผู้ใช้ IAM
- ขั้นตอนที่ 6: สมมติบทบาท IAM
- ขั้นตอนที่ 7: กำหนดค่าตัวแปรสภาพแวดล้อม
- เคล็ดลับโบนัส: ยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อม
ขั้นตอนที่ 1: สร้างนโยบายผู้ใช้และผู้ใช้
ก่อนอื่นเราจะ สร้างผู้ใช้ IAM โดยไม่มีสิทธิ์ เพื่อจุดประสงค์นี้ ให้เปิดไฟล์ ซีเอ็มดี จากเมนู Start ของ Windows:
เพียง ผู้ใช้รูท สามารถ สร้าง หนึ่ง ผู้ใช้ไอแอม ภายในบัญชี AWS ดังนั้น ให้ลงชื่อเข้าใช้บัญชีรูท AWS โดยใช้คำสั่งต่อไปนี้:
ข้อมูลรับรองได้รับการกำหนดค่าไว้แล้วภายใน CLI สำหรับการสาธิตนี้ ดังที่แสดงในเอาต์พุตของคำสั่ง:
เรียนรู้เพิ่มเติม:
ถึง สร้างผู้ใช้ IAM ให้ระบุคำสั่งต่อไปนี้แก่ CLI:
aws iam เป็นผู้ใช้ที่สร้าง --ชื่อผู้ใช้ ผู้ใช้สาธิต
แทนที่ ผู้ใช้สาธิต กับคุณ ชื่อผู้ใช้ IAM
บันทึก “อาร์น” กำหนดไว้ในเอาต์พุตของคำสั่งตามที่มันจะเป็น ที่จำเป็น เมื่อไร การสร้าง ที่ นโยบายความน่าเชื่อถือ : :
อ่านเพิ่มเติม:
ขั้นตอนต่อไปคือการ อนุญาต ผู้ใช้ (ผู้ใช้สาธิต ) ถึง สวมบทบาท . เพื่อจุดประสงค์นี้ ให้สร้าง ไฟล์ JSON ใช้อะไรก็ได้ โปรแกรมแก้ไขข้อความ คุณชอบ สำหรับการสาธิตนี้เราได้ใช้ แผ่นจดบันทึก ตามที่ระบุไว้ในคำสั่งด้านล่างนี้:
สำหรับวินโดวส์
ผู้ใช้ notepad-policy.json
แทนที่ นโยบายผู้ใช้ ด้วยชื่อนโยบาย IAM ของคุณ
สำหรับระบบปฏิบัติการลินุกซ์
เพราะ ผู้ใช้นโยบาย json
ในขณะนี้ เรากำลังใช้ระบบปฏิบัติการ Windows สำหรับการสาธิตนี้:
นี่จะเป็นการเปิดแผ่นจดบันทึก วางนโยบายต่อไปนี้ลงในแผ่นจดบันทึกแล้วกด “CTRL + เอส” จากแป้นพิมพ์เพื่อบันทึกการเปลี่ยนแปลง:
'เวอร์ชั่น' : : '2012-10-17' ,
'คำแถลง' : : [
{
'ผล' : : 'อนุญาต' ,
'การกระทำ' : : [
'ec2: อธิบาย*' ,
'เอี่ยม: ListRoles' ,
'sts:สมมติบทบาท'
] ,
'ทรัพยากร' : : '*'
}
]
}
ด้านล่างนี้เป็นคำอธิบายโดยย่อของนโยบายที่ระบุ:
-
- ec2:อธิบาย: สิทธิ์นี้ระบุว่าผู้ใช้สามารถดูหรือแสดงรายการ AMI, สแนปช็อต หรืออินสแตนซ์ EC2 ทั้งหมดได้
- ฉัน: ListRoles: สิทธิ์นี้ระบุว่าผู้ใช้สามารถแสดงรายการบทบาททั้งหมดภายในบริการ IAM ได้
- sts:สมมติบทบาท: การอนุญาตนี้แสดงว่าผู้ใช้สามารถรับบทบาทที่กำหนดไว้ภายในบริการ IAM ได้
ที่นี่ นโยบายได้รับการแก้ไขภายในแผ่นจดบันทึกและบันทึกไว้:
AWS แต่ละรายการ ทรัพยากร ได้รับมอบหมายให้ ชื่อทรัพยากรการเข้าถึง (ARN) ที่ ระบุโดยไม่ซ้ำกัน ทรัพยากร หากต้องการกำหนด ARN ของนโยบาย ให้ใช้คำสั่งด้านล่างนี้
ในคำสั่งดังกล่าวข้างต้น:
-
- –ชื่อนโยบาย: แทนที่ค่า “นโยบายผู้ใช้” ด้วยชื่อกรมธรรม์ตามที่คุณต้องการ
- –เอกสารนโยบาย: ในฟิลด์นี้ ให้แทนที่ ' ผู้ใช้นโยบาย json” ด้วยชื่อไฟล์ json ที่มีนโยบายสำหรับผู้ใช้
ผลลัพธ์ของคำสั่งดังกล่าวมีดังนี้ บันทึก “อาร์น” กล่าวถึงในผลลัพธ์ของนโยบายตามที่จำเป็นเมื่อแนบนโยบายนี้กับผู้ใช้:
ขั้นตอนที่ 2: แนบนโยบายกับผู้ใช้
นโยบายนี้จะอนุญาตให้ผู้ใช้สามารถแสดงรายการได้ อินสแตนซ์ EC2 , เพื่อน ฯลฯ เมื่อผู้ใช้รับบทบาทที่มีสิทธิ์อื่น ผู้ใช้จะสามารถดำเนินการเฉพาะนั้นตามที่อนุญาตโดยนโยบายการอนุญาตเท่านั้น
หากต้องการแนบนโยบายกับผู้ใช้ที่สร้างไว้ก่อนหน้าในส่วนนี้ ให้ใช้คำสั่งต่อไปนี้:
aws iam แนบนโยบายผู้ใช้ --ชื่อผู้ใช้ ผู้ใช้สาธิต --นโยบาย-arn 'arn:aws:iam::123456789:นโยบาย/นโยบายผู้ใช้'
ในคำสั่งดังกล่าวข้างต้น:
-
- -ชื่อผู้ใช้: แทนที่ “ผู้ใช้สาธิต” ใน -ชื่อผู้ใช้ ฟิลด์ด้วยชื่อผู้ใช้ IAM ของคุณ
- –นโยบาย-arn: ในทำนองเดียวกันใน –นโยบาย-arn, ระบุ “อาร์น” จากเอาต์พุตของคำสั่งก่อนหน้า เช่น –create-policy
การดำเนินการคำสั่งหลังจากทำการเปลี่ยนแปลงที่จำเป็น จะทำให้แนบนโยบายกับผู้ใช้ได้สำเร็จ:
เพื่อตรวจสอบว่ามีการแนบนโยบายกับผู้ใช้หรือไม่ ให้ระบุคำสั่งต่อไปนี้ให้กับ CLI:
แทนที่ ผู้ใช้สาธิต ด้วย IAM ของคุณ ชื่อผู้ใช้ ระบุในขณะที่สร้างผู้ใช้
ผลลัพธ์ของคำสั่งต่อไปนี้จะตรวจสอบว่ามีการแนบนโยบายกับผู้ใช้เรียบร้อยแล้ว:
ขั้นตอนที่ 3: สร้างนโยบายความน่าเชื่อถือและบทบาท IAM
ความสัมพันธ์ที่น่าเชื่อถือถูกสร้างขึ้นเมื่อมีการระบุทรัพยากรหรือ ARN ของผู้ใช้ในนโยบาย ฟังก์ชันนี้ทำให้ผู้ใช้หรือเอนทิตีสามารถดำเนินการบางอย่างได้ เนื่องจากถือว่าเชื่อถือได้โดยนโยบาย
ในขั้นตอนนี้ เราจะสร้างนโยบายที่สร้างความสัมพันธ์ที่เชื่อถือได้ระหว่างบทบาท IAM และผู้ใช้ นโยบายความน่าเชื่อถือนี้จะแนบไปกับบทบาท IAM จากนั้นผู้ใช้จะรับบทบาท IAM ซึ่งจะอนุญาตให้ผู้ใช้ดำเนินการตามที่ระบุไว้ในนโยบายทางอ้อมได้
ในการสร้างนโยบายความน่าเชื่อถือ คำสั่งจะได้รับดังต่อไปนี้:
สำหรับวินโดวส์
แผ่นจดบันทึก trust-role-policy.json
แทนที่ ความไว้วางใจบทบาทนโยบาย json พร้อมชื่อที่คุณต้องการสำหรับกรมธรรม์
สำหรับระบบปฏิบัติการลินุกซ์
เพราะ ความไว้วางใจบทบาทนโยบาย json
แทนที่ ความไว้วางใจบทบาทนโยบาย json พร้อมชื่อที่คุณต้องการสำหรับกรมธรรม์
นโยบายความไว้วางใจเป็นไปตาม รูปแบบ JSON ตามที่ ก.ล.ต. กำหนด .json ส่วนขยายในคำสั่งต่อไปนี้:
นี่จะเป็นการเปิดแผ่นจดบันทึก แปะ ต่อไปนี้ นโยบาย ภายในแผ่นจดบันทึกแล้วกดที่ “CTRL + เอส” จากแป้นพิมพ์เพื่อบันทึกการเปลี่ยนแปลง ARN ของผู้ใช้ยังสามารถคัดลอกได้จากแดชบอร์ดของผู้ใช้ของคอนโซล IAM เพื่อจุดประสงค์นี้ โปรดไปที่แดชบอร์ด IAM และคลิกชื่อของผู้ใช้ จากการกำหนดค่าที่แสดง ให้คัดลอก ARN ของผู้ใช้ที่แสดงภายในส่วนสรุป:
'เวอร์ชั่น' : : '2012-10-17' ,
'คำแถลง' : : {
'ผล' : : 'อนุญาต' ,
'วิชาเอก' : : {
'เอดับบลิว' : : 'arn:aws:iam::123456789012:ผู้ใช้/ตัวอย่างผู้ใช้'
} ,
'การกระทำ' : : 'sts:สมมติบทบาท'
}
}
ในนโยบายดังกล่าวข้างต้น:
-
- AWS: แทนที่ ค่าฟิลด์ AWS “arn:aws:iam::123456789012:user/example-user” ด้วย ARN ของผู้ใช้ ซึ่งแสดงในเอาต์พุตของคำสั่ง –create-user
ผู้ใช้สามารถจำกัดผู้ใช้รายอื่นไม่ให้รับบทบาท IAM ได้โดยการระบุ ARN ของผู้ใช้ใน “เอดับบลิว” สนาม:
อ่านเพิ่มเติม:
ตอนนี้ ให้สร้างบทบาท IAM และแนบนโยบายความน่าเชื่อถือไปด้วย หากต้องการสร้างบทบาท IAM ให้ใช้คำสั่งที่กล่าวถึงด้านล่าง:
ฉันคือผู้สร้างบทบาท --บทบาทชื่อ บทบาทของผู้ใช้ --สมมติ-บทบาท-นโยบาย-เอกสาร ไฟล์: // ความไว้วางใจบทบาทนโยบาย json
ต่อไปนี้เป็นคำอธิบายของฟิลด์ที่กล่าวถึงข้างต้น:
-
- –ชื่อบทบาท: ฟิลด์นี้ใช้เพื่อป้อนชื่อที่จะกำหนดให้กับบทบาท IAM นี้ แทนที่ค่า “บทบาทผู้ใช้” ด้วยชื่อบทบาท IAM ที่คุณเลือก
- –สมมติ-บทบาท-นโยบาย-เอกสาร: ในฟิลด์นี้ให้ระบุเส้นทางตามที่กำหนดในคำสั่ง แทนที่ trust-role-policy.json ด้วยชื่อนโยบายตามที่คุณระบุในส่วนก่อนหน้า
เมื่อใช้คำสั่งนี้ ระบบจะส่งคืนข้อมูลหลายส่วนในเอาต์พุต เช่น ARN, Path, ID ฯลฯ:
อ่านเพิ่มเติม:
เมื่อรับบทบาทนี้แล้ว ผู้ใช้จะสามารถดำเนินการได้ “การเข้าถึงแบบอ่านอย่างเดียว” ดำเนินการกับบัคเก็ต S3 คำสั่งได้รับดังต่อไปนี้:
aws ฉันแนบนโยบายบทบาท --บทบาทชื่อ บทบาทของผู้ใช้ --นโยบาย-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'
ในคำสั่งข้างต้น:
-
- –ชื่อบทบาท: แทนที่ ' บทบาทของผู้ใช้” ในฟิลด์ –role-name ด้วย ชื่อบทบาท IAM ที่คุณระบุไว้ก่อนหน้าในบทช่วยสอนนี้
- –นโยบาย-arn: arn ที่ระบุใน –policy-arn อ้างถึงสิทธิ์ ReadOnlyAccess สำหรับบัคเก็ต S3
ในภาพนี้ บทบาทได้รับการกำหนดสิทธิ์ ReadOnlyAccess สำหรับบัคเก็ต S3:
เพื่อตรวจสอบว่ามีการมอบหมายสิทธิ์ให้กับบทบาทหรือไม่ให้ใช้คำสั่งต่อไปนี้:
แทนที่ “บทบาทของผู้ใช้” ด้วยชื่อบทบาท IAM ของคุณ
ที่ “AmazonS3ReadOnlyAccess” แนบการอนุญาตกับบทบาท IAM แล้ว ผลลัพธ์ของคำสั่งจะได้รับดังนี้:
ขั้นตอนที่ 4: สร้างคีย์การเข้าถึง
ในส่วนนี้ เราจะสร้างคีย์การเข้าถึงสำหรับผู้ใช้ คีย์การเข้าถึงจะถูกใช้เพื่อเข้าสู่ระบบบัญชี AWS:
aws iam สร้างคีย์การเข้าถึง --ชื่อผู้ใช้ ผู้ใช้สาธิต
แทนที่ ผู้ใช้สาธิต ด้วยชื่อผู้ใช้ IAM ของคุณที่ได้รับในขณะที่สร้างผู้ใช้
คำสั่งนี้ได้ส่งคืนชุดคู่คีย์การเข้าถึง (AccessKeyId และคีย์การเข้าถึงข้อมูลลับ) พร้อมรายละเอียดเพิ่มเติม เช่น วันที่สร้าง สถานะ ฯลฯ บันทึก AccessKeyId และ SecretAccessKey ตามที่จำเป็นในภายหลังในบทช่วยสอน:
อ่านเพิ่มเติม:
ขั้นตอนที่ 5: กำหนดค่าคีย์การเข้าถึงและตรวจสอบผู้ใช้ IAM
ในการกำหนดค่าคีย์การเข้าถึง ให้ส่งคำสั่งต่อไปนี้ให้กับ CMD จากนั้นป้อนรหัสคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับ:
aws กำหนดค่า
ระบุรหัสคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับให้กับ CLI ที่สร้างขึ้นในขั้นตอนที่ 4 ของส่วนนี้ สำหรับภูมิภาค เราได้คงการตั้งค่าเริ่มต้นไว้ ผู้ใช้สามารถกำหนดค่ารูปแบบเอาต์พุตใดๆ สำหรับรูปแบบเอาต์พุตเริ่มต้นได้ สำหรับการสาธิตนี้ เราได้ระบุ เจสัน รูปแบบ:
เพื่อตรวจสอบว่าผู้ใช้ IAM ได้รับการกำหนดค่าหรือไม่ ให้ส่งคำสั่งต่อไปนี้ให้กับ CLI:
ผลลัพธ์ของคำสั่งบ่งชี้ว่า “ผู้ใช้สาธิต” ได้รับการกำหนดค่าเรียบร้อยแล้ว และกำลังเข้าสู่ระบบบัญชี AWS:
หากต้องการตรวจสอบว่าผู้ใช้ IAM สามารถแสดงรายการอินสแตนซ์ EC2 และไม่สามารถเข้าถึงบัคเก็ต S3 ได้ในขณะนี้ ให้ใช้คำสั่งต่อไปนี้:
ผลลัพธ์ของคำสั่งจะได้รับดังนี้:
ตอนนี้ ให้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าผู้ใช้สามารถเข้าถึงบัคเก็ต S3 หรือไม่:
นี้จะแสดง 'ปฏิเสธการเข้าใช้' ข้อผิดพลาดซึ่งบ่งชี้ว่าผู้ใช้ไม่ได้รับอนุญาตให้เข้าถึงบัคเก็ต S3:
ขั้นตอนที่ 6: สมมติบทบาท IAM
ผู้ใช้มีสิทธิ์แสดงรายการบทบาท IAM ภายในบัญชี AWS ดังนั้นเพื่อรับบทบาท อันดับแรกเราจะได้รับข้อมูลที่จำเป็น เช่น ARN โดยดำเนินการคำสั่งต่อไปนี้:
aws iam list-บทบาท --สอบถาม 'บทบาท[?RoleName == 'บทบาทผู้ใช้'].[ชื่อบทบาท, Arn]'
แทนที่ 'บทบาทของผู้ใช้' ด้วยชื่อบทบาท IAM ในช่อง 'RoleName'
ARN ได้รับในผลลัพธ์ของคำสั่งดังกล่าวข้างต้น:
ตอนนี้เรามี ARN ของบทบาท IAM แล้ว เราสามารถรับบทบาทดังกล่าวได้โดยใช้คำสั่งต่อไปนี้:
ในคำสั่งข้างต้น:
-
- –บทบาท-arn: แทนที่ค่าที่กล่าวถึงสำหรับ –role-arn ด้วย ARN ของบทบาท IAM
- –ชื่อบทบาทเซสชัน: ผู้ใช้สามารถระบุชื่อที่ต้องการสำหรับฟิลด์นี้ได้
โดยการดำเนินการคำสั่งดังกล่าวข้างต้น ชุดของข้อมูลประจำตัวชั่วคราวได้ถูกส่งคืน ข้อมูลประจำตัวชั่วคราวเหล่านี้จะถูกนำมาใช้เพื่อรับบทบาท IAM ที่มีสิทธิ์ที่ต้องการ เช่น ReadOnlyAccess AccessKeyId และ SecretAccessKey จะถูกใช้ขณะกำหนดค่าข้อมูลรับรองชั่วคราวเหล่านี้:
ต่อไปนี้เป็นคำอธิบายโดยย่อเกี่ยวกับเอาต์พุตของคำสั่ง:
-
- เซสชันโทเค็น: โทเค็นเซสชันใช้เพื่อสร้างการเข้าสู่ระบบตามเซสชัน บันทึกค่าของฟิลด์นี้เนื่องจากจะต้องใช้ขณะกำหนดค่าข้อมูลรับรอง
- วันหมดอายุ: โทเค็นเซสชันมีวันที่และเวลาหมดอายุ โทเค็นจะไม่มีประโยชน์หลังจากเวลาที่กำหนด และผู้ใช้จะไม่สามารถรับบทบาทได้
ขั้นตอนที่ 7: กำหนดค่าตัวแปรสภาพแวดล้อม
ในการกำหนดค่าข้อมูลรับรองชั่วคราว เราจะใช้คำสั่ง 'set' สำหรับ Windows จากนั้นระบุค่าของรหัสคีย์การเข้าถึง คีย์การเข้าถึงข้อมูลลับ โทเค็นเซสชัน ฯลฯ:
สำหรับวินโดวส์
ชุด AWS_ACCESS_KEY_ID =RoleAccessKeyID
แทนที่ RoleAccessKeyID ด้วย Access Key ID ที่ส่งคืนโดยคำสั่งในขั้นตอนที่ 6
สำหรับระบบปฏิบัติการลินุกซ์
ส่งออก AWS_ACCESS_KEY_ID =RoleAccessKeyID
แทนที่ RoleAccessKeyID ด้วย Access Key ID ที่ส่งคืนโดยคำสั่งในขั้นตอนที่ 6
คีย์การเข้าถึงได้รับการกำหนดค่าแล้ว:
ต่อไปเราจะกำหนดค่าคีย์การเข้าถึงข้อมูลลับโดยใช้คำสั่ง 'set' สำหรับ Windows:
สำหรับวินโดวส์
ชุด AWS_SECRET_ACCESS_KEY =รหัสลับบทบาท
แทนที่ RoleSecretKey ด้วยค่าคีย์การเข้าถึงข้อมูลลับที่ส่งคืนโดยคำสั่งในขั้นตอนที่ 6
สำหรับระบบปฏิบัติการลินุกซ์
ส่งออก AWS_SECRET_ACCESS_KEY =รหัสลับบทบาท
แทนที่ AWS_SECRET_ACCESS_KEY ด้วยคีย์การเข้าถึงข้อมูลลับที่คำสั่งส่งคืนในขั้นตอนที่ 6
กำหนดค่าคีย์การเข้าถึงข้อมูลลับสำเร็จแล้ว:
สุดท้ายนี้ เราจะกำหนดค่าโทเค็นเซสชันเพื่อสร้างการเข้าสู่ระบบตามเซสชัน เพื่อจุดประสงค์นี้ ให้ใช้คำสั่งด้านล่างนี้:
สำหรับวินโดวส์
ชุด AWS_SESSION_TOKEN =บทบาทเซสชั่นโทเค็น
แทนที่ RoleSessionToken ด้วยค่า Session Token ที่คำสั่งส่งคืนในขั้นตอนที่ 6
สำหรับระบบปฏิบัติการลินุกซ์
ส่งออก AWS_SESSION_TOKEN =บทบาทเซสชั่นโทเค็น
แทนที่ RoleSessionToken ด้วยค่า Session Token ที่คำสั่งส่งคืนในขั้นตอนที่ 6
ค่าของโทเค็นเซสชันได้รับการกำหนดค่าสำเร็จแล้ว:
หากต้องการคัดลอกค่าของ Session Token จาก CMD ให้กด “CTRL + SHIFT + C” .
หลังจากกำหนดคอนฟิกตัวแปรสภาพแวดล้อมแล้ว ให้ตรวจสอบโดยใช้คำสั่งต่อไปนี้ว่าผู้ใช้รับบทบาทนี้หรือไม่:
aws sts get-caller-identity
ผลลัพธ์ของคำสั่งจะตรวจสอบว่ามีบทบาท IAM แล้ว สันนิษฐานได้สำเร็จ โดยผู้ใช้ตามผลตอบแทนของ ARN “arn:aws:sts::123456789012:สมมติ-บทบาท/บทบาทผู้ใช้/AWSCLI-เซสชัน” แทน “arn:aws:iam::123456789012:ผู้ใช้/ผู้ใช้สาธิต”:
เนื่องจากบทบาทมีสิทธิ์ ReadOnlyAccess ผู้ใช้จึงควรลงทะเบียนที่เก็บข้อมูลได้แล้ว เพื่อจุดประสงค์นี้ ให้จัดเตรียมคำสั่งต่อไปนี้ให้กับ CLI:
ผลลัพธ์ของคำสั่งสามารถเข้าร่วมบัคเก็ต S3 ทั้งหมดที่กำหนดค่าไว้ภายในบัญชี AWS ได้สำเร็จ:
อย่างไรก็ตาม ผู้ใช้จะไม่สามารถเข้าถึงบริการ EC2 ได้ เนื่องจากบทบาทสมมติไม่มีสิทธิ์สำหรับบริการ EC2 เพื่อตรวจสอบสิ่งนี้ ให้ใช้คำสั่งต่อไปนี้:
ก่อนหน้านี้ผู้ใช้สามารถเข้าถึงข้อมูลบริการ EC2 ได้ อย่างไรก็ตาม เมื่อดำเนินการตามคำสั่งข้างต้นแล้ว 'ปฏิเสธการเข้าใช้' เกิดข้อผิดพลาด ผู้ใช้รับบทบาท IAM สำเร็จแล้ว:
ทั้งหมดนี้มาจากส่วนนี้
เคล็ดลับโบนัส: ยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อม
หากต้องการกลับไปยังผู้ใช้ IAM เช่น ผู้ใช้สาธิต ผู้ใช้สามารถลบตัวแปรสภาพแวดล้อมได้โดยการตั้งค่าตัวแปรสภาพแวดล้อมเป็นสตริงว่าง ต่อไปนี้เป็นคำสั่งที่ได้รับ:
สำหรับวินโดวส์
ชุด AWS_ACCESS_KEY_ID =ชุด AWS_SECRET_ACCESS_KEY =
ชุด AWS_SESSION_TOKEN =
สำหรับลินุกซ์
ใช้คำสั่งที่กล่าวถึงด้านล่าง:
ไม่ได้ตั้งค่า AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN
คำสั่งดังกล่าวข้างต้นจะยกเลิกการตั้งค่าตัวแปรสภาพแวดล้อม:
หลังจากดำเนินการคำสั่งข้างต้นแล้ว คอนโซลควรส่งคืนไฟล์ “ผู้ใช้สาธิต” ในฐานะผู้ใช้ที่เข้าสู่ระบบในปัจจุบันแทนที่จะเป็นบทบาทสมมติ เช่น บทบาทของผู้ใช้ เพื่อจุดประสงค์นี้ เราจะใช้คำสั่งต่อไปนี้:
ผลลัพธ์ของคำสั่งบ่งชี้ว่าผู้ใช้ที่เข้าสู่ระบบในปัจจุบันเป็นผู้ใช้สาธิต:
ในทำนองเดียวกัน หากต้องการเข้าสู่ระบบในฐานะผู้ใช้รูท ให้ปฏิบัติตาม “C:\Users%USERPROFILE%.aws” เส้นทางและคลิกไฟล์ข้อมูลรับรอง:
ภายในไฟล์ข้อมูลรับรอง ให้แทนที่ค่าของคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับด้วยคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับของผู้ใช้รูท:
จัดเตรียมคำสั่งต่อไปนี้ให้กับ CLI เพื่อตรวจสอบว่าข้อมูลรับรองได้รับการกำหนดค่าอย่างถูกต้องหรือไม่:
ในภาพด้านล่าง เราจะเห็นว่าคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับของผู้ใช้รูทได้รับการกำหนดค่าเรียบร้อยแล้ว:
นั่นคือทั้งหมดจากบทช่วยสอนในส่วนนี้
วิธีที่ 2: การใช้พารามิเตอร์ –profile
อีกวิธีในการสมมติบทบาทคือการใช้ฟิลด์ “–profile” ใน CLI บทความนี้ในส่วนนี้นำเสนอการใช้งานจริงของการสมมติบทบาทใน AWS ผ่านทาง –profile ด้านล่างนี้เป็นขั้นตอน:
ขั้นตอนที่ 1: สร้างผู้ใช้ IAM
หากต้องการสร้างผู้ใช้ IAM ให้เข้าสู่ระบบบัญชีผู้ใช้รูทผ่าน CLI โดยใช้คำสั่งต่อไปนี้:
aws กำหนดค่า
ข้อมูลรับรองได้รับการกำหนดค่าไว้แล้วภายใน CLI สำหรับการสาธิตนี้ ดังที่แสดงในเอาต์พุตของคำสั่ง:
เรียนรู้เพิ่มเติม:
หากต้องการสร้างผู้ใช้ IAM ให้ระบุคำสั่งต่อไปนี้ให้กับ CLI:
aws iam เป็นผู้ใช้ที่สร้าง --ชื่อผู้ใช้ โปรไฟล์ผู้ใช้
สร้างผู้ใช้สำเร็จแล้ว บันทึก ARN ของผู้ใช้ตามที่แสดงในภาพด้านล่าง ARN ของผู้ใช้ IAM นี้จะถูกนำไปใช้ในภายหลังในบทช่วยสอนนี้ ในปัจจุบัน ไม่มีการอนุญาตที่เกี่ยวข้องกับผู้ใช้ IAM รายนี้:
อ่านเพิ่มเติม:
ขั้นตอนที่ 2: สร้างรหัสการเข้าถึง
ใน AWS ผู้ใช้แต่ละคนจะได้รับคีย์การเข้าถึงหนึ่งคู่สำหรับการเข้าสู่ระบบ หากต้องการสร้างคีย์การเข้าถึงสำหรับผู้ใช้รายนี้ ให้ระบุคำสั่งต่อไปนี้:
aws iam สร้างคีย์การเข้าถึง --ชื่อผู้ใช้ โปรไฟล์ผู้ใช้
คำสั่งนี้ส่งคืนชุดคีย์การเข้าถึง บันทึก ที่ รหัสการเข้าถึง และ SecretAccessKey ตามที่จำเป็นขณะเข้าสู่ระบบบัญชี AWS:
ตอนนี้ถ้าเราเข้าสู่ระบบ AWS CLI โดยใช้ AccessKeyId และ SecretAccessKey เหล่านี้ และเข้าถึงทรัพยากรใดๆ เช่น ที่ฝากข้อมูล S3 'ปฏิเสธการเข้าใช้' ข้อผิดพลาดจะเกิดขึ้น เนื่องจากในปัจจุบันไม่มีสิทธิ์ที่เกี่ยวข้องกับผู้ใช้ IAM หากต้องการเข้าสู่ระบบ AWS CLI ให้ใช้คำสั่งต่อไปนี้และระบุรหัสคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับตามที่สร้างไว้ก่อนหน้านี้:
แทนที่ “โปรไฟล์ผู้ใช้” ด้วยชื่อผู้ใช้ IAM ที่คุณระบุขณะสร้างผู้ใช้
ที่นี่ เราได้เข้าสู่ระบบ AWS CLI ในฐานะผู้ใช้ IAM เรียบร้อยแล้ว:
หากต้องการตรวจสอบว่าผู้ใช้รายนี้มีสิทธิ์อ่านอย่างเดียวสำหรับบัคเก็ต S3 หรือไม่ ให้ระบุคำสั่งต่อไปนี้แก่ CLI:
แทนที่ผู้ใช้โปรไฟล์ด้วยชื่อผู้ใช้ IAM ที่คุณระบุขณะสร้างผู้ใช้
เนื่องจากผู้ใช้รายนี้ไม่ได้รับการกำหนดสิทธิ์ใด ๆ จากผู้ใช้รูท จะส่งผลให้ ' ปฏิเสธการเข้าใช้ ' ข้อผิดพลาด:
ขั้นตอนที่ 3: สร้างนโยบายความน่าเชื่อถือและบทบาท IAM
นโยบายความน่าเชื่อถือจะกำหนดว่าผู้ใช้หรือทรัพยากร AWS เป็นเอนทิตีที่เชื่อถือได้สำหรับการรับบทบาทและรับสิทธิ์ ความสัมพันธ์ที่เชื่อถือได้นี้สร้างขึ้นโดยการระบุ ARN ของผู้ใช้ IAM หรือทรัพยากร AWS ภายในนโยบายสิทธิ์
หากต้องการสร้างนโยบายความน่าเชื่อถือภายใน IAM ให้ระบุคำสั่งต่อไปนี้แก่ CLI:
สำหรับวินโดวส์
แผ่นจดบันทึก trust-policy.json
แทนที่ ความน่าเชื่อถือ-policy.json พร้อมชื่อที่คุณต้องการสำหรับกรมธรรม์
สำหรับระบบปฏิบัติการลินุกซ์
เพราะ ความไว้วางใจบทบาทนโยบาย json
แทนที่ ความน่าเชื่อถือ-policy.json พร้อมชื่อที่คุณต้องการสำหรับกรมธรรม์
ผู้ใช้สามารถใช้โปรแกรมแก้ไขข้อความใดก็ได้ตามต้องการ สำหรับการสาธิตนี้ เราใช้แผ่นจดบันทึก:
นี่จะเป็นการเปิดแผ่นจดบันทึกสำหรับการสร้างนโยบายความน่าเชื่อถือ วางนโยบายต่อไปนี้ลงในแผ่นจดบันทึกแล้วกด “CTRL + เอส” จากแป้นพิมพ์เพื่อใช้และบันทึกการเปลี่ยนแปลง:
'เวอร์ชั่น' : : '2012-10-17' ,
'คำแถลง' : : {
'ผล' : : 'อนุญาต' ,
'วิชาเอก' : : {
'เอดับบลิว' : : 'arn:aws:iam::012345678910:ผู้ใช้/โปรไฟล์ผู้ใช้'
} ,
'การกระทำ' : : 'sts:สมมติบทบาท'
}
}
ในนโยบายข้างต้น: AWS: แทนที่ค่า “arn:aws:iam::012345678910:user/policy-user” ด้วย ARN ของผู้ใช้ IAM ที่สร้างขึ้นก่อนหน้าในส่วนนี้
นโยบายได้รับการแก้ไขภายในแผ่นจดบันทึก:
ต่อไป เราจะสร้างบทบาท IAM และแนบนโยบายความน่าเชื่อถือข้างต้นเข้าไปด้วย ใช้คำสั่งต่อไปนี้เพื่อสร้างบทบาท IAM:
ในคำสั่งดังกล่าวข้างต้น:
-
- –ชื่อบทบาท: แทนที่ “ไมโรล” ด้วยชื่อบทบาท IAM ที่คุณเลือก
- –สมมติ-บทบาท-นโยบาย-เอกสาร: ในฟิลด์นี้ ให้แทนที่คำนี้ “ความน่าเชื่อถือ-policy.json” ด้วยชื่อนโยบายความน่าเชื่อถือ IAM ของคุณ
สร้างบทบาท IAM สำเร็จแล้ว บันทึกบทบาท IAM บันทึก ARN ของบทบาท IAM ตามที่ไฮไลต์ไว้ในรูปภาพต่อไปนี้ ARN นี้จะถูกใช้ขณะกำหนดค่าโปรไฟล์ของผู้ใช้:
นโยบายความน่าเชื่อถือที่แนบมากับ IAM จะระบุว่าผู้ใช้ได้รับความเชื่อถือหรือไม่เพื่อรับบทบาทนี้ นโยบายการอนุญาตจะกำหนดว่าบทบาท IAM มีสิทธิ์ที่จำเป็นในการดำเนินการบางอย่างกับบริการของ AWS หรือไม่
เนื่องจากมีการแนบนโยบายความน่าเชื่อถือเข้ากับบทบาท IAM แล้ว ขั้นตอนต่อไปคือการแนบนโยบายสิทธิ์เข้ากับบทบาท IAM คำสั่งที่กล่าวถึงด้านล่างนี้จะใช้ในการแนบนโยบายการอนุญาตกับบทบาท IAM:
aws ฉันแนบนโยบายบทบาท --บทบาทชื่อ ไมโรล --นโยบาย-arn 'arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess'
ที่นี่ มีการแนบนโยบายการอนุญาตเข้ากับบทบาท IAM ผ่าน CLI:
ขั้นตอนที่ 4: กำหนดค่าโปรไฟล์
เพื่อให้ผู้ใช้รับบทบาทนี้ ก่อนอื่นเราจะกำหนดค่าโปรไฟล์นี้ภายในข้อมูลประจำตัวของ AWS หากต้องการแนบข้อมูลประจำตัวชั่วคราวเหล่านี้ ให้ระบุคำสั่งต่อไปนี้:
สมุดโน๊ต ~ / .aws / กำหนดค่า
เคล็ดลับโบนัส: แก้ไข “ไม่ได้ระบุเส้นทาง” ใน Notepad
ไฟล์กำหนดค่าจะมีการตั้งค่า [ค่าเริ่มต้น] ของ AWS CLI อย่างไรก็ตาม หากแผ่นจดบันทึกแสดงข้อความ “ระบบไม่พบเส้นทางที่ระบุ” ให้ป้อนคำสั่งด้านล่างนี้:
แผ่นจดบันทึก .aws / กำหนดค่า
ผู้ใช้ Linux สามารถใช้ 'เพราะ' ตัวแก้ไขสำหรับการกำหนดค่าโปรไฟล์ ผู้ใช้สามารถใช้โปรแกรมแก้ไขใดก็ได้ที่ต้องการเพื่อเปิดไฟล์กำหนดค่าของ AWS ในเครื่องท้องถิ่น:
ภายในไฟล์กำหนดค่าที่เปิดใน Notepad ให้แก้ไขการเปลี่ยนแปลงต่อไปนี้:
Role_arn = arn:aws:iam::012345678910:บทบาท / ไมโรล
แหล่งที่มา_โปรไฟล์ =โปรไฟล์ผู้ใช้
ในตัวอย่างข้างต้น:
-
- บทบาท_arn: แทนที่ค่า “arn:aws:iam::012345678910:role/myrole” ด้วย ARN ของบทบาท IAM
- แหล่งที่มา_โปรไฟล์: ในช่องนี้ ให้ระบุชื่อผู้ใช้ IAM ที่สร้างขึ้นในขั้นตอนที่ 1 ของวิธีนี้
หลังจากทำการเปลี่ยนแปลงที่จำเป็นแล้ว ให้กด “CTRL + เอส” จากแป้นพิมพ์เพื่อใช้และบันทึกการเปลี่ยนแปลง:
ตอนนี้ เพื่อตรวจสอบว่าผู้ใช้สามารถแสดงรายการบัคเก็ต S3 ได้หรือไม่ ให้ป้อนคำสั่งต่อไปนี้ให้กับ CLI:
ในคำสั่งข้างต้น: –โปรไฟล์ผู้ใช้: ในช่องนี้ ให้แทนที่ค่า “profile-use” ด้วยชื่อที่คุณระบุในไฟล์กำหนดค่า
ตามที่เราได้ระบุ “profile-user” ภายในไฟล์กำหนดค่า ดังนั้นเราจะใช้ชื่อเดียวกันกับคำสั่งใน CLI ก่อนหน้านี้ผู้ใช้ไม่สามารถเข้าถึงบริการ S3 ของ AWS ได้เนื่องจากไม่มีการกำหนดสิทธิ์อนุญาต บทบาท IAM ได้รับอนุญาต 'ReadOnlyAccess' ของบัคเก็ต S3 ดังนั้น เมื่อสมมติบทบาทนี้ ผู้ใช้สามารถแสดงรายการบัคเก็ตจากแดชบอร์ด S3 ได้:
นั่นคือทั้งหมดมาจากวิธีการสอนนี้
วิธีที่ 3: การใช้ MFA (การรับรองความถูกต้องแบบหลายปัจจัย)
ด้วยการเปิดใช้งานการรับรองความถูกต้องแบบหลายปัจจัย ผู้ใช้สามารถกำหนดค่าระดับความปลอดภัยเพิ่มเติมให้กับบัญชีของผู้ใช้ได้ เมื่อเปิดใช้งาน MFA ผู้ใช้ที่ไม่ได้รับอนุญาตจะไม่สามารถเข้าถึงบัญชีผู้ใช้ได้ แม้ว่าพวกเขาจะให้รหัสผ่านและชื่อผู้ใช้ก็ตาม MFA เป็นรหัสหกหลักที่จำเป็นสำหรับการเข้าสู่บัญชี หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการรับรองความถูกต้องแบบหลายปัจจัย โปรดดูบทความนี้:
ต่อไปนี้เป็นขั้นตอนในการรับบทบาทกับ MFA ผ่าน CLI:
ขั้นตอนที่ 1: สร้างผู้ใช้ IAM และเปิดใช้งาน MFA
สำหรับขั้นตอนนี้ ผู้ใช้สามารถใช้ CLI เพื่อสร้างผู้ใช้หรือเข้าถึง AWS Management Console ล็อกอินเข้าสู่บัญชีผู้ใช้รูทโดยใช้คำสั่งต่อไปนี้:
aws กำหนดค่า
ผลลัพธ์ของคำสั่งจะได้รับดังนี้:
หากต้องการสร้างผู้ใช้ ให้ระบุคำสั่งต่อไปนี้ให้กับ CLI:
ในคำสั่งข้างต้น: -ชื่อผู้ใช้: แทนที่ “ผู้ใช้ mfa” ด้วยชื่อผู้ใช้ IAM ที่คุณเลือก
สร้างผู้ใช้สำเร็จแล้ว บันทึก ARN ของผู้ใช้ตามที่จำเป็นในส่วนนี้ ขณะนี้ผู้ใช้รายนี้ยังไม่ได้รับการกำหนดสิทธิ์ใดๆ:
หากต้องการเปิดใช้งาน MFA ให้ไปที่ AWS Management Console และค้นหาบริการ IAM คลิกที่มันจากผลลัพธ์ที่แสดง:
คลิกตัวเลือกผู้ใช้จากบานหน้าต่างนำทางด้านซ้ายของบริการ IAM จากแดชบอร์ดผู้ใช้ คลิกชื่อผู้ใช้เพื่อกำหนดค่า MFA:
บนอินเทอร์เฟซถัดไป ให้แตะ “ข้อมูลรับรองความปลอดภัย” ตัวเลือก:
เลื่อนลงไปที่ การรับรองความถูกต้องแบบหลายปัจจัย ส่วนแล้วคลิก “กำหนดอุปกรณ์ MFA” ปุ่ม:
จัดให้มี ชื่อที่มีความหมาย ใน ชื่ออุปกรณ์ ช่องข้อความบนอินเทอร์เฟซที่แสดง:
เลื่อนลงไปที่ส่วนอุปกรณ์ MFA ผู้ใช้จะมีตัวเลือกต่างๆ ในการเปิดใช้งาน MFA เช่น โดยการสแกนโค้ด QR ผ่านทางคีย์ความปลอดภัยหรือโทเค็น TOTP ของฮาร์ดแวร์ สำหรับการสาธิตนี้ ให้เลือก “แอปตรวจสอบสิทธิ์” ตัวเลือก:
แตะที่ 'ต่อไป' ปุ่มที่ด้านล่างของอินเทอร์เฟซเพื่อดำเนินการต่อ:
คลิก “แสดงรหัส QR” ดังแสดงในภาพด้านล่าง:
เปิดตัว บนมือถือหรือแล็ปท็อปของคุณเพื่อสแกนรหัส QR แตะที่ “+” ตัวเลือกจากอินเทอร์เฟซ VIP ของ Symantec:
ใน Play store นั้น Symantec VIP ได้รับการตั้งชื่อเป็น VIP Access
บนอินเทอร์เฟซถัดไปของ Symantec VIP ให้คลิก สแกนรหัส QR ปุ่มที่ด้านล่างของอินเทอร์เฟซ:
สแกนโค้ด QR จาก AWS MFA อินเทอร์เฟซแอปของ Authenticator แสดง รหัสนี้จะสร้างชุดรหัสที่จำเป็นสำหรับการเข้าสู่ระบบคอนโซลของผู้ใช้ IAM:
แอป Symantec VIP จะสร้าง OTP หกหลัก หลังจากสแกนรหัส QR รหัสเหล่านี้จะตามมาทุกครั้ง 30 วินาที . ภาพหน้าจอด้านล่างแสดงให้เห็นรหัสสองรหัสที่สร้างขึ้น:
แจ้งรหัสไปที่ รหัส MFA 1 และ รหัส MFA 2 ช่องข้อความบนอินเทอร์เฟซแอป Authenticator ของ MFA คลิก “เพิ่ม สฟอ.” หลังจากนั้นเพื่อเปิดใช้งานฟังก์ชัน:
เปิดใช้งาน MFA สำหรับผู้ใช้ IAM เรียบร้อยแล้ว ทั้งนี้สามารถตรวจสอบได้โดย “การรับรองความถูกต้องด้วยหลายปัจจัย (MFA)” ส่วนของ “ข้อมูลรับรองความปลอดภัย” แท็บของ ผู้ใช้ไอแอม . จากส่วนนี้ ให้บันทึกค่าของ Identifier ตามที่จำเป็นในขณะที่รับบทบาท:
ขั้นตอนที่ 2: แนบนโยบายกับผู้ใช้
เพื่อให้ผู้ใช้สามารถรับบทบาทได้ ผู้ใช้จะต้องสามารถแสดงรายการบทบาท IAM เพื่อกำหนดบทบาทที่จะรับและสิทธิ์ในการรับบทบาทนั้น เพื่อให้ผู้ใช้ได้รับสิทธิ์ที่จำเป็น ให้ปฏิบัติตาม ของวิธีที่ 1 ในบทช่วยสอนนี้
ขั้นตอนที่ 3: สร้างนโยบายความน่าเชื่อถือและบทบาท IAM
ขั้นตอนต่อไปคือการสร้างนโยบายความน่าเชื่อถือเพื่อตรวจสอบว่าผู้ใช้เป็นเอนทิตีที่เชื่อถือได้หรือไม่ จากนั้นนโยบายความน่าเชื่อถือนี้จะถูกแนบไปกับบทบาท IAM หากต้องการสร้างนโยบายความน่าเชื่อถือและบทบาท IAM ให้ไปที่ Command Prompt แล้วปฏิบัติตาม ของวิธีที่ 1 ในบทความนี้
ขั้นตอนที่ 4: สร้างคีย์การเข้าถึง
เพื่อให้ผู้ใช้ได้รับอนุญาตและรับรองความถูกต้อง จะมีการสร้างคีย์การเข้าถึงคู่หนึ่งที่ไม่ซ้ำกันทั่วโลกทั่วทั้งแพลตฟอร์ม AWS คู่คีย์นี้ถูกใช้เมื่อเข้าสู่ระบบบัญชี AWS หากต้องการสร้างคีย์การเข้าถึงสำหรับผู้ใช้ IAM ให้ปฏิบัติตาม ของวิธีที่ 1 ในบทความนี้
ขั้นตอนที่ 5: กำหนดค่าข้อมูลรับรอง
ผู้ใช้ AWS สามารถเข้าถึงทรัพยากรและบริการของ AWS ได้ก็ต่อเมื่อมีการกำหนดค่าข้อมูลรับรองอย่างถูกต้อง ในส่วนนี้ของวิธีการ เราจะกำหนดค่าข้อมูลประจำตัวของผู้ใช้ IAM โดยการมอบคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับให้กับอินเทอร์เฟซบรรทัดคำสั่ง เพื่อจุดประสงค์นี้ให้ปฏิบัติตาม ของวิธีที่ 1 ของบทช่วยสอนนี้
ขั้นตอนที่ 6: สมมติบทบาท IAM
หลังจากแนบบทบาท IAM และใช้นโยบายความน่าเชื่อถือแล้ว ผู้ใช้สามารถรับบทบาท IAM ได้แล้ว เพื่อจุดประสงค์นี้ ให้จัดเตรียมคำสั่งต่อไปนี้ให้กับ CLI:
aws iam สร้างคีย์การเข้าถึง --ชื่อผู้ใช้ ผู้ใช้ mfa
ที่นี่สร้างคีย์สำหรับผู้ใช้ IAM สำเร็จแล้ว บันทึก AccessKeyId และ SecretAccessKey เนื่องจากจำเป็นสำหรับการเข้าสู่ระบบบัญชี AWS:
ขั้นตอนต่อไปคือการกำหนดค่าคีย์การเข้าถึงภายใน AWS CLI ใช้คำสั่งด้านล่างเพื่อกำหนดค่า CLI:
จัดเตรียมคีย์การเข้าถึงและคีย์การเข้าถึงข้อมูลลับให้กับ CLI สำหรับการกำหนดค่า:
หากต้องการตรวจสอบว่าผู้ใช้ IAM เข้าสู่ระบบ AWS CLI หรือไม่ ให้ใช้คำสั่งต่อไปนี้:
ผลลัพธ์ของคำสั่งจะได้รับดังต่อไปนี้ซึ่งบ่งชี้ว่าผู้ใช้เข้าสู่ระบบคอนโซล AWS สำเร็จแล้ว:
ผู้ใช้ได้รับอนุญาตให้แสดงรายการบทบาท IAM ภายในบัญชี AWS คำสั่งที่ระบุด้านล่างนี้ใช้เพื่อแสดงรายการบทบาท IAM:
ในคำสั่งข้างต้น: ชื่อบทบาท: ภายในช่องนี้ ให้แทนที่ค่า 'mfa-role' ด้วยชื่อบทบาท IAM ของคุณ
ผลลัพธ์ของคำสั่งจะได้รับดังนี้:
หากต้องการรับบทบาท IAM ด้วย MFA ให้ใช้คำสั่งบทบาทพร้อมพารามิเตอร์เพิ่มเติม เช่น หมายเลขซีเรียลและรหัสโทเค็น จัดเตรียมคำสั่งต่อไปนี้ให้กับ CLI:
ในคำสั่งข้างต้น:
-
- –บทบาท-arn: แทนที่ค่าของช่องนี้ด้วย ARN ของบทบาท IAM ของคุณ
- –ชื่อบทบาทเซสชัน: ในฟิลด์นี้ ผู้ใช้สามารถระบุชื่อเซสชันที่ต้องการได้
- –หมายเลขซีเรียล: แทนที่ค่าของฟิลด์นี้ด้วยค่าตัวระบุจากอินเทอร์เฟซ MFA ที่ถูกบันทึกไว้ก่อนหน้านี้
- –รหัสโทเค็น: ค่านี้จะถูกแทนที่ด้วยรหัสปัจจุบันที่แสดงในอินเทอร์เฟซ Symantec VIP
รหัสปัจจุบันที่แสดงใน Symantec VIP มีดังต่อไปนี้ รหัสเดียวกันจะถูกใช้ในค่า –token-code ของคำสั่ง:
ผลลัพธ์ของคำสั่งจะมีข้อมูลประจำตัวชั่วคราว เช่น โทเค็นเซสชัน, รหัสการเข้าถึง, รหัสการเข้าถึงความลับ ฯลฯ:
ขั้นตอนที่ 7: กำหนดค่าตัวแปรสภาพแวดล้อม
คีย์การเข้าถึงและโทเค็นเซสชันที่ส่งคืนจะถูกใช้เพื่อสร้างการเข้าสู่ระบบตามเซสชันและรับบทบาท มีการกล่าวถึงการใช้งานโดยละเอียดสำหรับการกำหนดค่าสภาพแวดล้อม ของวิธีที่ 1
ความคิดสุดท้าย
หากต้องการรับบทบาทโดยใช้ CLI มีสามวิธี ได้แก่ ผ่าน STS (บริการโทเค็นความปลอดภัย) พารามิเตอร์ –profile หรือ MFA (การตรวจสอบสิทธิ์แบบหลายปัจจัย) เพื่อให้ผู้ใช้รับบทบาท จะต้องกำหนดนโยบายความน่าเชื่อถือก่อน นโยบายความน่าเชื่อถือนี้กำหนดว่าผู้ใช้เป็นเอนทิตีที่เชื่อถือได้หรือไม่ ฟังก์ชันการทำงานนี้จำเป็นเนื่องจากช่วยแก้ปัญหาข้อกังวลด้านความปลอดภัยของผู้เชี่ยวชาญด้านไอทีและบุคคลทั่วไป นอกจากนี้ ผู้ใช้สามารถรับบทบาทได้ก็ต่อเมื่อได้รับการอนุญาตที่จำเป็นเท่านั้น
เมื่อผู้ใช้เข้ารับบทบาทใน AWS ระบบจะสร้างการเข้าสู่ระบบตามเซสชันเพื่อให้สิทธิ์การเข้าถึงที่ต้องการแก่ผู้ใช้ในระยะเวลาจำกัด โทเค็นจะถูกสร้างขึ้นซึ่งจะหมดอายุหลังจากเวลาที่กำหนด ดังนั้น ผู้ใช้จึงไม่สามารถทำงานด้านการดูแลระบบด้วยทรัพยากร AWS ได้อีกต่อไป บทความนี้นำเสนอการใช้งานจริงของวิธีการทั้งสามวิธีในการรับบทบาทใน AWS CLI