条件付きアクセス: アプリケーションのフィルター
現在、条件付きアクセス ポリシーは、すべてのアプリまたは個々のアプリに適用できます。 アプリの数が多い組織では、このプロセスを複数の条件付きアクセス ポリシーにわたって管理するのが困難な場合があります。
条件付きアクセスのアプリケーション フィルターを使用すると、組織はカスタム属性でサービス プリンシパルにタグを付けることができます。 その後、これらのカスタム属性は条件付きアクセス ポリシーに追加されます。 アプリケーションのフィルターはトークン発行実行時に評価されます。よくある質問は、アプリの割り当てが行われるのは実行時か構成時かということです。
このドキュメントでは、カスタム属性セットを作成し、カスタム セキュリティ属性をアプリケーションに割り当て、アプリケーションをセキュリティで保護するための条件付きアクセス ポリシーを作成します。
ロールを割り当てる
カスタム セキュリティ属性はセキュリティ上重要であるため、委任されたユーザーのみが管理できます。 これらの属性を管理または報告するユーザーには、次の 1 つ以上のロールが割り当てられている必要があります。
ロール名 | 説明 |
---|---|
属性割り当て管理者 | サポートされている Microsoft Entra オブジェクトにカスタム セキュリティ属性のキーと値を割り当てます。 |
属性割り当て閲覧者 | サポートされている Microsoft Entra オブジェクトのカスタム セキュリティ属性のキーと値を読み取ります。 |
属性定義管理者 | カスタム セキュリティ属性を定義して管理します。 |
属性定義閲覧者 | カスタム セキュリティ属性の定義を読み取ります。 |
ディレクトリ スコープでこれらの属性を管理またはレポートするユーザーに適切なロールを割り当てます。 詳細な手順については、「Azure ロールの割り当て」を参照してください。
重要
既定では、グローバル管理者とその他の管理者ロールには、カスタム セキュリティ属性の読み取り、定義、割り当てを行う権限がありません。
カスタム セキュリティ属性を作成する
「Microsoft Entra ID でカスタム セキュリティ属性を追加または非アクティブ化する」の記事の手順に従って、次の属性セットと新しい属性を追加します。
- ConditionalAccessTest という名前の属性セットを作成します。
- 複数の値の割り当てを許可し、定義済みの値の割り当てのみを許可する、policyRequirement という名前の新しい属性を作成します。 次の定義済みの値を追加します。
- legacyAuthAllowed
- blockGuestUsers
- requireMFA
- requireCompliantDevice
- requireHybridJoinedDevice
- requireCompliantApp
Note
アプリケーションの条件付きアクセス フィルターは、"string" 型のカスタム セキュリティ属性でのみ機能します。 カスタム セキュリティ属性ではブール値のデータ型の作成がサポートされていますが、条件付きアクセス ポリシーでは "string" のみがサポートされます。
条件付きアクセス ポリシーを作成する
- 少なくとも条件付きアクセス管理者と属性定義閲覧者として、Microsoft Entra 管理センターにサインインします。
- 保護>条件付きアクセス を参照します。
- [新しいポリシー] を選択します。
- ポリシーに名前を付けます。 ポリシーの名前に対する意味のある標準を組織で作成することをお勧めします。
- [割り当て] で、 [ユーザーまたはワークロード ID] を選択します。
- [Include](含める) で、 [すべてのユーザー] を選択します。
- [除外] で、 [ユーザーとグループ] を選択し、組織の緊急アクセス用または非常用アカウントを選択します。
- [Done] を選択します。
- [ターゲット リソース] で、次のオプションを選びます:
- このポリシーの適用対象として [クラウド アプリ] を選択します。
- [リソースの選択] を含めます。
- [フィルターの編集] を選択します。
- [構成] を [はい] に設定します。
- 前に作成した policyRequirement という名前の属性を選択します。
- [演算子] を [Contains] に設定します。
- [値] を [requireMFA] に設定します。
- [Done] を選択します。
- [アクセス制御]>[許可] で、[アクセス権の付与]、[多要素認証を要求する] の順に選択し、[選択する] を選択します。
- 設定を確認し、 [ポリシーの有効化] を [レポート専用] に設定します。
- [作成] を選択して、ポリシーを作成および有効化します。
管理者は、レポート専用モードを使用して設定を確認したら、[ポリシーの有効化] トグルを [レポートのみ] から [オン] に移動できます。
カスタム属性を構成する
手順 1: サンプル アプリケーションを設定する
サービス プリンシパルを利用するテスト アプリケーションが既にある場合は、この手順を省略できます。
サンプル アプリケーションを設定します。これにより、ユーザーの ID ではなく、アプリケーション ID を使用してジョブまたは Windows サービスを実行する方法を示します。 このアプリケーションを作成するには、記事「クイックスタート: コンソール アプリの ID を使用してトークンを取得し、Microsoft Graph API を呼び出す」に記載されている手順に従ってください。
手順 2: カスタム セキュリティ属性をアプリケーションに割り当てる
テナントにサービス プリンシパルが一覧表示されていない場合は、対象にできません。 Office 365 スイートは、そのようなサービス プリンシパルの 1 つの例です。
- Microsoft Entra 管理センターに、少なくとも条件付きアクセス管理者~/identity/role-based-access-control/permissions-reference.md#conditional-access-administrator) および属性割り当て管理者としてサインインします。
- [ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します。
- カスタム セキュリティ属性を適用するサービス プリンシパルを選択します。
- [管理]>[カスタム セキュリティ属性] で、[割り当ての追加] を選択します。
- [属性セット] で、[ConditionalAccessTest] を選択します。
- [属性名] で、[policyRequirement] を選択します。
- [割り当てられた値] で、[値の追加] を選択し、一覧から [requireMFA] を選択し、[完了] を選択します。
- [保存] を選択します。
手順 3: ポリシーをテストする
ポリシーが適用されるユーザーとしてサインインし、アプリケーションにアクセスするときに MFA が必要であることを確認するテストを行います。
その他のシナリオ
- レガシ認証をブロックする
- アプリケーションへの外部アクセスをブロックする
- 準拠しているデバイスまたは Intune アプリ保護ポリシーを要求する
- 特定のアプリケーションに対してサインイン頻度制御を適用する
- 特定のアプリケーションに対して特権アクセス ワークステーションを要求する
- リスクの高いユーザーと特定のアプリケーションに対してセッション制御を要求する