Desarrollo de Microsoft 365: cómo obtener un conjunto completo de cambios de permisos en SPO

Dirección del blog 51CTO: https://blog.51cto.com/13969817
Dirección del blog del jardín del blog: https://www.cnblogs.com/bxapollo

Microsoft Graph es una API web RESTful, puede usarla para acceder a los recursos del servidor en la nube de Microsoft, registrar una aplicación y obtener el token de autenticación de usuario o servicio, puede realizar una solicitud a la API de Microsoft Graph.

De forma predeterminada, DeltaLinks (Token) es una API de ámbito de usuario que se puede utilizar para comportamientos de sincronización similares. Por ejemplo, se puede obtener una enumeración completa de los permisos para la verificación. Delta intenta limitar el alcance de los cambios basados ​​en permisos a los cambios relacionados con la persona que llama. Si los permisos de acceso de la persona que llama no se modifican debido a los cambios de permisos, es posible que el elemento no se incluya en el resultado incremental.

Requisitos previos para obtener permisos:

Asegúrese de seguir las recomendaciones de aca.ms/scanguidance; de ​​lo contrario, se reducirá el alcance de los permisos de acceso.

Método de obtención de permisos:

  • Utilice la autenticación de solo aplicación para Sites.
  • Todos los rangos y encabezado de paso "preferido" = "deltashowsharingchanges, JerárquicoCompartido"

Pasos de implementación:

  1. Cree una aplicación en AAD y tenga los siguientes permisos, como Sites.FullControl.

Desarrollo de Microsoft 365: cómo obtener un conjunto completo de cambios de permisos en SPO

2. Utilice la siguiente secuencia de comandos de PowerShell para generar el token de acceso y el enlace del token delta:

cls 

$host.Runspace.ThreadOptions = "ReuseThread" 
Write-Host "STARTED at" (Get-Date).ToString() -f Green 
$ClientID = "fa9737d5-5a3e-4fab-0000-000000000000" 
$ClientSecret = "1JOe:M8HBBUz-0000000000000000000" 
$scope= "https://graph.microsoft.com/.default" 
$POSTURI = "https://login.microsoftonline.com/d6f932a7-5f74-0000-0000-000000000000/oauth2/v2.0/token" 
$body = @{grant_type="client_credentials";client_id=$ClientID;client_secret=$ClientSecret;scope=$scope} 
$oauth = Invoke-RestMethod -Method Post -Uri $POSTURI -Body $body $graphAccessToken = $oauth.access_token 
Write-Host "Access token: $($graphAccessToken)" 
$requestHeader = @{ 
"Authorization" = "Bearer $graphAccessToken" 
"Content-Type" = "application/json" 
"Prefer" = "deltashowsharingchanges,hierarchicalsharing,deltatraversepermissiongaps,deltashowremovedasdeleted" 
} 
$Uri = "https://graph.microsoft.com/v1.0/sites/spotenant.sharepoint.com,df6ba610-b132-0000-0000-000000000000,e0dbcdc6-0637-4246-0000-000000000000/drive/root/delta?latest" 
$Result = (Invoke-RestMethod -Method Get -Headers $requestheader -Uri $Uri) 
$deltaUri = $Result.'@odata.deltaLink' 
Write-Host $deltaUri 
Write-Host "DONE at" (Get-Date).ToString() -f Green
  1. Copie la salida del valor del token de acceso y deltaUri del script anterior y utilícelos en el script de muestra de PowerShell a continuación para recuperar el conjunto completo de cambios de permisos
cls 
$host.Runspace.ThreadOptions = "ReuseThread" 
Write-Host "STARTED at" (Get-Date).ToString() -f Green 
$graphAccessToken = "copied from output of above sample powershell script" $requestHeader = @{ 
"Authorization" = "Bearer $graphAccessToken" 
"Content-Type" = "application/json" 
"Prefer" = "deltashowsharingchanges,hierarchicalsharing" 
} 
Write-Host 
$deltaUri = "copied from output of above sample powershell script" #should look like sample below: https://graph.microsoft.com/v1.0/sites/spotenant.sharepoint.com,df6ba610-b132-4fc7-0000-000000000000,e0dbcdc6-0637-4246-0000-000000000000/drive/root/delta?token=MzslMjM0OyUyMzE7Mzs3NDlhZjc4NC0zOWU0LTRlOTEtYmJkNy0wNzI5MjAxNTNlMGY7NjM3MzM2NDU1MzMyNDcwMDAwOzMxOTY4OTE4MjslMjM7JTIzOyUyMzA" $deltaResult = (Invoke-RestMethod -Method Get -Headers $requestheader -Uri $deltaUri) Write-Host $deltaResult.value 
Write-Host 
Write-Host "DONE at" (Get-Date).ToString() -f Green

Referencia de información relacionada:

Supongo que te gusta

Origin blog.51cto.com/13969817/2545261
Recomendado
Clasificación