共用方式為


設定權限分類

在本文中,您將了解如何在 Microsoft Entra ID 中設定權限分類。 權限分類可讓您根據組織的原則和風險評估,識別不同權限的影響。 例如,您可以在同意原則中使用權限分類,以識別允許使用者同意的權限集。

支援三種權限分類:「低」、「中」(預覽),以及「高」(預覽)。 目前,只有不需要管理員同意的委派權限可以分類。

進行基本登入所需的最小權限為 openidprofileemailoffline_access,這些都是 Microsoft Graph 上的所有委派權限。 使用這些權限,即便使用者不再使用應用程式,該應用程式仍可讀取已登入使用者的設定檔詳細資料,並且可以保有此存取權。

必要條件

若要設定權限分類,您必須:

  • 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶
  • 下列其中一個角色:應用程式管理員或雲端應用程式管理員

管理權限分類

提示

根據您開始使用的入口網站,本文中的步驟可能略有不同。

遵循下列步驟以使用 Microsoft Entra 系統管理中心分類權限:

  1. 以至少 雲端應用程式系統管理員 的身分登入 Microsoft Entra 系統管理中心
  2. 瀏覽至 [身分識別]>[應用程式]>[企業應用程式]>[同意和權限]>[權限分類]
  3. 選擇您所要更新權限分類的索引標籤。
  4. 選擇 [新增權限],以分類另一個權限。
  5. 選取 API,然後選取委派的權限。

在此範例中,我們已將單一登入所需的最小權限集合分類:

權限分類

您可以使用最新的 Azure AD PowerShell 來分類權限。 權限分類是在 API (發佈權限) 的 ServicePrincipal 物件上設定。

執行下列命令,以連線到 Azure AD PowerShell。 若要同意所需的範圍,請至少以雲端應用程式管理員身分登入。

Connect-AzureAD

使用 Azure AD PowerShell 列出目前的權限分類

  1. 擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. 讀取 API 的委派權限分類:

    Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
        -ServicePrincipalId $api.ObjectId | Format-Table Id, PermissionName, Classification
    

使用 Azure AD PowerShell 將權限分類為「低影響」

  1. 擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. 尋找您想要分類的委派權限:

    $delegatedPermission = $api.OAuth2Permissions | Where-Object { $_.Value -eq "User.ReadBasic.All" }
    
  3. 使用權限名稱和識別碼來設定權限分類:

    Add-AzureADMSServicePrincipalDelegatedPermissionClassification `
       -ServicePrincipalId $api.ObjectId `
       -PermissionId $delegatedPermission.Id `
       -PermissionName $delegatedPermission.Value `
       -Classification "low"
    

使用 Azure AD PowerShell 移除委派權限分類

  1. 擷取 API 的 ServicePrincipal 物件。 在這裡,我們會擷取 Microsoft Graph API 的 ServicePrincipal 物件:

    $api = Get-AzureADServicePrincipal `
        -Filter "servicePrincipalNames/any(n:n eq 'https://graph.microsoft.com')"
    
  2. 尋找您想要移除的委派權限分類:

    $classifications = Get-AzureADMSServicePrincipalDelegatedPermissionClassification `
        -ServicePrincipalId $api.ObjectId
    $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "User.ReadBasic.All"}
    
  3. 刪除權限分類:

    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 的目前權限分類

  1. 擷取 API 的 servicePrincipal 物件:

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. 讀取 API 的委派權限分類:

    Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id 
    

使用 Microsoft Graph PowerShell 將權限分類為「低影響」

  1. 擷取 API 的 servicePrincipal 物件:

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. 尋找您想要分類的委派權限:

    $delegatedPermission = $api.Oauth2PermissionScopes | Where-Object {$_.Value -eq "openid"} 
    
  3. 設定權限分類:

    $params = @{ 
       PermissionId = $delegatedPermission.Id 
       PermissionName = $delegatedPermission.Value 
       Classification = "Low"
    } 
    
    New-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id -BodyParameter $params 
    

使用 Microsoft Graph PowerShell 移除委派權限分類

  1. 擷取 API 的 servicePrincipal 物件:

    $api = Get-MgServicePrincipal -Filter "displayName eq 'Microsoft Graph'" 
    
  2. 尋找您想要移除的委派權限分類:

    $classifications = Get-MgServicePrincipalDelegatedPermissionClassification -ServicePrincipalId $api.Id 
    
    $classificationToRemove = $classifications | Where-Object {$_.PermissionName -eq "openid"}
    
  3. 刪除權限分類:

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

下一步