次の方法で共有


条件付きアクセス: デバイスのフィルター

管理者が条件付きアクセス ポリシーを作成する際、一般的なタスクとして、環境内の特定のデバイスを対象または対象外にすることができます。 デバイスの条件フィルターを使用すると、管理者は特定のデバイスを対象にすることができます。 管理者は、条件付きアクセス ポリシーで使用可能な他の割り当て条件と共に 、デバイス フィルターでサポートされている演算子とプロパティ を使用できます。

条件付きアクセス ポリシー条件でのデバイスのフィルターの作成

一般的なシナリオ

組織がデバイスのフィルター条件を使用して有効にできるようになったシナリオは複数あります。 この新しい条件を使用する方法の例を、次のシナリオで示します。

  • 特権リソースへのアクセスを制限します。 この例では、次の条件を満たすユーザーから Windows Azure Service Management API にアクセスできるようにするとします。
    • 特権ロールが割り当てられます。
    • 多要素認証が完了している。
    • 特権またはセキュリティで保護された管理者ワークステーションであり、準拠していると証明されたデバイスにある。
    • このシナリオでは、組織は次の 2 つの条件付きアクセス ポリシーを作成します。
      • ポリシー 1: 管理者ロールを持つすべてのユーザーが、Microsoft Azure Service Management API クラウド アプリにアクセスし、アクセス制御についてアクセス権を付与しますが、多要素認証を要求し、デバイスは準拠としてマーク済みである必要があります。
      • ポリシー 2: 管理者ロールを持ち、Microsoft Azure Service Management API クラウド アプリにアクセスし、デバイスに対するフィルターとして device.extensionAttribute1 が SAW に等しいというルール式を使用してそれ以外を除外し、アクセス制御がブロックになっているすべてのユーザー。 Microsoft Entra デバイス オブジェクトの extensionAttributes を更新する方法について説明します。
  • サポートされていないオペレーティング システムを実行しているデバイスから組織のリソースへのアクセスをブロックします。 この例では、Windows 10 より前の Windows OS バージョンからリソースへのアクセスをブロックするとします。 このシナリオでは、組織は次の条件付きアクセス ポリシーを作成します。
    • ルール式が device.operatingSystem == 'Windows' および device.operatingSystemVersion startsWith '10.0' に適用されるデバイスを除き、すべてのリソースにアクセスしようとするすべてのユーザーは、アクセス制御によってブロックされるべきです。
  • 特定のデバイス上の特定のアカウントに多要素認証を必要としません。 この例では、Teams 電話や Surface Hub デバイスなどの特定のデバイスでサービス アカウントを使用する場合は多要素認証を要求しないとします。 このシナリオでは、組織は次の 2 つの条件付きアクセス ポリシーを作成します。
    • ポリシー 1: サービス アカウントを除くすべてのユーザーが、すべてのリソースにアクセスし、アクセス制御についてアクセス権を付与しますが、多要素認証を要求します。
    • ポリシー 2: すべてのリソースにアクセスし、デバイスに対するフィルターとして device.extensionAttribute2 が TeamsPhoneDevice に等しくないというルール式を使用してそれ以外を指定し、アクセス制御がブロックになっているユーザーとグループを選択 (サービス アカウントのみを含むグループを含める)。

Microsoft Entra ID では、デバイス認証を使用してデバイス フィルター規則を評価します。 Microsoft Entra ID に未登録のデバイスの場合、デバイスがディレクトリに存在しないため、すべてのデバイス プロパティは null 値と見なされ、デバイス属性を特定できません。 未登録デバイスのポリシーをターゲットにする最善の方法は、構成されたフィルター規則が適用されるため、負の演算子を使用することです。 正の演算子を使用する場合、フィルター ルールは、デバイスがディレクトリに存在し、構成されたルールがデバイスの属性と一致する場合にのみ適用されます。

条件付きアクセス ポリシーを作成する

デバイスのフィルターは、条件付きアクセス ポリシーを作成するときのオプションのコントロールです。

次の手順は、 一般的なシナリオの最初のシナリオをサポートする 2 つの条件付きアクセス ポリシーを作成するのに役立ちます。

ポリシー 1: 管理者ロールを持つすべてのユーザーが、Microsoft Azure Service Management API クラウド アプリにアクセスし、アクセス制御についてアクセス権を付与しますが、多要素認証を要求し、デバイスは準拠としてマーク済みである必要があります。

  1. Microsoft Entra 管理センターに、少なくとも条件付きアクセス管理者としてサインインします。
  2. Entra ID>Conditional Access>Policies に移動します。
  3. [ 新しいポリシー] を選択します。
  4. ポリシーに名前を付けます。 ポリシーの名前に対する意味のある標準を組織で作成することをお勧めします。
  5. [ 割り当て] で、[ ユーザーまたはワークロード ID] を選択します
    1. [ 含める] で、[ ディレクトリ ロール] を選択し、名前に管理者が含まれるすべてのロールを選択します。

      警告

      条件付きアクセス ポリシーでは、組み込みロールがサポートされています。 条件付きアクセス ポリシーは、[管理単位スコープ](.. など、他の種類のロールには適用されません。/role-based-access-control/manage-roles-portal.md または カスタム ロール

    2. 除外 で、ユーザーとグループ を選択し、組織の緊急アクセスまたはブレークグラスアカウントを選択します。

    3. [ 完了] を選択します

  6. [ターゲット リソース>リソース (以前のクラウド アプリ)>含める>リソースを選択する] で、[Windows Azure サービス管理 API] を選択し、[選択] をクリックします。
  7. [アクセス制御>許可]、[アクセス権を付与]、[多要素認証が必要]、[デバイスを準拠としてマークする必要があります] の順に選択し、[選択] をクリックします。
  8. 設定を確認し、[ ポリシーを有効にする][オン] に設定します。
  9. [ 作成] を選択して作成し、ポリシーを有効にします。

ポリシー 2: 管理者ロールを持ち、Microsoft Azure Service Management API クラウド アプリにアクセスし、デバイスに対するフィルターとして device.extensionAttribute1 が SAW に等しいというルール式を使用してそれ以外を除外し、アクセス制御がブロックになっているすべてのユーザー。

  1. [ 新しいポリシー] を選択します。
  2. ポリシーに名前を付けます。 ポリシーの名前に対する意味のある標準を組織で作成することをお勧めします。
  3. [ 割り当て] で、[ ユーザーまたはワークロード ID] を選択します
    1. [ 含める] で[ ディレクトリ ロール] を選択し、名前に管理者が含まれるすべてのロールを選択します。

      警告

      条件付きアクセス ポリシーでは、組み込みロールがサポートされています。 条件付きアクセス ポリシーは、 管理単位スコープ やカスタム ロールなど、他の種類の ロールには適用されません。

    2. 除外 で、ユーザーとグループ を選択し、組織の緊急アクセスまたはブレークグラスアカウントを選択します。

    3. [ 完了] を選択します

  4. [ターゲット リソース>リソース (以前のクラウド アプリ)>含める>リソースを選択する] で、[Windows Azure サービス管理 API] を選択し、[選択] をクリックします。
  5. [ 条件] で、 デバイスのフィルター処理を行います
    1. [構成][はい] に切り替えます。
    2. ルールに一致するデバイスをポリシーからフィルター処理されたデバイスを除外するように設定します。
    3. プロパティを ExtensionAttribute1、演算子を Equals、値を SAW に設定します。
    4. [ 完了] を選択します
  6. アクセス制御>を設定する場合、[アクセスをブロック]を選択し、[選択]をクリックします。
  7. 設定を確認し、[ ポリシーを有効にする][オン] に設定します。
  8. [ 作成] を選択して作成し、ポリシーを有効にします。

警告

準拠しているデバイスが要求されている場合には、デバイスの準拠が強制されていなくても、ポリシーの評価中に Mac、iOS、および Android のユーザーに対してポリシー評価中にデバイス証明書の選択が求められる場合があります。 これらのプロンプトの表示は、デバイスが準拠状態になるまで繰り返される場合があります。

属性値の設定

拡張属性の設定は、Microsoft Graph API を使って実現されています。 デバイス属性の設定の詳細については、デバイスの 更新に関する記事を参照してください。

デバイスのフィルタリング用 Graph API

デバイスのフィルター API は、Microsoft Graph v1.0 のエンドポイントで使用できます。また、エンドポイント https://graph.microsoft.com/v1.0/identity/conditionalaccess/policies/ を使用してアクセスできます。 新しい条件付きアクセス ポリシーを作成するときにデバイスのフィルターを構成するか、既存のポリシーを更新してデバイスのフィルター条件を構成できます。 既存のポリシーを更新するには、既存のポリシーのポリシー ID を追加し、次の要求本文を実行して、Microsoft Graph v 1.0 のエンドポイントでパッチ呼び出しを実行します。 次の例は、SAW デバイスとしてマークされていないデバイスを対象外とするデバイスのフィルター条件を構成する方法を示しています。 ルール構文は、複数の単一式で構成できます。 構文の詳細については、 Microsoft Entra ID のグループの動的メンバーシップ グループのルールを参照してください。

{
    "conditions": {
        "devices": {
            "deviceFilter": {
                "mode": "exclude",
                "rule": "device.extensionAttribute1 -ne \"SAW\""
            }
        }
    }
}

フィルターでサポートされている演算子とデバイスのプロパティ

次のデバイス属性は、条件付きアクセスのデバイスのフィルター条件で使用できます。

重要

条件付きアクセスで [デバイスのフィルター] 条件を使用する場合は、少なくとも 1 つのシステム定義または管理者が構成可能なデバイス プロパティを使用することをお勧めします。

Microsoft Entra ID では、デバイス認証を使用してデバイス フィルター規則を評価します。 Microsoft Entra ID に未登録のデバイスの場合、デバイスがディレクトリに存在しないため、すべてのデバイス プロパティは null 値と見なされ、デバイス属性を特定できません。 未登録デバイスのポリシーをターゲットにする最善の方法は、構成されたフィルター規則が適用されるため、負の演算子を使用することです。 正の演算子を使用する場合、フィルター ルールは、デバイスがディレクトリに存在し、構成されたルールがデバイスの属性と一致する場合にのみ適用されます。

サポートされているデバイス属性 システム定義または管理者の構成 サポートされている演算子 サポートされている値
デバイスID はい Equals、NotEquals、In、NotIn GUID である有効な deviceId (device.deviceid -eq "aaaaaa-0000-1111-2222-bbbbbbbbbb")
表示名 いいえ Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任意の文字列 (device.displayName -contains "ABC")
デバイスの所有権 はい Equals、NotEquals サポートされる値は、"Personal" (個人所有デバイスの持ち込みの場合) と "Company" (企業所有デバイスの場合) です (デバイス.デバイス所有権 -eq "会社")
登録プロファイル名 はい Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn これは、登録時にデバイスが登録されたプロファイルに基づいて Microsoft Intune によって設定されます。 これは Microsoft Intune 管理者によって作成された文字列値であり、デバイスに適用されている Windows Autopilot、Apple Automated Device Enrollment (ADE)、または Google 登録プロファイルと一致します。 (device.enrollmentProfileName -startsWith "オートパイロット プロファイル")
準拠している はい Equals、NotEquals サポートされる値は "True" (準拠デバイスの場合) と "False" (非準拠デバイスの場合) です。 (device.isCompliant -eq "真")
製造業者 いいえ Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任意の文字列 (device.manufacturer -startsWith "Microsoft")
mdmAppId はい Equals、NotEquals、In、NotIn 有効な MDM アプリケーション ID (device.mdmAppId -in ["00001111-aaaa-2222-bbbb-3333cccc4444"])
モデル いいえ Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 任意の文字列 (デバイスモデル -notContains "サーフェス")
オペレーティングシステム はい Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 有効なオペレーティング システム (Windows、iOS、Android など) (device.operatingSystem -eq "Windows")
オペレーティングシステムバージョン はい Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn 有効なオペレーティング システムのバージョン (Windows 7 の場合は 6.1、Windows 8 の場合は 6.2、Windows 10 の場合は 10.0、Windows 11 など) (device.operatingSystemVersion -in ["10.0.18363", "10.0.19041", "10.0.19042", "10.0.22000"])
物理識別子 はい Contains、NotContains たとえば、Windows オートパイロット デバイスにはすべて、デバイスの physicalIds プロパティに ZTDId (インポートされたすべての Windows オートパイロット デバイスに割り当てられた一意の値) が格納されています。 (デバイス.physicalIds -contains "[ZTDId]:値")
プロフィールの種類 はい Equals、NotEquals デバイスに設定されている有効なプロファイルの種類。 サポートされている値は、RegisteredDevice (既定値)、SecureVM (Microsoft Entra サインインで有効になっている Azure の Windows VM に使用)、プリンター (プリンターに使用)、共有 (共有デバイスに使用)、IoT (IoT デバイスに使用) (device.profileType -eq "プリンター")
システムラベル はい Contains、NotContains システムによってデバイスに適用されているラベルの一覧。 サポートされている値は、AzureResource (Microsoft Entra サインインで有効になっている Azure の Windows VM に使用)、M365Managed (Microsoft マネージド デスクトップを使用して管理されるデバイスに使用)、MultiUser (共有デバイスに使用) など (device.systemLabels - "M365Managed" を含む)
信頼タイプ はい Equals、NotEquals デバイスの有効な登録済み状態。 サポートされている値は、AzureAD (Microsoft Entra 参加デバイスに使用)、ServerAD (Microsoft Entra ハイブリッド参加済みデバイスに使用)、Workplace (Azure AD 登録済みデバイスに使用) (device.trustType -eq "サーバーAD")
拡張属性1-15 はい Equals、NotEquals、StartsWith、NotStartsWith、EndsWith、NotEndsWith、Contains、NotContains、In、NotIn extensionAttributes1-15 は、お客様がデバイス オブジェクトに使用できる属性です。 お客様は、extensionAttributes1 から 15 のいずれかをカスタム値で更新し、条件付きアクセスのデバイスのフィルター条件でそれらを使用できます。 任意の文字列値を使用できます。 (device.extensionAttribute1 -eq "SAW")

警告

条件付きアクセス ポリシーの評価時に extensionAttributes1-15 で値を使用できるようにするには、デバイスが Microsoft Intune マネージド、準拠、または Microsoft Entra ハイブリッド参加済みである必要があります。

複雑なルールを構築する場合、またはデバイス ID に deviceid などの個々の識別子を使用しすぎる場合は、「フィルター規則の最大長は 3072 文字です」に注意してください。

Contains および NotContains 演算子は、属性の型によって動作が異なります。 operatingSystemmodel などの文字列属性の場合、Contains 演算子は、指定した部分文字列が属性内に存在するかどうかを示します。 physicalIdssystemLabels などの文字列コレクション属性の場合、Contains 演算子は、指定した文字列がコレクション内のいずれかの文字列全体と一致するかどうかを示します。

デバイスのフィルターを使用したポリシーの動作

条件付きアクセスのデバイスのフィルター条件では、Microsoft Entra ID の登録済みデバイスのデバイス属性に基づいてポリシーが評価されるため、どのような状況でポリシーが適用されるのか、または適用されないのかを理解することが重要です。 次の表は、デバイスのフィルター条件が構成されている場合の動作を示しています。

デバイスのフィルター条件 デバイスの登録状態 デバイス フィルターの適用
正の演算子 (Equals、StartsWith、EndsWith、Contains、In) で mode の include または exclude を指定し、任意の属性を使用する 未登録のデバイス いいえ
正の演算子 (Equals、StartsWith、EndsWith、Contains、In) で mode の include または exclude を指定し、extensionAttributes1-15 を対象外とする属性を使用する 登録済みのデバイス はい (条件が満たされている場合)
正の演算子 (Equals、StartsWith、EndsWith、Contains、In) で mode の include または exclude を指定し、extensionAttributes1-15 を対象とする属性を使用する Intune で管理されている登録済みデバイス はい (条件が満たされている場合)
正の演算子 (Equals、StartsWith、EndsWith、Contains、In) で mode の include または exclude を指定し、extensionAttributes1-15 を対象とする属性を使用する Intune で管理されていない登録済みデバイス はい (条件が満たされている場合) extensionAttributes1-15 を使用する際は、デバイスが準拠しているか Microsoft Entra ハイブリッド参加済みの場合に、ポリシーが適用されます
対象/対象外モードで負の演算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) を指定し、任意の属性を使用する 未登録のデバイス はい
対象/対象外モードで負の演算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) を指定し、extensionAttributes1-15 を対象外とする任意の属性を使用する 登録済みのデバイス はい (条件が満たされている場合)
含む/除外モードにおいて、負の演算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) を使用し、extensionAttributes1-15 を含むすべての属性を利用します。 Intune で管理されている登録済みデバイス はい (条件が満たされている場合)
含む/除外モードにおいて、負の演算子 (NotEquals、NotStartsWith、NotEndsWith、NotContains、NotIn) を使用し、extensionAttributes1-15 を含むすべての属性を利用します。 Intune で管理されていない登録済みデバイス はい (条件が満たされている場合) extensionAttributes1-15 を使用する際は、デバイスが準拠しているか Microsoft Entra ハイブリッド参加済みの場合に、ポリシーが適用されます