การกำหนดค่าข้อมูลประจำตัวที่มีการจัดการสำหรับฟังก์ชั่น Azure เกี่ยวข้องกับการใช้ข้อมูลประจำตัวที่ได้รับการจัดการระบบที่ได้รับการจัดการหรือผู้ใช้ที่ได้รับการจัดการที่ได้รับการจัดการ นี่คือวิธีที่คุณสามารถตั้งค่าทั้งสองประเภท:
การเปิดใช้งานระบบที่ได้รับการจัดการที่ได้รับการจัดการ
1. นำทางไปยัง Azure Portal: ไปที่แอพฟังก์ชัน Azure ของคุณในพอร์ทัล Azure
2. เลือกตัวเลือกข้อมูลประจำตัว: ในเมนูด้านซ้ายเลือกการตั้งค่าจากนั้นคลิกที่ตัวตน
3. เปิดใช้งานตัวตนที่กำหนดระบบ: บนแท็บที่กำหนดระบบสลับสถานะไปยังเปิดและคลิกบันทึก สิ่งนี้สร้างตัวตนที่มีการจัดการด้วยชื่อเดียวกับแอพฟังก์ชั่นของคุณ
4. กำหนดสิทธิ์: นำทางไปยังทรัพยากร (เช่น Azure Storage หรือฐานข้อมูล SQL) ที่คุณต้องการให้ฟังก์ชั่นของคุณเข้าถึงได้ กำหนดบทบาทที่เหมาะสมให้กับตัวตนที่ได้รับการจัดการโดยไปที่การควบคุมการควบคุม (IAM) จากนั้นการกำหนดบทบาทและการเพิ่มตัวตนที่ได้รับการจัดการให้กับบทบาทที่ต้องการ [1] [3] [7]
เปิดใช้งานข้อมูลประจำตัวที่ได้รับการจัดการผู้ใช้
1. สร้างข้อมูลประจำตัวที่ได้รับมอบหมายของผู้ใช้: ก่อนอื่นให้สร้างทรัพยากรข้อมูลประจำตัวที่ได้รับการจัดการที่ผู้ใช้กำหนดใน Azure ตัวตนนี้สามารถใช้กับหลาย ๆ ทรัพยากร
2. กำหนดแอพฟังก์ชัน: ในพอร์ทัล Azure ให้ไปที่การตั้งค่าตัวตนของแอปฟังก์ชั่นของคุณ สลับไปที่แท็บผู้ใช้ที่กำหนดแล้วคลิกเพิ่ม ค้นหาและเลือกตัวตนที่กำหนดโดยผู้ใช้ที่คุณสร้าง [1] [6]
3. กำหนดค่าการตั้งค่าแอป: สำหรับบริการบางอย่างเช่นคีย์ Vault คุณอาจต้องตั้งค่าคุณสมบัติเพิ่มเติม (เช่น `keyVaultreferentIdentity`) ผ่านการโทร REST API เนื่องจากการตั้งค่าเหล่านี้ไม่สามารถใช้ได้ใน UI [1]
4. กำหนดสิทธิ์: คล้ายกับตัวตนที่กำหนดระบบกำหนดบทบาทที่จำเป็นให้กับข้อมูลประจำตัวที่ผู้ใช้กำหนดสำหรับทรัพยากรเป้าหมาย [6]
โดยใช้ข้อมูลประจำตัวที่มีการจัดการในรหัส
เมื่อใช้ตัวตนที่มีการจัดการฟังก์ชั่น Azure ของคุณสามารถใช้ประโยชน์จากห้องสมุดเช่น `Azure.identity` เพื่อตรวจสอบสิทธิ์ด้วยบริการ Azure โดยไม่ต้องจัดการความลับโดยตรง ตัวอย่างเช่นคุณสามารถใช้ `defaultazurecredential` เพื่อเชื่อมต่อกับ Azure Storage หรือฐานข้อมูล SQL [5] [9]
ประโยชน์ของอัตลักษณ์ที่มีการจัดการ
- ความปลอดภัย: หลีกเลี่ยงความจำเป็นในการจัดเก็บความลับในไฟล์รหัสหรือการกำหนดค่า
- ความยืดหยุ่น: ช่วยให้การจัดการสิทธิ์การเข้าถึงได้ง่ายผ่าน Azure RBAC
-ความสามารถในการปรับขนาด: รองรับทั้งตัวตนที่กำหนดโดยระบบและตัวตนที่กำหนดโดยผู้ใช้สำหรับสถานการณ์ที่แตกต่างกัน [4] [6]
การอ้างอิง:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-function-and-user-assigned-managed-identities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-function-with-managed-identity-and-azure-sql-db/
[3] https://kumarashwinhubert.com/secure-your-azure-functions-use-managed-identity-for-azurewebjobsstorage
[4] https://docs.azure.cn/en-us/azure-functions/functions-identity-mased-connection-tutorial
[5] https://www.linkedin.com/pulse/how-use-managed-identities-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-identity-access-azure-sql-with-managed-identity
[8] https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-managed-identity
[9] https://www.transparity.com/app-innovation/azure-functions-with-managed-identity-storage-access/