Score:1

บทบาทของ AWS IAM: เอนทิตีที่เชื่อถือได้คืออะไรกันแน่

ธง de

ฉันมีบทบาทที่แนบกับ LaunchConfiguration สำหรับอินสแตนซ์ EC2 ซึ่งให้อินสแตนซ์ EC2 ดำเนินการบางอย่างเช่นบันทึก Cloudwatch (บริบทไม่สำคัญสำหรับคำถาม) ใน Cloudformation บทบาทจะมีลักษณะดังนี้:

    ประเภท: 'AWS::IAM::บทบาท'
    คุณสมบัติ:
      สมมติบทบาทนโยบายเอกสาร:
        เวอร์ชัน: '2012-10-17'
        คำแถลง:
        - ผลกระทบ: อนุญาต
          อาจารย์ใหญ่:
            บริการ: 'ec2.amazonaws.com'
          การดำเนินการ: 'sts:AssumeRole'
      นโยบาย: ...

หากฉันดูบทบาทใน AWS Console ใต้ "ความสัมพันธ์ที่ไว้วางใจ" จะมีข้อความระบุไว้ "หน่วยงานที่เชื่อถือได้: ผู้ให้บริการข้อมูลประจำตัว ec2.amazonaws.com":


ป้อนคำอธิบายรูปภาพที่นี่


ฉันถือว่า Cloudformation AssumeRolePolicyDocument.Principal.Service แมปกับ "Trusted Entity" ในคอนโซล (ซึ่งเป็นวิธีแปลกในการตั้งชื่อสิ่งต่าง ๆ เพราะฉันอ่าน "อาจารย์ใหญ่" มีความหมายแตกต่างกันใน IAM แต่อย่างไรก็ตาม ... ) ฉันเครียดสมองพยายามปะติดปะต่อสิ่งที่เกิดขึ้น คำถามของฉันคือ:

  1. IAM "นิติบุคคลที่เชื่อถือได้" คืออะไรกันแน่
  2. มันเป็นเอนทิตีอย่างไร 'ec2.amazonaws.com' "สวมบทบาท"? แนวคิดของบริการ 'ec2.amazonaws.com' สมมติว่าม้วนไม่คลิกกับฉัน
  3. ตัวตนในแง่ใด 'ec2.amazonaws.com' เป็นการ "ให้ข้อมูลประจำตัว" หรือไม่?
  4. ฉันจะหารายการทั้งหมดที่เรียกว่าหน่วยงานที่เชื่อถือได้เหล่านี้ได้จากที่ใด
Score:2
ธง gp
Tim
  1. เอนทิตีที่เชื่อถือได้คือบริการที่สามารถรับบทบาทใดก็ได้ หากคุณทำให้ EC2 เป็นเอนทิตีที่เชื่อถือได้ คุณจะไม่สามารถรับบทบาทเพื่อใช้สิทธิ์ได้ แลมบ์ดาจะไม่สามารถรับบทบาทนี้ได้ มีเพียงอินสแตนซ์ EC2 เท่านั้น บริการส่วนใหญ่ใน AWS จะได้รับสิทธิ์โดยสวมบทบาท บริการจำนวนมากสามารถกำหนดค่านี้ให้คุณโดยอัตโนมัติ ซึ่งเป็นเรื่องปกติเมื่อผู้คนกำลังเรียนรู้ AWS เมื่อคุณทำงานในสภาพแวดล้อมที่ปลอดภัย การตั้งค่าบทบาทและการอนุญาตจะค่อนข้างสำคัญ ตัวอย่างเช่น หากคุณมอบบทบาทให้ EC2 โดยมีสิทธิ์ของผู้ดูแลระบบ และมีผู้บุกรุกอินสแตนซ์ พวกเขาจะมีสิทธิ์ของผู้ดูแลระบบในบัญชี AWS ของคุณอย่างมีประสิทธิภาพ ซึ่งเป็นเหตุผลว่าทำไมคุณจึงให้สิทธิ์ทรัพยากร/บทบาททั้งหมดน้อยที่สุด
  2. เมื่อคุณกำหนดค่าทรัพยากร เช่น อินสแตนซ์ EC2 หรือฟังก์ชัน Lambda (อื่นๆ) คุณจะต้องบอกทรัพยากรนั้นว่าจะรับบทบาทใด อินสแตนซ์ / ฟังก์ชัน / EC2 นั้นมีสิทธิ์ที่เกี่ยวข้องกับบทบาท
  3. นี่หมายความว่าอินสแตนซ์ EC2 ได้รับอนุญาตให้รับบทบาทนั้น เมื่ออินสแตนซ์ EC2 เริ่มทำงาน จะระบุบทบาทที่ต้องการรับ IAM ตรวจสอบบทบาทที่ได้รับอนุญาตให้รับบทบาทนั้นและอนุญาตให้เริ่มอินสแตนซ์
  4. มีรายชื่อหลักบริการของ AWS ที่นี่. เมื่อคุณกด "สร้างบทบาท" ในคอนโซล คุณจะได้รับรายการในเอนทิตีที่เชื่อถือได้ เมื่อฉันต้องการใส่ลงใน CloudFormation ฉันแค่คลิกจากนั้นคัดลอกและวางจาก json

AssumeRolePolicyDocument ระบุว่าใครสามารถรับบทบาทนี้ได้ ฉันสงสัยว่าคุณสามารถระบุหลายเอนทิตีที่สามารถรับบทบาทได้ แต่ในทางปฏิบัติ ฉันเขียนบทบาทสำหรับแต่ละบริการ

คุณสามารถนึกถึงบทบาท IAM ที่คล้ายกับบทบาทที่ผู้คนมี บทบาทของฉันในฐานะ "สถาปนิกสำหรับบริษัท XYZ" ให้สิทธิ์ฉันในการเข้าสำนักงาน เข้าสู่ระบบ อะไรทำนองนั้นถ้าฉันสวมบทบาทเป็นตำรวจ ฉันมีสิทธิเพิ่มเติม เช่น เข้าไปในสถานีตำรวจ จับคน ฯลฯ

spinkus avatar
de flag
นั่นช่วยได้มาก ขอบคุณมาก Q3 ยังคงเป็นปริศนาเล็กน้อยสำหรับฉันเอนทิตีบริการ ec2.amazonaws.com ให้รหัสอินสแตนซ์? หรือเป็นเพียงว่ารหัสในกรณีนี้อยู่ในขอบเขตของ ec2 เช่นเดียวกับที่กรมตำรวจระบุตัวตนของเจ้าหน้าที่ ฉันได้ความคล้ายคลึงของตำรวจ พนักงานดับเพลิง สถาปนิก แต่ฉันคิดว่ามากกว่านั้นคือตัวอย่าง ec2 ของฉัน / ตำรวจ *ตัวมันเอง* ที่รับบทบาทไม่ใช่บริการ ec2 / กรมตำรวจ ฉันแค่ไม่เข้าใจแนวคิดของกรมตำรวจที่สวมบทบาท :/.
Tim avatar
gp flag
Tim
ในการเปรียบเทียบบุคคลที่สวมบทบาทเป็นตำรวจ กรมตำรวจจะไม่มีบทบาท ใน AWS อินสแตนซ์ EC2 จะรับบทบาท ไม่ใช่บริการ EC2 ในเอนทิตีที่เชื่อถือได้ คุณกำลังบอก AWS ว่าแต่ละอินสแตนซ์ / ฟังก์ชัน / ฯลฯ ภายในบริการสามารถรับบทบาทได้ ไม่ใช่ว่าบริการนั้นสามารถรับบทบาทได้
Tim avatar
gp flag
Tim
ฉันใช้เวลาพอสมควรกว่าจะเข้าใจ IAM จริงๆ มันค่อนข้างซับซ้อน หลังจากทำการรับรอง AWS Associate และ Professional แล้ว ฉันมีความคิดที่ดีทีเดียว แต่หลังจากฉันเรียนเฉพาะทางด้านความปลอดภัยและใช้ IAM อย่างแข็งขันทุกวันเป็นส่วนหนึ่งของงาน ฉันจึงเข้าใจอย่างถ่องแท้จริงๆ แม้แต่ตอนนี้ฉันก็สะดุดเป็นครั้งคราว ด้วยปฏิสัมพันธ์ระหว่างนโยบาย IAM, SCP และนโยบายทรัพยากรบริการ ขอแนะนำให้คุณทำการฝึกอบรม AWS การฝึกอบรมพิเศษด้านความปลอดภัยของ Cloud Guru ครอบคลุมเรื่องนี้เป็นอย่างดี แต่เริ่มต้นด้วยสถาปนิก
spinkus avatar
de flag
"... คุณกำลังบอก AWS ว่าแต่ละอินสแตนซ์ / ฟังก์ชัน / ฯลฯ ภายในบริการสามารถรับบทบาทได้ ไม่ใช่ว่าบริการนั้นสามารถรับบทบาทได้" ตกลง นั่นคือสิ่งที่ฉันเห็นโดยสัญชาตญาณ แต่คอนโซล IAM แจ้งว่า "หน่วยงานที่เชื่อถือได้ต่อไปนี้สามารถรับบทบาทนี้ได้" จากนั้นจึงแสดงรายการบริการ และฉันสังเกตเห็นว่าบางครั้ง "นิติบุคคลที่เชื่อถือได้" *เป็น* ผู้ใช้จริงๆ (สำหรับบทบาทการเข้าถึงบัญชีข้ามองค์กร)
spinkus avatar
de flag
มันทำให้ฉันใช้เวลานานเหมือนกัน ฉันคิดว่าฉันเข้าใจไม่มากก็น้อย แต่ยิ่งดูหนักเท่าไหร่ก็ยิ่งพังทลาย :) ฉันจะไปที่นั่น ขอบคุณ.
Tim avatar
gp flag
Tim
ถ้อยคำของคอนโซลไม่ถูกต้องนัก แต่เป็นผู้ใช้ / อินสแตนซ์ EC2 / ฟังก์ชันแลมบ์ดา / ฯลฯ ที่สามารถรับบทบาทได้ เราใช้บทบาทข้ามบัญชีอย่างกว้างขวางในองค์กร AWS บางแห่งที่เรามีการตรวจสอบสิทธิ์ผู้ใช้ IAM(บิตถัดไปนี้เป็นขั้นสูงกว่า) ในองค์กรอื่นๆ ที่รวมเข้ากับผู้ให้บริการข้อมูลประจำตัวภายนอก เช่น AD เราใช้ AWS SSO ซึ่งสร้างบทบาทในแต่ละบัญชีที่ผู้ใช้สามารถรับได้
glitchwizard avatar
br flag
สิ่งนี้มีประโยชน์มาก ขอบคุณ ฉันพยายามหาวิธีระบุบทบาทที่ไม่ได้ใช้งานและสิ่งนี้ช่วยให้ฉันเข้าใจเรื่องนี้ได้ดีทีเดียว เรามีบทบาทที่เก่าแต่ไม่จำเป็นต้องเลิกใช้ไปโดยสิ้นเชิง เช่น อาจถูกใช้ทุกๆ 2-3 ปี ดังนั้นการระบุว่ามีบทบาทที่มีการติดตามเพียง 400 วันตามค่าเริ่มต้นจึงไม่เป็นประโยชน์ เนื่องจากอาจใช้ทุกๆ 700 วันหรือมากกว่านั้น สิ่งนี้ช่วยให้ฉันระบุได้ว่าบริการใดอาจรับบทบาทตามหน่วยงานที่เชื่อถือได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา