ฉันสงสัยว่าสถานการณ์ของฉันจะดีที่สุด ฉันเข้าใจว่าโดยปกติแล้วคุณต้องการเพียง 1 Service Principal (SP) ต่อแอปพลิเคชัน เนื่องจากฉันไม่พบคำตอบที่ชัดเจนเกี่ยวกับสถานการณ์ของฉัน นี่คือรายละเอียด
อย่างไรก็ตาม สมมติว่าต่อไปนี้:
- ฉันมี แอพขนาดเล็ก. ติดตั้งให้ลูกค้าทุกรายที่ฉันมี (สมมติว่า 100)
- ลูกค้าแต่ละรายจะส่งกิจกรรมไปยัง EventHub (ส่งเท่านั้น)
- เดอะ แอพขนาดเล็ก ใช้ข้อมูลรับรองเพื่อเชื่อมต่อกับบริการของฉันเพื่อดึงคีย์สำหรับฮับเหตุการณ์
- บริการของฉันเชื่อมต่อกับ Azure และเมื่อแอปขนาดเล็กขอข้อมูลรับรอง EventHub ฉันจะส่ง Secret/Certificate กลับไป
โดยพื้นฐานแล้ว ฉันควร:
- จัดการ 1 SP ต่อลูกค้า ?
- สร้าง/จัดการความลับ/ใบรับรองจำนวนมากสำหรับ SP (สมมติว่า 1 รายต่อลูกค้าหนึ่งราย)
- จากบริการของฉันให้ใช้ 1 SP + 1 ใบรับรองและใช้เพื่อสร้างโทเค็นใหม่ที่จะให้บริการสำหรับฉัน แอพขนาดเล็ก
- ถอยกลับ จากความเข้าใจของฉัน เราไม่สามารถทำให้โทเค็นเป็นโมฆะได้เมื่อมีการใช้งานจนกว่าจะพยายามเชื่อมต่อใหม่
หมายเหตุ: แน่นอนว่ามันไม่เกี่ยวกับการทำ 3 อย่าง แต่ 1 อย่างเท่านั้น
ฉันเห็นสิ่งต่อไปนี้ https://docs.microsoft.com/en-us/azure/event-hubs/authorize-access-shared-access-signature:
หากแอปพลิเคชันของคุณต้องให้สิทธิ์การเข้าถึงทรัพยากร Event Hubs ตามข้อมูลประจำตัวของผู้ใช้หรือบริการ แอปพลิเคชันควรใช้บริการโทเค็นความปลอดภัยที่ออกโทเค็น SAS หลังจากการตรวจสอบสิทธิ์และการตรวจสอบการเข้าถึง
ดังนั้นฉันเดาว่าตัวเลือก 3 คือหนทางที่จะไป