AWS Identity และการจัดการการเข้าถึง

ส่วนที่ 1 จาก 3

ในปีพ. ศ. 2554 Amazon ประกาศความพร้อมของ AWS Identity & Access Management (IAM) สำหรับ CloudFront IAM เปิดตัวในปี 2010 และรวมถึงการสนับสนุน S3 AWS Identity & Access Management (IAM) ช่วยให้คุณสามารถมีผู้ใช้หลายรายภายในบัญชี AWS ได้ ถ้าคุณใช้ Amazon Web Services (AWS) คุณทราบว่าวิธีเดียวที่จะจัดการเนื้อหาใน AWS คือการให้ชื่อผู้ใช้และรหัสผ่านหรือคีย์การเข้าถึงของคุณ

นี่เป็นปัญหาด้านความปลอดภัยที่แท้จริงสำหรับพวกเราส่วนใหญ่ IAM ช่วยลดความจำเป็นในการแชร์รหัสผ่านและคีย์การเข้าถึง

การเปลี่ยนรหัสผ่าน AWS หลักของเราหรือการสร้างคีย์ใหม่ ๆ เป็นเพียงวิธีแก้ปัญหาที่ยุ่งเหยิงเมื่อพนักงานออกจากทีมของเรา AWS Identity & Access Management (IAM) เป็นการเริ่มต้นที่ดีเพื่อให้บัญชีผู้ใช้แต่ละรายมีแต่ละคีย์ อย่างไรก็ตามเราเป็นผู้ใช้ S3 / CloudFront ดังนั้นเราจึงได้เฝ้าติดตาม CloudFront เพื่อเพิ่ม IAM ซึ่งเกิดขึ้นในที่สุด

ฉันพบว่าเอกสารในบริการนี้เป็นบิตกระจัดกระจาย มีผลิตภัณฑ์ของบุคคลที่สามจำนวนหนึ่งที่ให้การสนับสนุน Identity & Access Management (IAM) เป็นจำนวนมาก แต่นักพัฒนามักจะไม่ค่อยกระตือรือร้นดังนั้นฉันจึงหาทางออกฟรีในการจัดการ IAM กับบริการ Amazon S3 ของเรา

บทความนี้ดำเนินการขั้นตอนการตั้งค่าส่วนติดต่อบรรทัดคำสั่งที่สนับสนุน IAM และการตั้งค่ากลุ่ม / ผู้ใช้ที่มีสิทธิ์เข้าถึง S3 คุณจำเป็นต้องมีการตั้งค่าบัญชี Amazon AWS S3 ก่อนที่คุณจะเริ่มกำหนดค่า Identity & Access Management (IAM)

บทความของฉันโดยใช้ Amazon Simple Storage Service (S3) จะนำคุณสู่ขั้นตอนการตั้งค่าบัญชี AWS S3

ต่อไปนี้เป็นขั้นตอนในการตั้งค่าและการใช้ผู้ใช้ IAM นี้เขียนขึ้นสำหรับ Windows แต่คุณสามารถปรับแต่งเพื่อใช้ใน Linux, UNIX และ / หรือ Mac OSX

  1. ติดตั้งและกำหนดค่า Command Line Interface (CLI)
  1. สร้างกลุ่ม
  2. ให้กลุ่มเข้าถึง S3 Bucket และ CloudFront
  3. สร้างผู้ใช้และเพิ่มในกลุ่ม
  4. สร้างโปรไฟล์การเข้าสู่ระบบและสร้างคีย์
  5. เข้าใช้งานทดสอบ

ติดตั้งและกำหนดค่า Command Line Interface (CLI)

IAM Command Line Toolkit เป็นโปรแกรม Java ที่มีอยู่ใน Amazon's AWS Developers Tools เครื่องมือนี้ช่วยให้คุณสามารถรันคำสั่ง IAM API จากโปรแกรมอรรถประโยชน์เชลล์ (DOS for Windows)

คำสั่ง IAM ทั้งหมดสามารถรันได้จาก Command Prompt คำสั่งทั้งหมดเริ่มต้นด้วย "iam-"

สร้างกลุ่ม

มีกลุ่มที่สามารถสร้างได้สูงสุด 100 กลุ่มสำหรับแต่ละบัญชี AWS แม้ว่าคุณจะสามารถตั้งค่าสิทธิ์ใน IAM ได้ในระดับผู้ใช้ แต่การใช้กลุ่มจะเป็นการปฏิบัติที่ดีที่สุด นี่คือกระบวนการในการสร้างกลุ่มใน IAM

ให้กลุ่มเข้าถึง S3 Bucket และ CloudFront

นโยบายจะควบคุมสิ่งที่กลุ่มของคุณสามารถทำใน S3 หรือ CloudFront ได้ ตามค่าเริ่มต้นกลุ่มของคุณจะไม่มีสิทธิ์เข้าถึง AWS ฉันพบเอกสารเกี่ยวกับนโยบายที่จะตกลง แต่ในการสร้างกำมือของนโยบายฉันได้เล็กน้อยทดลองและข้อผิดพลาดเพื่อให้ได้สิ่งที่ทำงานวิธีที่ฉันต้องการให้ทำงาน

คุณมีตัวเลือกสำหรับการสร้างนโยบาย

ตัวเลือกหนึ่งคือคุณสามารถใส่คำสั่งเหล่านี้ลงใน Command Prompt ได้โดยตรง เนื่องจากคุณอาจมีการสร้างนโยบายและปรับแต่งให้เหมาะสำหรับฉันดูเหมือนจะง่ายกว่าในการเพิ่มนโยบายลงในไฟล์ข้อความแล้วอัปโหลดไฟล์ข้อความเป็นพารามิเตอร์ด้วยคำสั่ง iam-groupuploadpolicy นี่เป็นกระบวนการที่ใช้ไฟล์ข้อความและอัปโหลดไปยัง IAM

มีนโยบายมากมายสำหรับนโยบาย IAM Amazon มีเครื่องมือที่ยอดเยี่ยมจริงๆที่เรียกว่า AWS Policy Generator เครื่องมือนี้มี GUI ที่คุณสามารถสร้างนโยบายของคุณและสร้างรหัสจริงที่คุณต้องใช้เพื่อดำเนินนโยบายนี้ นอกจากนี้คุณยังสามารถดูส่วนภาษาของนโยบายการเข้าถึงได้จากเอกสารออนไลน์ที่ใช้ AWS Identity and Access Management

สร้างผู้ใช้และเพิ่มในกลุ่ม

ขั้นตอนการสร้างผู้ใช้รายใหม่และการเพิ่มลงในกลุ่มเพื่อให้เข้าถึงได้โดยมีขั้นตอนสองขั้นตอน

สร้างโปรไฟล์การเข้าสู่ระบบและสร้างคีย์

ณ จุดนี้คุณได้สร้างผู้ใช้ แต่คุณจำเป็นต้องให้พวกเขามีวิธีการเพิ่มและลบวัตถุจาก S3 จริง

มี 2 ​​ตัวเลือกเพื่อให้ผู้ใช้ของคุณเข้าถึง S3 โดยใช้ IAM คุณสามารถสร้างโปรไฟล์เข้าสู่ระบบและให้รหัสผ่านกับผู้ใช้ของคุณ พวกเขาสามารถใช้ข้อมูลรับรองเพื่อเข้าสู่ Amazon AWS Console ได้ ตัวเลือกอื่น ๆ คือให้สิทธิ์การเข้าถึงและคีย์ลับแก่ผู้ใช้ของคุณ พวกเขาสามารถใช้คีย์เหล่านี้ในเครื่องมือของบุคคลที่ 3 เช่น S3 Fox, CloudBerry S3 Explorer หรือ S3 Browser

สร้างโปรไฟล์เข้าสู่ระบบ

การสร้างโปรไฟล์ล็อกอินสำหรับผู้ใช้ S3 ของคุณจะมีชื่อผู้ใช้และรหัสผ่านที่สามารถใช้เพื่อเข้าสู่ระบบ Amazon AWS Console ได้

สร้างคีย์

การสร้างคีย์การเข้าถึง AWS Secret Access และรหัสคีย์การเข้าถึง AWS ที่สอดคล้องกันจะทำให้ผู้ใช้สามารถใช้ซอฟต์แวร์ของบุคคลที่ 3 เช่นเดียวกับที่ได้กล่าวมาก่อนหน้านี้ โปรดจำไว้ว่าเป็นมาตรการรักษาความปลอดภัยคุณสามารถรับคีย์เหล่านี้ได้ในระหว่างขั้นตอนการเพิ่มโปรไฟล์ผู้ใช้เท่านั้น ตรวจสอบให้แน่ใจว่าคุณได้คัดลอกและวางเอาต์พุตจาก Command Prompt แล้วบันทึกในไฟล์ข้อความ คุณสามารถส่งไฟล์ไปยังผู้ใช้ของคุณได้

เข้าใช้งานทดสอบ

ตอนนี้คุณได้สร้างกลุ่ม / ผู้ใช้ IAM และกำหนดให้กลุ่มเข้าถึงโดยใช้นโยบายคุณต้องทดสอบสิทธิ์การเข้าถึง

การเข้าถึงคอนโซล

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

มี URL พิเศษที่คุณสามารถใช้ซึ่งจะมีแบบฟอร์มการลงชื่อเข้าใช้สำหรับบัญชี Amazon AWS ของคุณเท่านั้น นี่คือ URL เพื่อเข้าสู่ S3 สำหรับผู้ใช้ IAM ของคุณ

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBER คือหมายเลขบัญชี AWS ปกติของคุณ คุณสามารถรับข้อมูลนี้ได้โดยเข้าสู่แบบฟอร์มการลงชื่อเข้าใช้ Amazon Web Service เข้าสู่ระบบและคลิกที่บัญชี | กิจกรรมในบัญชี หมายเลขบัญชีของคุณอยู่ที่มุมบนขวา ตรวจสอบว่าได้ลบเครื่องหมายขีดคั่น URL จะมีลักษณะคล้าย https://123456789012.signin.aws.amazon.com/console/s3

การใช้ Access Keys

คุณสามารถดาวน์โหลดและติดตั้งเครื่องมือใด ๆ ของ บริษัท อื่นที่กล่าวถึงในบทความนี้ได้ ป้อนคีย์รหัสการเข้าถึงและคีย์การเข้าถึงข้อมูลลับต่อเอกสารของเครื่องมือของบุคคลที่สาม

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

ทรัพยากร

ต่อไปนี้เป็นแหล่งข้อมูลเพื่อช่วยให้คุณเข้าใจถึงเอกลักษณ์และการจัดการการเข้าถึง (IAM)