ユーザーがアプリケーションに同意する方法を構成する

この記事では、アプリケーションに対するユーザーの同意方法と、アプリケーションに対する今後のユーザーの同意操作をすべて無効にする方法について説明します。

アプリケーションが組織のデータにアクセスできるようにするには、そのためのアプリケーションのアクセス許可をユーザーに付与する必要があります。 異なるアクセス許可によって、さまざまなレベルのアクセスが可能になります。 既定では、すべてのユーザーが、管理者の同意を必要としないアクセス許可のアプリケーションに同意することが許可されています。 たとえば、既定では、ユーザーはアプリが自分のメールボックスにアクセスすることを許可することができますが、組織内のすべてのファイルを自由に読み取りと書き込みできるアクセスをアプリに許可することに同意することはできません。

悪意のあるアプリケーションがユーザーに組織のデータへのアクセス付与を誘導しようとした場合のリスクを軽減するために、確認済み発行者によって発行されたアプリケーションに対してのみユーザーの同意を許可することをお勧めします。

前提条件

ユーザーの同意を構成するには、次のものが必要です。

Azure portal を使用してユーザーの同意設定を構成するには:

  1. Azure portalグローバル管理者としてサインインします。

  2. [Azure Active Directory]>[エンタープライズ アプリケーション]>[同意とアクセス許可]>[ユーザーの同意設定] を選択します。

  3. [User consent for applications](アプリケーションに対するユーザーの同意) で、すべてのユーザーに対して構成する同意設定を選択します。

  4. [Save](保存) を選択して設定を保存します。

[User consent settings]\(ユーザーの同意設定\) ペインのスクリーンショット。

アプリケーションに対するユーザーの同意を制御するアプリの同意ポリシーを選択するには、Microsoft Graph PowerShell モジュールを使用します。 ここで使用するコマンドレットは、Microsoft.Graph.Identity.SignIns モジュールに含まれています。

Microsoft Graph PowerShell に接続する

必要な最小限の特権を使用して、Microsoft Graph PowerShell に接続します。 ユーザーの現在の同意設定を読み取る場合は、Policy.Read.All を使用します。 ユーザーの同意設定を読み取って変更するには、Policy.ReadWrite.Authorization を使用します。

Connect-MgGraph -Scopes "Policy.ReadWrite.Authorization"

ユーザーの同意を無効にするには、ユーザーの同意を制御する同意ポリシーを空に設定します。

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @() }

ユーザーの同意を許可するには、アプリに同意するユーザーの承認を管理するアプリの同意ポリシーを選択します。

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @("managePermissionGrantsForSelf.{consent-policy-id}") }

{consent-policy-id} を、適用するポリシーの ID に置き換えます。 作成したカスタム アプリの同意ポリシーを選択することも、次の組み込みポリシーから選択することもできます。

id 説明
microsoft-user-default-low 確認済みの発行者からのアプリに対し、選択されたアクセス許可に関するユーザーの同意を許可する 確認済みの発行者によって発行されたアプリとテナントに登録されているアプリのみに対して、"低影響" に分類したアクセス許可のみに関する限定的なユーザーの同意を許可します。 (アクセス許可を分類して、ユーザーが同意を許可できるアクセス許可を選択してください。)
microsoft-user-default-legacy アプリに対するユーザーの同意を許可する このオプションでは、すべてのユーザーが、すべてのアプリケーションに対し、管理者の同意を必要としないすべてのアクセス許可に同意することができます

たとえば、組み込みのポリシー microsoft-user-default-low に従ってユーザーの同意を有効にするには、次のコマンドを実行します。

Update-MgPolicyAuthorizationPolicy -DefaultUserRolePermissions @{
    "PermissionGrantPoliciesAssigned" = @("managePermissionGrantsForSelf.microsoft-user-default-low") }

Graph Explorer を使用して、アプリケーションに対するユーザーの同意を制御するアプリの同意ポリシーを選択します。

ユーザーの同意を無効にするには、ユーザーの同意を制御する同意ポリシーを空に設定します。

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy
{
   "defaultUserRolePermissions": {
      "permissionGrantPoliciesAssigned": []
   }
}

ユーザーの同意を許可するには、アプリに同意するユーザーの承認を管理するアプリの同意ポリシーを選択します。

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
   "defaultUserRolePermissions": {
      "permissionGrantPoliciesAssigned": ["ManagePermissionGrantsForSelf.microsoft-user-default-legacy"]
   }
}

{consent-policy-id} を、適用するポリシーの ID に置き換えます。 作成したカスタム アプリの同意ポリシーを選択することも、次の組み込みポリシーから選択することもできます。

id 説明
microsoft-user-default-low 確認済みの発行者からのアプリに対し、選択されたアクセス許可に関するユーザーの同意を許可する 確認済みの発行者によって発行されたアプリとテナントに登録されているアプリのみに対して、"低影響" に分類したアクセス許可のみに関する限定的なユーザーの同意を許可します。 (アクセス許可を分類して、ユーザーが同意を許可できるアクセス許可を選択してください。)
microsoft-user-default-legacy アプリに対するユーザーの同意を許可する このオプションでは、すべてのユーザーが、すべてのアプリケーションに対し、管理者の同意を必要としないすべてのアクセス許可に同意することができます

たとえば、組み込みのポリシー microsoft-user-default-low に従ってユーザーの同意を有効にするには、次の PATCH コマンドを使用します。

PATCH https://graph.microsoft.com/v1.0/policies/authorizationPolicy

{
    "defaultUserRolePermissions": {
        "permissionGrantPoliciesAssigned": [
            "managePermissionGrantsForSelf.microsoft-user-default-low"
        ]
    }
}

ヒント

ユーザーが同意することが許可されていないアプリケーションの管理者によるレビューと承認をユーザーが要求できるようにするには、管理者の同意ワークフローを有効にします。 たとえば、ユーザーの同意が無効になっている場合や、ユーザーによる付与が許可されていないアクセス許可をアプリケーションが要求している場合に、このような操作を行うことができます。

次の手順