Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

リスクのある Entra ID ユーザーを隔離する

最終更新 Markdown で表示Agent セットアップ

Microsoft Entra ID(旧称 Azure Active Directory)は、アカウントが侵害された可能性に基づいてユーザーの リスクレベル を算出します。Cloudflare Zero Trust では、Entra ID のリスクユーザーリストを Cloudflare Access と同期し、リスクの高いユーザーにより厳しい Zero Trust ポリシーを適用できます。

このチュートリアルでは、Entra ID がリスクありと判断したユーザーを、自動的にリモートブラウザーへリダイレクトする方法を示します。

所要時間:

1 時間

前提条件

1. Entra ID を ID プロバイダーとして設定する

Entra ID については、IdP の設定手順 を参照してください。

2. Entra ID の API 権限を追加する

基本の IdP 連携をテストして動作を確認したら、スクリプトが Entra ID でリスクユーザーグループを作成・更新できるように、追加の権限を有効にします。

  1. Microsoft Entra ID で App registrations を開きます。

  2. IdP 連携用に作成したアプリケーションを選択します。

  3. API permissions を開き、Add a permission を選択します。

  4. Microsoft Graph を選択します。

  5. Application permissions を選択し、次の 権限 を追加します。

    • IdentityRiskyUser.ReadAll
    • Directory.ReadWriteAll
    • Group.Create
    • Group.ReadAll
    • GroupMember.ReadAll
    • GroupMember.ReadWriteAll
  6. Grant admin consent を選択します。

有効にした権限の一覧が表示されます。

Entra ID の API 権限

3. リスクユーザーを Entra ID グループに追加する

次に、リスクユーザーで Entra ID セキュリティグループを埋める自動スクリプトを設定します。

すぐに始めるには、次の手順でサンプルの Cloudflare Workers スクリプトをデプロイします。または、Azure Functions やほかのツールで同じスクリプトを実装することもできます。

  1. ターミナルを開き、サンプルプロジェクトをクローンします。

    npm create cloudflare@latest risky-users -- --template https://github.com/cloudflare/msft-risky-user-ad-sync
  2. プロジェクトディレクトリへ移動します。

    cd risky-users
  3. Wrangler 設定ファイル に、次の値を含めます。

    {
    	"$schema": "./node_modules/wrangler/config-schema.json",
    	"name": "risky-users",
    	// Set this to today's date
    	"compatibility_date": "2026-09-20",
    	"main": "src/index.js",
    	"workers_dev": false,
    	"account_id": "<ACCOUNT-ID>",
    	"vars": {
    		"AZURE_AD_TENANT_ID": "<TENANT-ID>",
    		"AZURE_AD_CLIENT_ID": "<CLIENT-ID>",
    	},
    	"triggers": {
    		"crons": ["* * * * *"],
    	},
    }
    "$schema" = "./node_modules/wrangler/config-schema.json"
    name = "risky-users"
    # Set this to today's date
    compatibility_date = "2026-09-20"
    main = "src/index.js"
    workers_dev = false
    account_id = "<ACCOUNT-ID>"
    
    [vars]
    AZURE_AD_TENANT_ID = "<TENANT-ID>"
    AZURE_AD_CLIENT_ID = "<CLIENT-ID>"
    
    [triggers]
    crons = [ "* * * * *" ]
  1. Worker を Cloudflare のグローバルネットワークにデプロイします。

    npx wrangler deploy
  2. AZURE_AD_CLIENT_SECRET というシークレット変数を作成します。

    wrangler secret put AZURE_AD_CLIENT_SECRET

    シークレットの値を入力するよう求められます。Microsoft Entra ID を ID プロバイダーとして設定した ときに取得した Client secret を入力します。

Worker スクリプトは毎分 1 回実行を始めます。リアルタイムログを見るには、次のコマンドを実行し、スクリプトの実行を待ちます。

wrangler tail --format pretty

初回実行のあと、自動生成されたグループが Entra ID ダッシュボードに表示されます。

Entra ID ダッシュボードのリスクユーザーグループ

4. リスクユーザーグループを同期する

次に、Entra ID のリスクユーザーグループを Cloudflare Access と同期します。

  1. SCIM 同期を有効にします

  2. Entra ID で、SCIM エンタープライズアプリケーションに次のグループを割り当てます。

    • IdentityProtection-RiskyUser-RiskLevel-high
    • IdentityProtection-RiskyUser-RiskLevel-medium
    • IdentityProtection-RiskyUser-RiskLevel-low

これで、Cloudflare Access はグループ所属の変更を Entra ID と同期します。同期状態は、SCIM アプリケーションの Provisioning ページで確認できます。

5. ブラウザー隔離ポリシーを作成する

最後に、リスクユーザーグループのトラフィックを隔離する Gateway HTTP ポリシー を作成します。

  1. Cloudflare One で、Traffic policies > Firewall policies > HTTP を開きます。

  2. Add a policy を選択します。

  3. User Group Names ルールを含む Isolate ポリシー を作成します。たとえば、次のポリシーは、高リスクと判定されたすべてのメンバーに対して、app1.example.comapp2.example.com をリモートブラウザーで提供します。

    Selector Operator Value Logic Action
    Domain in app1.example.com, app2.example.com And Isolate
    User Group Names in IdentityProtection-RiskyUser-RiskLevel-high

ポリシーをテストするには、Microsoft ドキュメントの リスク検出のシミュレーション を参照してください。

役に立ちましたか?