設定權限分類
在本文中,您將了解如何在 Microsoft Entra ID 中設定權限分類。 權限分類可讓您根據組織的原則和風險評估,識別不同權限的影響。 例如,您可以在同意原則中使用權限分類,以識別允許使用者同意的權限集。
支援三種權限分類:「低」、「中」(預覽版) 及「高」(預覽版)。 目前,只有不需要管理員同意的委派權限可以分類。
進行基本登入所需的最小權限為 openid
、profile
、email
及 offline_access
,這些都是 Microsoft Graph 上的所有委派權限。 使用這些權限,即便使用者不再使用應用程式,該應用程式仍可讀取已登入使用者的設定檔詳細資料,並且可以保有此存取權。
必要條件
若要設定權限分類,您必須:
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 下列其中一個角色:應用程式管理員或雲端應用程式管理員
管理權限分類
提示
根據您開始使用的入口網站,本文中的步驟可能略有不同。
遵循下列步驟以使用 Microsoft Entra 系統管理中心分類權限:
- 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心。
- 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[同意和權限]>[權限分類]。
- 選擇您所要更新權限分類的索引標籤。
- 選擇 [新增權限],以分類另一個權限。
- 選取 API,然後選取一或多個委派權限。
在此範例中,我們將單一登入所需的最小權限集合分類:
您可以使用最新的 Azure AD PowerShell 來分類權限。 權限分類是在 API (發佈權限) 的 ServicePrincipal 物件上設定。
執行下列命令,以連線到 Azure AD PowerShell。 若要同意所需的範圍,請至少以雲端應用程式管理員身分登入。
Connect-AzureAD
使用 Azure AD PowerShell 列出目前的權限分類
擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
讀取 API 的委派權限分類:
Get-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
使用 Azure AD PowerShell 將權限分類為「低影響」
擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
尋找您想要分類的委派權限:
$delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
使用權限名稱和識別碼來設定權限分類:
Add-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId ` -PermissionId $delegatedPermission.Id ` -PermissionName $delegatedPermission.Value ` -Classification "low"
使用 Azure AD PowerShell 移除委派權限分類
擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:
$api = Get-AzureADServicePrincipal ` -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
尋找您想要移除的委派權限分類:
$classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
刪除權限分類:
Remove-AzureADMSServicePrincipalDelegatedPermissionClassification ` -ServicePrincipalId $api.ObjectId ` -Id $classificationToRemove.Id
您可以使用 Microsoft Graph PowerShell 來分類權限。 權限分類是在 API (發佈權限) 的 ServicePrincipal 物件上設定。
執行下列命令來連線到 Microsoft Graph PowerShell。 若要同意所需的範圍,請至少以雲端應用程式管理員身分登入。
Connect-MgGraph -Scopes "Policy.ReadWrite.PermissionGrant".
使用 Microsoft Graph PowerShell 列出 API 的目前權限分類
擷取 API 的 servicePrincipal 物件:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
讀取 API 的委派權限分類:
Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id
使用 Microsoft Graph PowerShell 將權限分類為「低影響」
擷取 API 的 servicePrincipal 物件:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
尋找您想要分類的委派權限:
$delegatedPermission = $api.Oauth2PermissionScopes | Where-Object {$_.Value -eq "openid"}
設定權限分類:
$params = @{ PermissionId = $delegatedPermission.Id PermissionName = $delegatedPermission.Value Classification = "Low" } New-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id -BodyParameter $params
使用 Microsoft Graph PowerShell 移除委派權限分類
擷取 API 的 servicePrincipal 物件:
$api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'"
尋找您想要移除的委派權限分類:
$classifications = Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "openid"}
刪除權限分類:
Remove-MgServicePrincipalDelegatedPermissionClassification -DelegatedPermissionClassificationId $classificationToRemove.Id -ServicePrincipalId $api.id
若要設定企業應用程式的權限分類,請至少以雲端應用程式管理員身分登入 Graph 總管。
您必須同意 Policy.ReadWrite.PermissionGrant
權限。
在 Microsoft Graph 總管上執行下列查詢,以新增應用程式的委派權限分類。
使用 Microsoft Graph API 列出 API 的目前權限分類
使用下列 Microsoft Graph API 呼叫列出 API 的目前權限分類。
GET https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications
使用 Microsoft Graph API 將權限分類為「低影響」
在下列範例中,我們會將權限分類為「低影響」。
使用下列 Microsoft Graph API 呼叫新增 API 的委派權限分類。
POST https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications
Content-type: application/json
{
"permissionId": "b4e74841-8e56-480b-be8b-910348b18b4c",
"classification": "low"
}
使用 Microsoft Graph API 移除委派權限分類
在 Microsoft Graph 總管上執行下列查詢,以移除 API 的委派權限分類。
DELETE https://graph.microsoft.com/v1.0/servicePrincipals(appId='00000003-0000-0000-c000-000000000000')/delegatedPermissionClassifications/QUjntFaOC0i-i5EDSLGLTAE