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

アプリケーションを Microsoft ID プラットフォームと統合することにより、ユーザーは職場または学校のアカウントを使用してサインインすることや、組織のデータにアクセスして豊富なデータドリブン エクスペリエンスを実現することができます。

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

ユーザーがアプリにデータへのアクセスを許可できるようにすることで、ユーザーは便利なアプリケーションを簡単に取得し、生産性を高めることができます。 ただし、状況によっては、この構成が監視および制御されていない場合にリスクとなる可能性があります。

重要

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

アプリの同意ポリシーを使用して、アプリを同意する前に満たす必要がある条件を記述します。 これらのポリシーには、アクセスを要求するアプリの条件、およびアプリが要求しているアクセス許可を含めることができます。

すべてのユーザーに適用するアプリの同意ポリシーを選択することにより、エンドユーザーがアプリに同意することを許可する場合と、管理者の確認と承認を要求する必要がある場合について制限を設けることができます。

  • ユーザーの同意を無効にする - ユーザーはアプリケーションにアクセス許可を付与できません。 ユーザーは、以前に同意していたアプリ、または管理者によって代理で同意されているアプリにサインインし続けることができますが、新しいアクセス許可や新しいアプリに独自に同意することは許可されません。 同意するアクセス許可を含むディレクトリ ロールが付与されているユーザーのみが、新しいアプリに同意できます。

  • ユーザーは、確認済み発行者または自分の組織からのアプリに対し、選択されたアクセス許可にのみ同意できる - すべてのユーザーが同意できるのは、確認済み発行者 によって発行されたアプリと、テナントに登録されているアプリのみです。 ユーザーは、"低影響" として分類されたアクセス許可に対してのみ同意できます。 ユーザーが同意を許可されるアクセス許可を選択するには、アクセス許可を分類する必要があります。

  • ユーザーはすべてのアプリに同意できる - すべてのユーザーが、すべてのアプリケーションに対し、管理者の同意を必要としないすべてのアクセス許可に同意することができます。

  • カスタム アプリの同意ポリシー - ユーザーが同意するタイミングを管理する条件に関してさらに多くのオプションが必要な場合は、カスタム アプリの同意ポリシーを作成し、それらをユーザーの同意に適用するように構成することができます。

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

  1. Azure portalグローバル管理者としてサインインします。
  2. [Azure Active Directory] > [エンタープライズ アプリケーション] > [同意とアクセス許可] > [ユーザーの同意設定] を選択します。
  3. [User consent for applications](アプリケーションに対するユーザーの同意) で、すべてのユーザーに対して構成する同意設定を選択します。
  4. [Save](保存) を選択して設定を保存します。

ユーザーの同意設定

ヒント

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

リスクに基づくステップアップ同意を使用すると、違法な同意要求を行う悪質なアプリへのユーザーの露出を減らすことができます。 危険なエンドユーザー同意要求が Microsoft によって検出されると、管理者の同意への "ステップアップ" が求められます。 この機能は既定で有効になりますが、動作変更が生じるのは、エンドユーザーの同意が有効な場合だけです。

危険な同意要求が検出されると、管理者の承認が必要であることを示すメッセージが同意プロンプトに表示されます。 管理者の同意要求ワークフローが有効になっている場合、ユーザーは同意プロンプトから直接その要求を管理者に送信してさらなる確認を求めることができます。 有効になっていない場合は、次のメッセージが表示されます。

  • AADSTS90094: <clientAppDisplayName> には、組織内のリソースへのアクセス許可が必要です。このアクセス許可を付与できるのは管理者のみです。 アプリケーションを使用するには、まず管理者に依頼してこのアプリにアクセス許可を付与してください。

この場合、"ApplicationManagement" というカテゴリ、"Consent to application" (アプリケーションへの同意) というアクティビティの種類、"Risky application detected" (危険なアプリケーションの検出) という状態の理由で、監査イベントもログに記録されます。

重要

管理者は、特に Microsoft によってリスクが検出された場合に、慎重にすべての同意要求を評価したうえで要求を承認する必要があります。

Microsoft によってリスクが検出された場合に必要となる管理者の同意へのステップアップは、Azure AD PowerShell プレビュー モジュールである AzureADPreview を使用して無効にしたり、過去に無効にされていた場合は再度有効にしたりすることができます。

  1. AzureADPreview モジュールを使用していることを確認します。 この手順は、AzureAD モジュールと AzureADPreview モジュールの両方がインストールされている場合に重要です。

    Remove-Module AzureAD
    Import-Module AzureADPreview
    
  2. Azure AD PowerShell に接続します。

    Connect-AzureAD
    
  3. テナントの 同意ポリシー設定 ディレクトリ設定の現在の値を取得します。 このために、この機能のディレクトリ設定が作成されているかどうかを確認する必要があります。作成されていない場合は、対応するディレクトリ設定テンプレートの値を使用します。

    $consentSettingsTemplateId = "dffd5d46-495d-40a9-8e21-954ff55e198a" # Consent Policy Settings
    $settings = Get-AzureADDirectorySetting -All $true | Where-Object { $_.TemplateId -eq $consentSettingsTemplateId }
    
    if (-not $settings) {
        $template = Get-AzureADDirectorySettingTemplate -Id $consentSettingsTemplateId
        $settings = $template.CreateDirectorySetting()
    }
    
    $riskBasedConsentEnabledValue = $settings.Values | ? { $_.Name -eq "BlockUserConsentForRiskyApps" }
    
  4. 設定の値を理解します。

    設定 Type 説明
    BlockUserConsentForRiskyApps Boolean 危険な要求が検出されたときにユーザーの同意をブロックするかどうかを示すフラグ
  5. 必要な構成の設定値を更新します。

    # Disable risk-based step-up consent entirely
    $riskBasedConsentEnabledValue.Value = "False"
    
    # Re-enable risk-based step-up consent, if disabled previously
    $riskBasedConsentEnabledValue.Value = "True"
    
  6. 設定を保存します。

    if ($settings.Id) {
        # Update an existing directory settings
        Set-AzureADDirectorySetting -Id $settings.Id -DirectorySetting $settings
    } else {
        # Create a new directory settings to override the default setting 
        New-AzureADDirectorySetting -DirectorySetting $settings
    }
    

次のステップ

詳細については、以下を参照してください。

ヘルプを表示したり、質問に対する回答を検索したりするには、以下を参照してください。