SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ
เชื่อมต่อผู้ให้บริการอัตลักษณ์ภายนอกและการเข้าสู่ระบบแอปเข้ากับ AWS
SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ เป็นบทเรียน AWS Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AWS Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
ความหมายของสหพันธภาพ
สหพันธภาพช่วยให้ข้อมูลระบุตัวตนที่กำหนดไว้นอก AWS ลงชื่อเข้าใช้และได้รับสิทธิ์ AWS โดยไม่ต้องมีผู้ใช้ IAM
ผู้ให้บริการข้อมูลระบุตัวตนภายนอก (IdP) รับรองผู้ใช้ และ AWS เชื่อถือการยืนยันนั้นเพื่อออก ข้อมูลรับรองชั่วคราว วิธีนี้ช่วยหลีกเลี่ยงการสร้างบัญชีซ้ำ และทำให้ไดเรกทอรีที่มีอยู่เดิมของคุณยังเป็นแหล่งข้อมูลหลัก
การเชื่อมโยงข้อมูลประจำตัวด้วย SAML 2.0
SAML (Security Assertion Markup Language) 2.0 เป็นมาตรฐานดั้งเดิมสำหรับการเชื่อมโยงข้อมูลประจำตัวในองค์กร
- คุณลงทะเบียน IdP ใน IAM เป็น ผู้ให้บริการข้อมูลประจำตัว SAML
- IdP จะส่ง ข้อมูลยืนยัน ที่ลงลายมือชื่อแล้วหลังจากผู้ใช้เข้าสู่ระบบ
- AWS แลกเปลี่ยนข้อมูลดังกล่าวผ่าน STS เป็นข้อมูลรับรองชั่วคราวของบทบาท
วิธีนี้ใช้กันทั่วไปกับ Active Directory Federation Services และ IdP ขององค์กรที่มีลักษณะคล้ายกัน
การเชื่อมโยงข้อมูลประจำตัวด้วย OIDC
OIDC (OpenID Connect) เป็นมาตรฐานสมัยใหม่ที่ใช้โทเค็นและสร้างขึ้นบน OAuth 2.0
มาตรฐานนี้เหมาะอย่างยิ่งสำหรับการเชื่อมโยง งานประมวลผลและระบบ CI/CD ตัวอย่างเช่น กระบวนการต่อเนื่องของ GitHub Actions สามารถส่งโทเค็น OIDC และ AWS จะรับบทบาทโดยไม่ต้องจัดเก็บคีย์ คุณลงทะเบียนผู้ให้บริการเป็น ผู้ให้บริการข้อมูลประจำตัว OIDC ใน IAM
การเชื่อมโยงข้อมูลประจำตัวผ่านเว็บ
การเชื่อมโยงข้อมูลประจำตัวผ่านเว็บ ทำให้ผู้ใช้เข้าสู่ระบบด้วยผู้ให้บริการสาธารณะ เช่น Google, Facebook หรือ Amazon ซึ่งพบได้ทั่วไปในแอปมือถือและเว็บ
แอปจะส่งโทเค็นของผู้ให้บริการไปยัง STS ผ่าน AssumeRoleWithWebIdentity และรับข้อมูลรับรองชั่วคราวที่จำกัดขอบเขตไว้กับบทบาท ผู้ใช้ไม่จำเป็นต้องมีข้อมูลประจำตัว IAM
บทบาทของ STS
เส้นทางการเชื่อมโยงข้อมูลประจำตัวทั้งหมดมาบรรจบกันที่ STS (Security Token Service) STS แลกเปลี่ยนข้อมูลยืนยันภายนอกที่ผ่านการตรวจสอบแล้วเป็นข้อมูลรับรอง AWS อายุสั้นซึ่งผูกกับบทบาท IAM
- SAML ใช้ AssumeRoleWithSAML
- OIDC และข้อมูลประจำตัวผ่านเว็บใช้ AssumeRoleWithWebIdentity
สิทธิ์ของบทบาทจะกำหนดว่าผู้ใช้ที่เชื่อมโยงข้อมูลประจำตัวสามารถทำอะไรได้บ้าง
นโยบายความน่าเชื่อถือสำหรับการเชื่อมโยงข้อมูลประจำตัว
บทบาท IAM ที่ผู้ใช้ซึ่งเชื่อมโยงข้อมูลประจำตัวรับบทบาท จะมี นโยบายความน่าเชื่อถือ ซึ่งระบุ IdP เป็นผู้รับผิดชอบหลัก
เงื่อนไขในนโยบายความน่าเชื่อถือจะจำกัดว่าผู้ใช้รายใดจากผู้ให้บริการนั้นสามารถรับบทบาทได้ เช่น ตรวจสอบแอตทริบิวต์ SAML ที่ระบุหรือการอ้างสิทธิ์ sub ของ OIDC วิธีนี้ช่วยป้องกันไม่ให้ผู้ให้บริการที่มีขอบเขตกว้างมอบสิทธิ์แก่ทุกคน
{
"Effect": "Allow",
"Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/token.actions.githubusercontent.com" },
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": { "StringLike": { "token.actions.githubusercontent.com:sub": "repo:my-org/my-repo:*" } }
}Identity Center เทียบกับการเชื่อมโยงข้อมูลประจำตัวโดยตรง
IAM Identity Center เป็นชั้นการเชื่อมโยงข้อมูลประจำตัวสำหรับ บุคลากร โดยมีพอร์ทัลที่ใช้งานสะดวกและชุดสิทธิ์
ผู้ให้บริการ SAML หรือ OIDC โดยตรงของ IAM เป็นองค์ประกอบระดับล่างที่เหมาะกว่าสำหรับการเชื่อมโยง แอปพลิเคชันและงานประมวลผล หรือระบบเดิม การสอบคาดหวังให้คุณเลือก Identity Center สำหรับ SSO ของมนุษย์ และเลือกบทบาท OIDC สำหรับกระบวนการต่อเนื่อง
กลุ่มข้อมูลประจำตัวของ Amazon Cognito
สำหรับแอปที่ให้บริการผู้บริโภค กลุ่มข้อมูลประจำตัวของ Amazon Cognito จะทำหน้าที่เป็นตัวกลางจัดการการเชื่อมโยงข้อมูลประจำตัวผ่านเว็บให้คุณ
ระบบแลกเปลี่ยนการเข้าสู่ระบบผ่านโซเชียลหรือกลุ่มผู้ใช้เป็นข้อมูลรับรอง AWS ชั่วคราว โดยจัดการการเรียก STS เบื้องหลัง วิธีนี้เป็นแนวทางที่แนะนำสำหรับแอปมือถือ แทนการเรียก AssumeRoleWithWebIdentity โดยตรง
หลีกเลี่ยงการฝังคีย์
จุดประสงค์ทั้งหมดของการเชื่อมโยงข้อมูลประจำตัวคือ หยุดการฝังคีย์ระยะยาว ไว้ในแอป กระบวนการต่อเนื่อง และอุปกรณ์
- คีย์แบบคงที่ที่รั่วไหลเป็นสาเหตุสำคัญของการโจมตีข้อมูล
- โทเค็นที่เชื่อมโยงข้อมูลประจำตัวมีอายุสั้นและผูกกับข้อมูลประจำตัวที่ผ่านการตรวจสอบแล้ว
หากสถานการณ์ระบุว่ามีคีย์เข้าถึงเขียนตายตัวไว้ การเชื่อมโยงข้อมูลประจำตัวมักเป็นวิธีแก้ไข
การเลือกมาตรฐานที่เหมาะสม
เลือกมาตรฐานให้ตรงกับแหล่งที่มา:
- SAML สำหรับ IdP ขององค์กรแบบดั้งเดิมและ AD
- OIDC สำหรับงานประมวลผลสมัยใหม่และ CI/CD
- ข้อมูลประจำตัวผ่านเว็บ / Cognito สำหรับผู้ใช้แอปสาธารณะ
ทั้งหมดมอบข้อมูลรับรองชั่วคราว โดยแตกต่างกันเป็นหลักที่รูปแบบโทเค็นและกรณีการใช้งาน
การตรวจสอบการเข้าถึงที่เชื่อมโยงข้อมูลประจำตัว
เซสชันที่เชื่อมโยงข้อมูลประจำตัวจะปรากฏใน CloudTrail พร้อมข้อมูลประจำตัวของบทบาทที่รับมาและเหตุการณ์การเชื่อมโยงข้อมูลประจำตัว
คุณสามารถตรวจสอบได้ว่า IdP และผู้ใช้ภายนอกรายใดเป็นผู้เริ่มการดำเนินการ โดยยังคงตรวจสอบความรับผิดชอบได้แม้จะไม่มีผู้ใช้ IAM การตั้งชื่อบทบาทอย่างสม่ำเสมอทำให้บันทึกเหล่านี้อ่านได้ง่ายขึ้นมาก
ตรวจสอบอย่างรวดเร็ว
เลือกตัวเลือกการเชื่อมโยงข้อมูลประจำตัวที่ถูกต้อง
สรุปทบทวน
คุณได้เปรียบเทียบมาตรฐานการเชื่อมโยงข้อมูลประจำตัวแล้ว
- SAML สำหรับ IdP ขององค์กร OIDC สำหรับงานประมวลผล และ ข้อมูลประจำตัวผ่านเว็บ/Cognito สำหรับผู้ใช้แอป
- ทั้งหมดแลกเปลี่ยนข้อมูลยืนยันภายนอกที่ผ่านการตรวจสอบผ่าน STS เป็นข้อมูลรับรองชั่วคราวของบทบาท
- การเชื่อมโยงข้อมูลประจำตัวทำให้ไม่จำเป็นต้องฝังคีย์ระยะยาว
คำถามที่พบบ่อย
บทเรียน “SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AWS Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AWS Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ”
เชื่อมต่อผู้ให้บริการอัตลักษณ์ภายนอกและการเข้าสู่ระบบแอปเข้ากับ AWS คุณปฏิบัติ AWS Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AWS Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AWS Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AWS Security Academy นี้ได้ไหม
ได้ บทเรียน AWS Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การลงชื่อเข้าใช้ครั้งเดียวด้วย IAM Identity Center
- SAML, OIDC และการรวมศูนย์อัตลักษณ์บนเว็บ
- โรลข้ามบัญชีและนโยบายทรัพยากร
- การตรวจสอบการแชร์ด้วย IAM Access Analyzer