アクセス許可の分類を構成する

この記事では、Microsoft Entra ID でアクセス許可の分類を構成する方法について説明します。 アクセス許可の分類を使用すると、組織のポリシーとリスク評価に応じて、さまざまなアクセス許可の影響を特定できます。 たとえば、同意ポリシーでアクセス許可の分類を使用して、ユーザーが同意を許可された一連のアクセス許可を識別できます。

"低"、"中" (プレビュー)、"高" (プレビュー) の 3 つのアクセス許可分類がサポートされています。 現時点では、管理者の同意を必要としない委任されたアクセス許可のみを分類できます。

基本的なサインインに必要な最小限のアクセス許可は openidprofileemailoffline_access です。これらはすべて、Microsoft Graph で委任されたアクセス許可です。 これらのアクセス許可を使用すると、アプリはサインインしているユーザーのプロファイルの詳細を読み取ることができ、ユーザーがアプリを使用しなくなった場合でもこのアクセスを維持できます。

前提条件

アクセス許可の分類を構成するには、次が必要です。

  • アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます
  • グローバル管理者ロール、アプリケーション管理者ロール、クラウド アプリケーション管理者ロールのいずれか

アクセス許可の分類を管理する

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

Microsoft Entra 管理センターを使用してアクセス許可を分類するには、次の手順に従います。

  1. クラウド アプリケーション管理者以上として Microsoft Entra 管理センターにサインインします。
  2. [ID][アプリケーション][エンタープライズ アプリケーション][同意とアクセス許可][アクセス許可の分類] の順に移動します。
  3. 更新するアクセス許可の分類のタブを選択します。
  4. [アクセス許可の追加] を選択して、別のアクセス許可を分類します。
  5. API を選択し、委任されたアクセス許可を選択します。

この例では、シングル サインオンに必要な最小限のアクセス許可セットを分類しました。

Permission classifications

最新の 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. アクセス許可の名前と ID を使用して、アクセス許可の分類を設定します。

    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".

Azure AD 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

次の手順