2017-05-30 108 views
1

要求: 我想獲取特定O365用戶已安裝或授予某些權限的所有應用程序(Microsoft或第三方應用程序)的列表。我想獲取特定應用程序要求的所有權限/範圍。在Office 365中獲取用戶的應用程序或權限列表

谷歌提供了一個API使用/做類似的功能用戶/ XXX /令牌API - https://developers.google.com/admin-sdk/directory/v1/reference/tokens/list

是否有轉換MSGraph或Azure的AD的Office 365用戶的任何類似的API來獲取他們的應用程序的列表,並相關權限

+0

您能澄清幾件事嗎?你提到「一個特定的O365已安裝」 - 你的意思是「已經同意」?然後你提到「或正在使用」 - 使用將是一個不同的事情,也許用戶已經同意了一個應用程序,但他/她不再使用該應用程序。然後你提到了「特定應用程序要求的所有權限/範圍」。這也將是一個不同的事情:用戶可能已經同意了一個應用程序,但然後該應用程序可能已經改變了所需的權限。 – andresm53

+0

是的,我的意思是用戶已經授予了應用程序的一些權限。我想要一個用戶的所有這些應用程序的列表。 – crucifix94

+0

如果應用程序更改了所需的權限,是不是要求用戶再次提供剩餘的權限(通過同意屏幕或其他內容)。無論如何,我想獲得用戶提供應用程序的權限。 – crucifix94

回答

0

根據這些信息,在這裏找到:https://docs.microsoft.com/en-us/azure/active-directory/active-directory-apps-permissions-consent

可以使用GET-AzureADUserOAuth2PermissionGrant看到用戶已與PE一起授予訪問所有應用程序的列表請使用Get-AzureADServicePrincipal查找應用程序的名稱。以下是基於用戶的UPN搜索的示例。

爲用戶加載所有授權的應用程序。

$grants = Get-AzureADUser -SearchString [email protected] | Get-AzureADUserOAuth2PermissionGrant 

獲取上述

Get-AzureADServicePrincipal -ObjectId $grants[0].ClientId 

$grants = Get-AzureADUser -SearchString [email protected] | Get-AzureADUserOAuth2PermissionGrant 

> $grants[5] | fl 


ClientId : <snip> 
ConsentType : Principal 
ExpiryTime : 4/27/2016 11:15:39 AM 
ObjectId : <snip> 
PrincipalId : <snip> 
ResourceId : <snip> 
Scope  : User.Read user_impersonation 
StartTime : 1/1/0001 12:00:00 AM 

> 
> Get-AzureADServicePrincipal -ObjectId $grants[5].ClientId 

ObjectId       AppId        DisplayName 
--------       -----        ----------- 
<snip>        <snip>       ExampleAppName 
1

從列表中應用程序的名稱找到了一個方法來做到這一點 -

首先獲得所有oauth2PermissionGrants對象提供由用戶指定給任何應用程序。 使用下列API來做到這一點 - https://graph.windows.net/ {} tenantDomain /用戶/用戶ID {} /oauth2PermissionGrants?api-version=1.6

然後使用在repsonse提到的clientID的,以獲得詳細信息應用

https://graph.windows.net/ {tenantDomain}/servicePrincipals/{clientID}?api-version = 1.6

相關問題