(For Admins) Power BI Admin กับการ Enable ตัว Audit Log
Content difficulty — Technical
Power BI Administrator เป็น role ที่มีส่วนสำคัญในการแบ่งเบาภาระของ Global Administrator ในการบริหารจัดการ Power BI ในระดับ tenant ขององค์กร ซึ่งจะสามารถดู Workspace ขององค์กร, ทำ classification, ทำ branding, ดู usage metrics และ รวมไปถึงการสร้างหรือจัดการตัว capacity ใน Power BI Premium โดย Power BI Administrator สามารถเข้ามาจัดการได้ที่ https://app.powerbi.com/admin-portal/
Global Administrator สามารถ Assign สิทธิ์นี้ให้กับ user ได้ผ่าน Admin Center ซึ่งไปที่ https://admin.microsoft.com แล้วก็ไป Assign สิทธิ์ Power BI Administrator กับ user คนนั้นๆ
Power BI Administrator นั้นไม่สามารถดู Audit Log ที่เป็น Power BI Activities ได้ ซึ่ง Audit Log เป็น feature ที่สามารถดู Activity ต่างๆ ใน Microsoft 365 ของ tenant ว่าใครทำอะไรบ้าง หรือ Admin คนไหนได้ไป settings อะไร ย้อนหลังไป 90 วันสำหรับคนที่ใช้ Office 365 Plans ทั่วไป แต่สำหรับ user ที่ใช้ Plans ที่เป็น Office 365 E5, Microsoft 365 E5 Compliance หรือ add-on ตัว eDiscovery ตัว log จะเก็บได้ 1 ปี (เวลาจะเป็น UTC ธรรมดา)
ตัว Audit Log ตัวนี้จะเป็น Unified Audit Log ที่ดูได้ทั้ง Service อื่นๆด้วย อย่างเช่น Exchange Online หรือ SharePoint Online จึงทำให้ Power BI Admin ไม่สามารถดูได้ by default นอกจากจะดู Power BI Activities Log ผ่าน REST API หรือ PowerShell (เนื้อหาตรงนี้จะอยู่ในตอนท้าย)
Power BI Activities จะถูกบันทึกหลังจาก Action ของ user/admin ราวๆประมาณ 30 นาที สำหรับ (บาง Office 365 services จะใช้เวลา 24 ชม.) ซึ่ง tenant ในปัจจุบัน ตัว Audit Logs จะ turn on ตั้งแต่แรกอยู่แล้วเป็น default
ถ้ายังไม่ turn on สามารถใช้ PowerShell เพื่อ turn on ทั้ง tenant ได้โดย Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true หรือกดปุ่ม Turn on ที่หน้า Audit Log พอ turn on แล้วก็ต้องรอให้ระบบ set ตัว ประมาณไม่เกิน 48 ชม.
สิทธิในการดู Audit Log นั้นจะเป็นสิทธิของ Global Administrator หรือ Exchange Administrator ที่จะมีอำนาจในการดู ซึ่งพวกเขาสามารถดู Audit Logs ได้ที่ https://protection.office.com/unifiedauditlog หรือจากที่ https://compliance.microsoft.com/auditlogsearch
เราสามารถ Assign สิทธิ์นี้ให้กับ Power BI Administrator ได้ โดย
- เพิ่ม role ให้เป็น Exchange Administrator หรือ Global Administrator
- เพิ่ม Permission โดยใช้ Role group ใน Exchange Online (แนะนำ)
เพื่อไม่ให้สิทธิ์มากเกินความจำเป็น เราสามารถให้สิทธิ์ scope เฉพาะการดู Audit Log แก่เหล่า Power BI Administrator ได้ สิทธิในการดู Audit Log นี้จริงๆแล้วจะ list อยู่ใน Exchange Online Admin Center (EAC)
ถ้าไปที่ https://admin.exchange.microsoft.com/#/adminRoles แล้วเข้าไปที่ Permissions ของ admin Roles ก็จะเห็นตัว Role groups พิเศษต่างๆของ Exchange Online ซึ่งจะเป็น Role-based permission
ซึ่งในส่วนของ Audit Log จะอยู่ภายใต้ built-in Role group ที่ชื่อ Compliance Management และ Organization Management ซึ่งจะมี Assigned Roles 2 ส่วนคือ Audit Logs และ View-Only Audit Logs
role ของ Audit Logsจะมีใน Records Management role group ด้วย
View-Only Audit Logs จะเป็น role ที่สามารถทำการ Search ตัว Audit Logs ได้ ส่วน Audit Logs จะเป็น role ที่สามารถการ Search และ Export ตัว Audit Logs การ Assign เราสามารถ Assign ทั้ง role group จากที่ built in ให้ Power BI Administrator ได้เลย
หรือจะ scope ให้แค่ความสามารถ roles เฉพาะ View-Only Audit Logs หรือ Audit Logs โดยที่เราสร้าง role group แบบ custom โดย new role group แล้วทำการ add role และ add member ที่เป็น Power BI Administrator หรือ คนที่ต้องการเข้าไป
เมื่อ add แล้วใช้เวลาซักพัก user ก็จะเข้าไป search ได้โดยไปที่ https://protection.office.com/unifiedauditlog
Sign in log
สามารถดูได้จาก Azure AD Portal ซึ่งย้อนหลังได้ 1 เดือนถ้ามี Azure AD Premium P1 license และ 7 วันถ้าเป็น Office 365 license ธรรมดา และสามารถไปเก็บ log ให้นานกว่านั้นผ่าน Azure Storage
เข้าได้โดย -https://aad.portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/SignIns
Role ที่สามารถเข้าได้ Global Admin, Security Admin, Security Reader, Global reader และ Report reader role
ใช้ PowerShell หรือ REST API ในการดู Power BI Activity Log
Power BI Administrator สามารถใช้ Tools อย่าง Power BI Admin API หรือ PowerShell ที่เป็น module ของ Power BI Admin management เพื่อดูหรือ filter ออกมาได้ โดย output จะออกมาเป็น JSON ถ้าใช้วิธีนี้ก็ไม่ได้จำเป็นต้องให้สิทธิของ View-Only Audit Logs หรือ Audit Logs
ตัวอย่าง REST API
ตัวอย่าง PowerShell
Login-PowerBI
$activities = Get-PowerBIActivityEvent `
-StartDateTime ‘2019–08–31T00:00:00’ `
-EndDateTime ‘2019–08–31T23:59:59’ | ConvertFrom-Json
$activities.Count
$activities[0]