กำหนดค่า Azure AD และ SharePoint สำหรับข้อมูลประจำตัวที่ได้รับการจัดการ

การปรับปรุงครั้งล่าสุด: 29/03/2026
ผู้แต่ง: ไอแซก
  • การลงทะเบียนแอปพลิเคชันใน Azure ด้วยสิทธิ์การใช้งาน Sites.FullControl.All บน SharePoint ช่วยให้มั่นใจได้ถึงการเข้าถึงไซต์และเอกสารอย่างปลอดภัยและเป็นศูนย์กลาง
  • การสร้าง Managed Identity ใน Dataverse และการเชื่อมโยง Managed Identity เหล่านั้นกับ SharePoint โดยใช้ตาราง sharepointmanagedidentity จะช่วยรวมการตรวจสอบสิทธิ์ของ Power Platform เข้าไว้ด้วยกัน
  • การกำหนดค่าข้อมูลรับรองแบบรวมศูนย์ในแอปพลิเคชัน Azure ช่วยให้ Dataverse สามารถแลกเปลี่ยนโทเค็นกับ Azure AD โดยใช้หัวข้อและผู้ออกโทเค็นที่เฉพาะเจาะจงสำหรับแต่ละสภาพแวดล้อมได้
  • การใช้สคริปต์ PowerShell ในการสร้างตัวระบุหัวเรื่องช่วยลดข้อผิดพลาดและอำนวยความสะดวกในการปรับใช้กับสภาพแวดล้อมและระบบคลาวด์อิสระประเภทต่างๆ

การกำหนดค่า Azure AD และ SharePoint

การทำงานร่วมกับAzure AD, SharePoint และ Power Platform นั้นต้องการความปลอดภัยและการกำหนดค่าที่ละเอียดกว่าที่เราเคยชินมากขึ้นเรื่อยๆ เมื่อเราต้องการทำให้กระบวนการต่างๆ เป็นไปโดยอัตโนมัติ เช่น การจัดการเอกสาร การผสานรวม Dataverse หรือการเตรียมพื้นฐานสำหรับการสร้างและจัดการผู้ใช้ใน Azure AD จากข้อมูล SharePoint การใช้ข้อมูลรับรองแบบเดิมๆ นั้นไม่เพียงพออีกต่อไปแล้ว

ตั้งแต่เดือนมีนาคม 2025 เป็นต้นมา ไมโครซอฟต์ได้เพิ่มความเข้มงวดในการเข้าถึงตารางเอกสาร SharePoint จาก Dynamics 365 และแอปพลิเคชันแบบขับเคลื่อนด้วยโมเดลโดยเฉพาะอย่างยิ่งเมื่อเข้าถึงผ่านการเรียกใช้ API ของ Power Automate หรือ Dataverse ซึ่งหมายความว่าเราจำเป็นต้องใช้แอปพลิเคชันที่ลงทะเบียนกับ Azure, ข้อมูลประจำตัวที่ได้รับการจัดการ และข้อมูลรับรองแบบรวมศูนย์เพื่อให้สามารถทำงานได้อย่างปลอดภัยและไม่หยุด ชะงัก

บริบท: เหตุใดคุณจึงต้องใช้แอป Azure ในการเข้าถึง SharePoint

เมื่อโซลูชันทางธุรกิจใน Dynamics 365 หรือ Power Platform ใช้ตารางเอกสาร SharePointมักจะทำเช่นนั้นนอกเหนือจากตารางเอกสารแบบดั้งเดิมของแอปที่ขับเคลื่อนด้วยโมเดล ซึ่งหมายถึงการเข้าถึง SharePoint ผ่านโฟลว์ Power Automate ปลั๊กอิน ตัวเชื่อมต่อแบบกำหนดเอง หรือการเรียกใช้ API ของ Dataverse โดยตรงซึ่งทั้งหมดนี้ต้องการสิทธิ์ที่ครอบคลุมในไซต์และไลบรารี

จนกระทั่งเมื่อไม่นานมานี้ การเข้าถึงนี้สามารถใช้ประโยชน์จากกลไกเดิมที่มีความเข้มงวดน้อยกว่าได้ แต่ Microsoft ได้ตัดสินใจที่จะยกเลิกการเข้าถึงนั้นในเดือนมีนาคม 2025เพื่อเสริมสร้างความปลอดภัยของสภาพแวดล้อม ในทางปฏิบัติ หากคุณไม่ได้เตรียมการกำหนดค่าใหม่ คุณอาจพบปัญหาเวิร์กโฟลว์หยุดทำงาน การผสานรวมที่ไม่สามารถอ่านหรือเขียนเอกสารได้อีกต่อไป หรือระบบอัตโนมัติที่เริ่มล้มเหลวโดยไม่มีการแจ้งเตือนล่วงหน้า

วิธีแก้ปัญหานี้เกี่ยวข้องกับการสร้างและกำหนดค่าแอปพลิเคชันใน Azure (Microsoft Entra ID)เพื่อทำหน้าที่เป็นศูนย์กลางข้อมูลประจำตัวสำหรับการผสานรวม กำหนดสิทธิ์ SharePoint ที่เหมาะสม และเชื่อมโยงกับ Dataverse โดยใช้ข้อมูลประจำตัวที่จัดการได้และข้อมูลรับรองแบบรวมศูนย์วิธีนี้จะช่วยให้คุณสามารถดำเนินการอัตโนมัติต่อไปได้ เช่น การอ่านรายการ SharePoint การจัดการเอกสาร หรือแม้กระทั่งใช้เป็นพื้นฐานสำหรับกระบวนการที่สร้างหรือจัดการผู้ใช้ใน Azure AD โดยอิงจากข้อมูลเหล่านั้น

การผสานรวมระหว่าง Azure AD และรายการ SharePoint

การลงทะเบียนแอปพลิเคชันใน Azure พร้อมสิทธิ์การเข้าถึงบน SharePoint

ขั้นตอนแรกในการตั้งค่านี้คือการลงทะเบียนแอปพลิเคชันใน Azure (Microsoft Entra ID)ซึ่งจะทำหน้าที่แทนระบบอัตโนมัติของคุณเมื่อจำเป็นต้องสื่อสารกับ SharePoint แอปนี้จะทำงานด้วยสิทธิ์ของแอปพลิเคชัน (ไม่ใช่การมอบหมายสิทธิ์) ดังนั้นจึงสามารถทำงานได้อย่างอิสระจากผู้ใช้ที่ล็อกอินอยู่

เริ่มต้นด้วยการเข้าสู่ระบบพอร์ทัล Azureด้วยบัญชีที่มีสิทธิ์ในการจัดการการลงทะเบียนแอปพลิเคชันและการตั้งค่า Entra ID เมื่อเข้าสู่ระบบแล้ว ให้ไปที่ ส่วน "การลงทะเบียนแอปพลิเคชัน"ซึ่งโดยปกติจะอยู่ใน Microsoft Entra ID หรืออยู่ภายใต้ "บริการ Azure" โดยตรง นี่คือที่ที่คุณจะสร้างข้อมูลประจำตัวที่ Dataverse จะใช้ในการเข้าถึง SharePoint

คลิก"ลงทะเบียนใหม่"และตั้งชื่อแอปพลิเคชันให้จดจำได้ง่าย เพื่อให้ระบุได้ว่าเป็นแอปพลิเคชันที่จัดการการตรวจสอบสิทธิ์กับ SharePoint (ตัวอย่างเช่น ชื่อที่เกี่ยวข้องกับ Power Platform หรือองค์กร) ใน ส่วน "ประเภทบัญชีที่รองรับ"ให้เลือกตัวเลือกที่จำกัดการเข้าถึงเฉพาะ "บัญชีในไดเร็กทอรีองค์กรนี้เท่านั้น " เนื่องจากแอปจะทำงานภายในเทนเนนต์เฉพาะของคุณ

หลังจากทำตามขั้นตอนในวิซาร์ดเสร็จแล้ว ให้แตะ"ลงทะเบียน"เพื่อสร้างแอปให้เสร็จสมบูรณ์ ในหน้าจอสรุปแอปที่ลงทะเบียนแล้ว ใน ส่วน "ข้อมูลพื้นฐาน" หรือ "ข้อมูลสำคัญ"คุณจะเห็นค่าสำคัญสองค่า ได้แก่"รหัสแอปพลิเคชัน (ไคลเอ็นต์)"และ"รหัสไดเร็กทอรี (ผู้เช่า) " ตัวระบุ GUID เหล่านี้จะเป็นกุญแจสำคัญในภายหลังสำหรับการเชื่อมโยงแอปกับ Dataverse และการกำหนดค่าข้อมูลประจำตัวที่จัดการได้

  วิธีใช้ Dynamic View ของ Gemini และใช้ประโยชน์จาก AI ภาพ

โปรดจดบันทึกและจัดเก็บรหัสแอปพลิเคชัน (clientId) และรหัสไดเร็กทอรี (tenantId) อย่างระมัดระวัง เนื่องจากคุณจะต้องใช้ทั้งสองรหัสนี้เมื่อสร้างระเบียนข้อมูลประจำตัวที่จัดการได้ใน Dataverse และเมื่อกำหนดข้อมูลรับรองแบบรวมศูนย์ที่จะสร้างโทเค็นที่ถูกต้องสำหรับ SharePoint

ถัดไป คุณต้องให้สิทธิ์การเข้าถึงAPI ของ SharePoint แก่แอป พลิเคชัน ในเมนูนำทางของแอป ให้ไปที่"สิทธิ์การเข้าถึง API"และเลือก"เพิ่มสิทธิ์ " เลือก บริการ SharePointและเมื่อระบบถามถึงประเภทของสิทธิ์ ให้เลือก"สิทธิ์การเข้าถึงแอปพลิเคชัน " ซึ่งจะอนุญาตให้แอปทำงานได้อย่างอิสระโดยไม่ต้องมีการโต้ตอบจากผู้ใช้

ในรายการสิทธิ์ที่มีอยู่ ให้ค้นหาและเลือก"Sites.FullControl.All"สิทธิ์นี้จะให้สิทธิ์แอปพลิเคชันในการควบคุมไซต์ SharePoint ทั้งหมดในเทนเนนต์ ซึ่งเหมาะสำหรับสถานการณ์ที่ Power Platform จัดการเอกสาร โฟลเดอร์ และข้อมูลเมตาอย่างเข้มข้น เมื่อเลือกแล้ว ให้คลิก"เพิ่มสิทธิ์"เพื่อเพิ่มลงในแอป

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

การสร้างข้อมูลประจำตัวที่ได้รับการจัดการใน Dataverse

เมื่อแอป Azure พร้อมใช้งานและมีสิทธิ์ที่ถูกต้องบน SharePoint แล้ว ขั้นตอนต่อไปคือการเชื่อมต่อข้อมูลประจำตัวนั้นกับDataverse โดยใช้บันทึกข้อมูลประจำตัวที่จัดการได้ซึ่งจะช่วยให้สภาพแวดล้อม Power Platform สามารถใช้แอปนั้นในการสร้างโทเค็นและเข้าถึง SharePoint ได้อย่างปลอดภัย

กระบวนการนี้เกี่ยวข้องกับการสร้างเรคอร์ดในตารางภายในของ Dataverse โดยเฉพาะ ตาราง "managedidentity"ซึ่งแสดงถึงข้อมูลประจำตัวที่ได้รับการจัดการแต่ละรายการที่เชื่อมโยงกับสภาพแวดล้อม คุณสามารถทำได้โดยใช้Dataverse web APIโดยใช้เครื่องมือต่างๆ เช่น Postman, Insomnia หรือไคลเอ็นต์ HTTP ใดๆ ที่อนุญาตให้คุณส่งคำขอที่ได้รับการตรวจสอบสิทธิ์ได้

ในตาราง managedidentity คุณจะต้องแทรกแถวใหม่ที่มีฟิลด์เฉพาะหลายฟิลด์ ฟิลด์ดังกล่าว applicationid ต้องมี GUID ของ รหัสแอปพลิเคชัน (ไคลเอ็นต์) ที่คุณได้รับเมื่อลงทะเบียนแอปใน Azure ในขณะเดียวกัน ฟิลด์ tenantid จะจัดเก็บ GUID ของ รหัสประจำตัวผู้เช่า (Directory ID) จากบันทึกการสมัครเดียวกัน

นอกเหนือจากตัวระบุเหล่านี้แล้ว ยังมีฟิลด์การกำหนดค่าอื่นๆ ที่กำหนดประเภทและขอบเขตของข้อมูลประจำตัวอีกด้วย credentialsource คุณต้องกำหนดค่า 2ซึ่งบ่งชี้ว่า แหล่งข้อมูลรับรองที่ได้รับการจัดการ (IsManaged) ผ่านทางแพลตฟอร์ม ในภาคสนาม subjectscope ควรใช้ค่าดังกล่าว 1ซึ่งสอดคล้องกับ ขอบเขตประเภท EnvironmentScopeกล่าวคือ เชื่อมโยงกับสภาพแวดล้อม Dataverse เฉพาะเจาะจง

คำขอ HTTP ไปยังเว็บ API ของ Dataverse จะมีรูปแบบดังนี้ POST ไปยัง URL [Organization URI]/api/data/v9.2/managedidentitiesโดยใช้ส่วนหัว OData ทั่วไป (เช่น Content-Type application/json, OData-MaxVersion 4.0 เป็นต้น) และเนื้อหา JSON ที่คล้ายกับตัวอย่างนี้ โดยปรับให้เข้ากับค่าจริงของคุณ:

POST [Organization URI]/api/data/v9.2/managedidentities
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"applicationid": "<appId>",
"credentialsource": 2,
"subjectscope": 1,
"tenantid": "<tenantId>"
}

หากทุกอย่างเป็นไปด้วยดี API จะส่งการตอบกลับมา HTTP 204 ไม่มีเนื้อหาพร้อมด้วยส่วนหัว OData-EntityId ซึ่งรวมถึง URL ของระเบียนที่สร้างขึ้นใหม่ ภายใน URL นั้น คุณจะเห็น GUID ที่ตรงกับ managedidentityidบางอย่างเช่น aaaaaaaa-0000-1111-2222-bbbbbbbbbbbbบันทึกตัวระบุนี้ไว้ เนื่องจากคุณจะต้องใช้มันเพื่อเชื่อมโยงกับข้อมูลประจำตัวที่จัดการโดย SharePoint ที่เฉพาะเจาะจง

เชื่อมโยงข้อมูลประจำตัวที่จัดการโดย SharePoint ใน Dataverse

เมื่อสร้างฐานข้อมูลข้อมูลประจำตัวที่จัดการแล้วในตารางเรียบร้อยแล้ว managedidentityจำเป็นต้องเชื่อมโยงกับรายการประเภท การจัดการข้อมูลประจำตัวของ SharePointผู้ที่อาศัยอยู่บนโต๊ะ sharepointmanagedidentityนี่คือส่วนที่เชื่อมโยง Dataverse กับการใช้งาน SharePoint อย่างชัดเจนผ่านทางข้อมูลประจำตัวนั้น

  วิธีทำการทดสอบเว็บไซต์ด้วย Selenium ทีละขั้นตอน

ในการทำเช่นนี้ คุณจะต้องแทรกแถวใหม่ลงในตาราง sharepointmanagedidentity โดยใช้อีกครั้งหนึ่ง เว็บ API ของ Dataverse. สนาม uniquename จะต้องมีชื่อที่ไม่ซ้ำกันภายในสภาพแวดล้อมนั้น ตัวอย่างเช่น "new_ppmiforsharepointauth"ซึ่งแสดงให้เห็นอย่างชัดเจนว่าข้อมูลประจำตัวนี้มีไว้สำหรับการตรวจสอบสิทธิ์กับ SharePoint

ในฟิลด์ name คุณสามารถใช้ป้ายกำกับที่สื่อความหมายและเป็นมิตรได้ เช่น "Identidad administrada para la autenticación de SharePoint" หรือสิ่งที่คล้ายคลึงกัน ซึ่งช่วยให้คุณค้นหาได้อย่างรวดเร็วโดยใช้เครื่องมือหรือสคริปต์สำหรับการบริหารจัดการ

สิ่งสำคัญที่สุดคือความสัมพันธ์กับระเบียนข้อมูลประจำตัวที่ได้รับการจัดการพื้นฐานที่คุณสร้างไว้ก่อนหน้านี้ ซึ่งทำได้โดยใช้ฟิลด์ลิงก์ [email protected]ซึ่งค่าของมันควรชี้ไปยังทรัพยากร /managedidentities(<managedidentityid>), การทดแทน <managedidentityid> โดยใช้ GUID ที่ได้รับมาก่อนหน้านี้ในขั้นตอนการสร้างข้อมูลประจำตัวที่ได้รับการจัดการ

คำขอไปยังเว็บ API ของ Dataverse จะมีลักษณะดังนี้ โดยใช้รูปแบบเดิมอีกครั้ง POST แต่ตอนนี้อยู่ติดกับโต๊ะแล้ว sharepointmanagedidentities:

POST [Organization URI]/api/data/v9.2/sharepointmanagedidentities
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"uniquename": "new_ppmiforsharepointauth",
"name": "Managed Identity For SharePoint Auth",
"[email protected]": "/managedidentities(<managedidentityid>)"
}

เช่นเคย คำตอบจะเป็น HTTP 204 ไม่มีเนื้อหา พร้อมส่วนหัว OData-EntityId ตัวอย่างเช่น ชี้ไปที่การลงทะเบียนใหม่ sharepointmanagedidentities(bbbbbbbb-1111-2222-3333-cccccccccccc)GUID นั้นคือ sharepointmanagedidentityidซึ่งคุณจะต้องใช้เมื่อสร้างตัวระบุหัวเรื่องสำหรับข้อมูลรับรองแบบรวมศูนย์ใน Azure

การกำหนดค่าข้อมูลรับรองแบบรวมศูนย์ในแอปพลิเคชัน Azure

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

ในการกำหนดค่า ให้กลับไปที่พอร์ทัล Azureและเข้าสู่ระบบด้วยบัญชี Microsoft ของคุณ ในเมนู ให้ไปที่"การลงทะเบียนแอปพลิเคชัน"และค้นหาการลงทะเบียนเฉพาะที่คุณสร้างขึ้นเพื่อจัดการการเข้าถึง SharePoint เปิดการลงทะเบียนนั้นเพื่อแก้ไขการตั้งค่าการตรวจสอบสิทธิ์และใบรับรอง

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

ใน ช่อง"สถานการณ์"สำหรับข้อมูลรับรองแบบรวมศูนย์ ให้เลือก"ผู้ออกอื่นๆ " เนื่องจากคุณจะต้องระบุ URL ของผู้ออกและรูปแบบรหัสหัวเรื่องด้วยตนเอง ซึ่งจะช่วยให้คุณมีความยืดหยุ่นในการกำหนดค่าให้ตรงกับความต้องการของ Power Platform สำหรับข้อมูลประจำตัวที่จัดการโดย SharePoint ได้อย่างแม่นยำ

ในฟิลด์ "เครื่องส่งสัญญาณ" คุณต้องเขียน URL ในรูปแบบที่กำหนด https://login.microsoftonline.com/<tenantId>/v2.0, การทดแทน <tenantId> โดย GUID ของ รหัสประจำตัวผู้เช่า (Directory ID) จากแอป Azure ของคุณ URL นั้นแสดงถึงจุดออกโทเค็น Azure AD สำหรับผู้เช่าของคุณ

สาขาหลักคือสาขาของ "ค่า"ที่ซึ่ง ตัวระบุหัวเรื่อง ซึ่งจะนำไปใช้ในความสัมพันธ์แบบเฟเดอเรต รูปแบบที่คาดหวังคือสตริงประเภท:
/eid1/c/pub/t/<base64-encoded-tenantId>/a/<base64-encoded-appid>/Env/<orgid>/sharepointmanagedidentity/<sharepointmanagedidentityid>

ในโครงสร้างนั้น tenantId เข้ารหัสในรูปแบบ Base64 ปลอดภัยสำหรับ URL วางอยู่ใน <base64-encoded-tenantId>และตัวระบุแอปพลิเคชัน Power Platform ที่ทำหน้าที่เป็น Managed Identity (AppId เฉพาะที่ Microsoft จัดให้) ก็ถูกเข้ารหัส Base64 ด้วยเช่นกัน <base64-encoded-appid>. นอกจากนี้ <orgid> คือ GUID ของสภาพแวดล้อมหรือองค์กร Dataverse ในขณะที่ <sharepointmanagedidentityid> ตรงกับ GUID ของรายการที่สร้างขึ้นในตาราง sharepointmanagedidentity.

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

การสร้างตัวระบุหัวเรื่องด้วย PowerShell

การสร้าง สตริง หัวเรื่องสำหรับข้อมูลรับรองแบบรวมศูนย์ด้วยตนเองอาจยุ่งยากมาก โดยเฉพาะอย่างยิ่งเนื่องจากเกี่ยวข้องกับการเข้ารหัส GUID เป็น Base64 ที่ปลอดภัยสำหรับ URL ในขณะที่ต้องปฏิบัติตามโครงสร้างที่เฉพาะเจาะจงมาก เพื่อลดความซับซ้อนของงานนี้ คุณสามารถใช้สคริปต์ PowerShellที่สร้างตัวระบุหัวเรื่องและค่าอื่นๆ ที่เกี่ยวข้องโดยอัตโนมัติได้

  วิธีตั้งค่าระบบอัตโนมัติสำหรับงาน Office ด้วย Copilot ใน Microsoft 365

สคริปต์ที่เสนอมานี้กำหนดฟังก์ชันที่เรียกว่า GetSharePointManagedIdentifyConfigซึ่งจะได้รับพารามิเตอร์บังคับหลายประการ ได้แก่ ประเภทของสิ่งแวดล้อม (EnvironmentType) GUID ของ การจัดการข้อมูลประจำตัวของ SharePoint (SharePointManagedIdentityId), รหัสผู้เช่า และ y รหัสสิ่งแวดล้อม เกี่ยวข้องกับสภาพแวดล้อม Dataverse ที่คุณใช้ในการกำหนดค่า

พารามิเตอร์ ประเภทสภาพแวดล้อม ค่าดังกล่าวต้องเป็นหนึ่งในค่าที่สคริปต์ยอมรับ: Public, Gov, GovFR, High, DoD, MoonCake, USNat o USSecแต่ละอย่างเกี่ยวข้องกับการผสมผสานที่แตกต่างกันของ URL ของผู้ออกและ URL ทรัพยากรการแลกเปลี่ยนโทเค็นเนื่องจากระบบคลาวด์และภูมิภาคต่างๆ ใช้จุดสิ้นสุดการตรวจสอบสิทธิ์ที่แตกต่างกัน

ภายในสคริปต์ มีการประกาศฟังก์ชันภายในชื่อว่า Convert-ToBase64Urlซึ่งมีหน้าที่ในการแปลง GUID ให้เป็นเวอร์ชันที่เข้ารหัสใน ปลอดภัยสำหรับ URL แบบ Base64ขั้นตอนนี้จะแปลง GUID เป็นอาร์เรย์ไบต์ เข้ารหัสเป็น Base64 และลบอักขระเติม (=) และแทนที่ตัวอักษร + y / โดย - y _ ตามลำดับ จึงมั่นใจได้ว่าผลลัพธ์นั้นถูกต้องสำหรับการใช้ใน URL

สคริปต์ยังกำหนดค่าคงที่ด้วย แอป ID ของ Power Platform Managed Identity, 58e835ab-2e39-46a9-b797-accce6633447นี่คือตัวระบุที่ Dataverse ใช้สำหรับการเชื่อมต่อเหล่านี้ ค่านี้จะถูกส่งผ่านฟังก์ชันการเข้ารหัส Base64 ที่ปลอดภัยสำหรับ URL เพื่อให้พอดีกับสตริงหัวเรื่องสุดท้ายด้วย

การกำหนดค่าสภาพแวดล้อมจะได้รับการจัดการผ่านรายการ ($environmentConfigList) ซึ่งกำหนดให้กับแต่ละกลุ่มของสภาพแวดล้อม IssuerUrlเป็น URL ทรัพยากรการแลกเปลี่ยนโทเค็น และ คำนำหน้าหัวเรื่องตัวอย่างเช่น สำหรับสภาพแวดล้อมประเภทดังกล่าว Public, Gov y GovFR ตัวปล่อยถูกใช้ https://login.microsoftonline.com/ และคำนำหน้าหัวข้อ /eid1/c/pubในขณะที่สำหรับสภาพแวดล้อมประเภท High o DoD ถูกนำมาใช้ https://login.microsoftonline.us/ โดยมีคำนำหน้าต่างกัน

เมื่อคุณเรียกใช้ฟังก์ชัน GetSharePointManagedIdentifyConfigนี่เป็นการค้นหาการกำหนดค่าที่เหมาะสมตาม ประเภทสภาพแวดล้อม หากจัดเตรียมไว้ จะสร้าง URL ของผู้ออก โดยการนำ tenantId และส่วนต่อท้ายมาต่อกัน /v2.0และเข้ารหัส tenantId และ managed AppId ในรูปแบบ Base64 จากนั้นจึงสร้างสตริงหัวเรื่องที่มีรูปแบบดังนี้:
{SubjectPrefix}/t/{encodedTenantId}/a/{encodedAppId}/Env/{EnvironmentId}/sharepointmanagedidentity/{SharePointManagedIdentityId}

ฟังก์ชันนี้จะส่งคืนผลลัพธ์ที่จัดรูปแบบแล้ว ซึ่งประกอบด้วยข้อมูลอินพุต ค่าที่คำนวณได้ และสุดท้ายคือURL ของหัวข้อสำหรับการกำหนดค่าข้อมูลรับรองแบบรวมศูนย์ค่าสุดท้ายนี้คือสิ่งที่คุณต้องคัดลอกและวางลงในช่อง "ค่า" เมื่อสร้างข้อมูลรับรองแบบรวมศูนย์ในแอป Azure

ในการใช้งานสคริปต์ ให้บันทึกสคริปต์เป็นไฟล์ก่อน GetSharePointManagedIdentifyConfig.ps1 จากนั้นคุณก็สร้างสคริปต์ตัวที่สอง test.ps1 นำเข้าไฟล์และระบุพารามิเตอร์ที่เหมาะสม test.ps1 โครงสร้างแฮชเทเบิลแบบนี้เป็นที่นิยมใช้กันทั่วไป:

. .\GetSharePointManagedIdentifyConfig.ps1
$configInput = @{
environmentType = "<environmentType>"
sharePointManagedIdentityId = "<sharePointManagedIdentityId>"
tenantId = "<tenantId>"
environmentId = "<environmentId>"
}
GetSharePointManagedIdentifyConfig @configInput

เมื่อทำงาน test.ps1คุณจะเห็นผลลัพธ์ที่มีข้อมูลป้อนเข้า รหัสที่เข้ารหัส ผู้ออกบัตรที่คำนวณได้ และผลลัพธ์สุดท้ายของการประมวลผล URL ของหัวเรื่องค่าสุดท้ายนั้นคือค่าที่ใช้ในข้อมูลประจำตัวแบบรวมศูนย์ ตัวอย่างเช่น ค่าที่คล้ายกับ:
/eid1/c/pub/t/u7uqqgAAzMwREd3dIiLu7g/a/qzXoWDkuqUa3l6zM5mM0Rw/Env/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/sharepointmanagedidentity/bbbbbbbb-1111-2222-3333-cccccccccccc

ด้วยการผสานรวมแอป Azure ที่มีสิทธิ์การเข้าถึง SharePoint, ข้อมูลประจำตัวที่ได้รับการจัดการใน Dataverse และข้อมูลรับรองแบบรวมศูนย์ที่กำหนดค่าอย่างรอบคอบคุณจะมีรากฐานที่แข็งแกร่งซึ่งสอดคล้องกับข้อกำหนดด้านความปลอดภัยล่าสุดของ Microsoft จากนั้น คุณสามารถออกแบบเวิร์กโฟลว์และโซลูชันที่ใช้ประโยชน์จากรายการและเอกสาร SharePoint เป็นแหล่งข้อมูลสำหรับกระบวนการขั้นสูง (รวมถึงการสร้างและจัดการผู้ใช้ใน Azure AD) โดยมั่นใจได้ว่าการตรวจสอบสิทธิ์ได้รับการแก้ไขอย่างดี ปรับขนาดได้ และตรงตามข้อกำหนดด้านความปลอดภัยของสภาพแวดล้อมสมัยใหม่