設定許可權分類
在本文中,您將瞭解如何在 Microsoft Entra ID 中設定許可權分類。 許可權分類可讓您根據組織的原則和風險評估,找出不同許可權對的影響。 例如,您可以在同意原則中使用許可權分類,以識別允許使用者同意的許可權集。
支援三種許可權分類:「低」、「中」(預覽),以及「高」(預覽)。 目前,只有不需要系統管理員同意的委派許可權才能分類。
執行基本登入所需的最低許可權是 openid
、 profile
、 email
和 offline_access
,都是 Microsoft Graph 上所有委派的許可權。 使用這些許可權,應用程式可以讀取已登入使用者配置檔的詳細數據,而且即使使用者不再使用應用程式,也可以維護此存取權。
必要條件
若要設定權限分類,您需要:
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 下列其中一個角色:Global 管理員 istrator、Application 管理員 istrator 或 Cloud Application 管理員 istrator
管理許可權分類
提示
本文中的步驟可能會根據您從開始的入口網站稍有不同。
請遵循下列步驟,使用 Microsoft Entra 系統管理中心來分類許可權:
- 以至少雲端應用程式 管理員 istrator 身分登入 Microsoft Entra 系統管理中心。
- 流覽至 [身分>識別應用程式>企業應用程式>同意] 和 [許可權>] 分類。
- 選擇您想要更新之許可權分類的索引標籤。
- 選擇 [ 新增許可權 ] 以分類另一個許可權。
- 選取 API,然後選取委派的許可權。。
在此範例中,我們已將單一登錄所需的最低許可權集合分類:
您可以使用最新的 Azure AD PowerShell 來分類許可權。 許可權分類是在發佈許可權之 API 的 ServicePrincipal 物件上設定。
執行下列命令以連線到 Azure AD PowerShell。 若要同意所需的範圍,請至少以雲端應用程式 管理員 istrator 登入。
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。 若要同意所需的範圍,請至少以雲端應用程式 管理員 istrator 登入。
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
若要設定企業應用程式的許可權分類,請至少以 Cloud Application 管理員 istrator 身分登入 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