ค้นหาเว็บไซต์

เชื่อมต่อ-MgGraph-ขอบเขต


สำหรับผู้ดูแลระบบจำนวนมาก การใช้ 'ขอบเขต' เป็นส่วนเสริมใหม่ของ Office 365 PowerShell'ing

พารามิเตอร์ขอบเขตถูกนำมาใช้กับ Microsoft Graph PowerShell API แต่แนวคิดของขอบเขตจริงๆ แล้วเป็นส่วนหนึ่งของข้อกำหนด OAuth2

การใช้ขอบเขตจะจำกัดสิทธิ์ของผู้ใช้ที่มีให้กับแอปพลิเคชัน

ด้วยการกำหนดค่าขอบเขตเมื่อเชื่อมต่อกับ Microsoft Graph PowerShell API คุณจะจำกัดสิทธิ์ที่พร้อมใช้งานสำหรับการดำเนินการคำสั่งได้อย่างมีประสิทธิภาพ

เราจะเห็นสิ่งนี้ในตัวอย่างสดด้านล่าง แต่ก่อนอื่น เรามาพิจารณาสิ่งต่อไปนี้:

เหตุใดจึงต้องใช้ขอบเขต?

สมมติว่าคุณต้องการเรียกใช้สคริปต์ที่ส่งออกข้อมูลผู้ใช้บางส่วนจาก Microsoft 365 Graph

เนื่องจากคุณจะอ่านเฉพาะข้อมูลผู้ใช้ จึงเหมาะสมที่จะจำกัดสิทธิ์ของคุณให้อ่านอย่างเดียว (หลักการของสิทธิ์ขั้นต่ำ)

เพื่อให้แน่ใจว่าคุณจะไม่ทำการอัปเดตบัญชีผู้ใช้โดยไม่ตั้งใจ

นอกจากนี้ยังปกป้องคุณจากแอปพลิเคชันโกงที่พยายามทำการเปลี่ยนแปลงเมื่อควรอ่านข้อมูลเท่านั้น

การเชื่อมต่อกับ MS Graph ด้วยขอบเขต

หากต้องการสร้างการเชื่อมต่อกับ Microsoft Graph PowerShell API เพื่ออ่านข้อมูลผู้ใช้ คุณสามารถใช้คำสั่งต่อไปนี้:

Connect-MgGraph -Scopes "User.Read.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630

(แทนที่ TenantId ด้วยรหัสผู้เช่าของคุณเอง)

สิ่งนี้จะทำให้การรับรองความถูกต้อง OAuth2 เริ่มทำงาน (เว้นแต่คุณได้ยินยอมตามการอนุญาตที่ร้องขอในพารามิเตอร์ขอบเขตแล้ว):

โปรดสังเกตว่าคุณสามารถดูได้ชัดเจนว่าสิทธิ์ใดบ้างที่คุณอนุญาตให้แอปพลิเคชัน Microsoft Graph PowerShell ใช้

นอกจากนี้ คุณสามารถ 'ยินยอมในนามขององค์กรของคุณ':

การให้ความยินยอมจะทำให้เพื่อนร่วมงานของคุณไม่เห็นคำขอสิทธิ์ข้างต้น และอนุญาตให้ Microsoft Graph PowerShell เรียกใช้คำสั่งในนามของเพื่อนร่วมงานของคุณได้ทันที

โปรดทราบว่า: ความยินยอมไม่ได้ให้สิทธิ์ใหม่แก่ผู้ใช้ในองค์กรของคุณ ความยินยอมอนุญาตให้แอปพลิเคชัน (ในกรณีนี้คือ Microsoft Graph PowerShell) ใช้สิทธิ์ที่มอบหมายให้กับผู้ใช้แล้วเท่านั้น อ่านเพิ่มเติมเกี่ยวกับการยินยอมได้ที่นี่

หลังจากที่คุณยอมรับคำขอสิทธิ์ แอปพลิเคชัน Microsoft Graph PowerShell จะได้รับการกำหนดค่าด้วยความยินยอมใหม่

ไปที่แอปพลิเคชันระดับองค์กร คลิก Microsoft Graph PowerShell เลือกสิทธิ์ และเลือกความยินยอมของผู้ใช้เพื่อดู:

ขออภัย การตั้งค่าแอปพลิเคชันระดับองค์กรที่เห็นในภาพหน้าจอด้านบนแสดงเฉพาะการตั้งค่าที่ไม่สามารถกำหนดค่าใหม่หรือลบสิทธิ์ได้

หากคุณต้องการเรียนรู้วิธีจัดการความยินยอมของผู้ดูแลระบบและผู้ใช้โดยใช้สคริปต์ PowerShell โปรดอ่านบทความนี้

การทดสอบการตั้งค่าขอบเขตบน MS Graph PowerShell

เพื่อแสดงให้เห็นการป้องกันที่ได้รับโดยใช้การกำหนดค่าขอบเขต ลองอัปเดตบัญชีผู้ใช้ Azure AD โดยการตั้งค่าแอตทริบิวต์ UseLocation

เราเชื่อมต่อกับขอบเขตที่ตั้งค่าเป็น “User.Read.All” และตามที่คาดไว้ สิ่งนี้จะล้มเหลว:

PS C:\> Connect-MgGraph -Scopes "User.Read.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630
Welcome To Microsoft Graph!
PS C:\> PS C:\> Get-MgUser -UserId lene.hau@azure.skrubbeltrang.com -Property DisplayName,UsageLocation | ft DisplayName,UsageLocation

DisplayName UsageLocation
----------- -------------
Lene Hau    DK

PS C:\> PS C:\> Update-MgUser -UserId lene.hau@azure.skrubbeltrang.com -UsageLocation "US"
Update-MgUser : Insufficient privileges to complete the operation.

เพื่อแก้ไขปัญหานี้ เราต้องเชื่อมต่อใหม่โดยใช้ขอบเขตที่ครอบคลุมมากขึ้น:

Connect-MgGraph -Scopes "User.ReadWrite.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630

สมมติว่าเราไม่เคยให้ความยินยอมมาก่อน เราได้รับกล่องโต้ตอบการตรวจสอบสิทธิ์ OAuth2 ใหม่ที่ระบุระดับความยินยอมใหม่:

หลังจากยอมรับสิ่งนี้ ความยินยอมของผู้ใช้ของแอปพลิเคชัน Microsoft Graph PowerShell Enterprise จะได้รับการอัปเดตด้วยความยินยอมใหม่ซึ่งเราสามารถตรวจสอบได้ในพอร์ทัล Azure:

ด้วยขอบเขตใหม่ ขณะนี้เราสามารถเขียนข้อมูลใหม่ไปยังออบเจ็กต์ผู้ใช้ใน Azure AD:

PS C:\> Connect-MgGraph -Scopes "User.ReadWrite.All" -TenantId c1493961-2ba6-41ae-b462-e3e7e4dae630
Welcome To Microsoft Graph!
PS C:\> Update-MgUser -UserId lene.hau@azure.skrubbeltrang.com -UsageLocation "US"
PS C:\> Get-MgUser -UserId lene.hau@azure.skrubbeltrang.com -Property DisplayName,UsageLocation | ft DisplayName,UsageLocation

DisplayName UsageLocation
----------- -------------
Lene Hau    US

จัดการ Office 365 โดยตรงจาก Active Directory

การจัดการ Office 365 แบบไฮบริดอาจใช้เวลานานและยุ่งยากมาก

คุณลักษณะบางอย่างได้รับการจัดการใน Active Directory ภายในองค์กร ในขณะที่คุณลักษณะอื่นๆ ได้รับการจัดการในพอร์ทัลเว็บต่างๆ เช่น Microsoft 365 Admin Center และ Exchange Online Admin Center

ขอย้ำอีกครั้งว่า การตั้งค่าบางอย่าง เช่น การมอบหมายปฏิทิน สามารถจัดการได้ผ่าน PowerShell เท่านั้น

ด้วย Easy365Manager คุณสามารถดำเนินการจัดการ Office 365 รายวันทั้งหมดจากผู้ใช้ Active Directory และคอมพิวเตอร์

Easy365Manager เป็นสแน็ปอินที่ขยายคุณสมบัติผู้ใช้ด้วยแท็บ Office 365 และแท็บกล่องจดหมาย

ช่วยให้การดูแลระบบ Office 365 รวดเร็วและสะดวกสบายเป็นพิเศษ:

ด้วย Easy365Manager คุณไม่จำเป็นต้องกังวลเกี่ยวกับเว็บคอนโซล Office 365 และ PowerShell API มากมายที่จะหมดอายุอีกต่อไป

คุณสามารถติดตั้ง Easy365Manager ได้ในเวลาเพียงไม่กี่นาที และไม่มีการเปลี่ยนแปลงโครงสร้างพื้นฐานของคุณ

ดาวน์โหลดรุ่นทดลองใช้ 30 วันของคุณที่นี่

บทความที่เกี่ยวข้อง