従来の VPN の多くには、一定時間ごとにエンドユーザーへログインを求めたり、一定の頻度で VPN プロファイルをリセットしたりするグローバルなタイムアウト設定があります。Zero Trust のセキュリティモデルでは、継続的に ID を評価するため、セッションタイムアウトが引き起こすユーザー作業の中断の大半は不要になります。ただし、定期的に再認証させたい場合や、機密性が高い、または規制対象の内部サービスへアクセスするときだけ再認証させたい場合など、再認証が妥当な理由は残ります。
Cloudflare One Client の再認証を強制するには、Gateway のネットワークポリシーで、アプリケーションごとに Cloudflare One Client のセッションタイムアウトを設定します。
ユーザーが保護されたアプリケーションまたは Web サイトにアクセスすると、Cloudflare はデバイスクライアントのセッション期間を、設定済みのセッションタイムアウトと照合します。セッションの期限が切れている場合、Cloudflare One Client への登録に使った ID プロバイダー(IdP)での再認証が求められます。

注: この画像のラベルは、以前の製品名を反映している場合があります。
デバイスクライアントのセッション期間は、再認証のきっかけに関係なく、ユーザーが IdP で再認証するたびにゼロにリセットされます。
Allow アクションを持つ Gateway の Network ポリシーおよび HTTP ポリシーに、デバイスクライアントのセッションタイムアウトを適用できます。セッションタイムアウトを指定しない場合、デバイスクライアントセッションの有効期間はデフォルトで無制限です。
セッションタイムアウトは Gateway の DNS ポリシーには影響しません。ユーザーの再認証が必要な状態でも、DNS ポリシーは有効なままです。
Gateway ポリシーにセッションタイムアウトを設定する手順は次のとおりです。
- Cloudflare ダッシュボード ↗ で Zero Trust > Traffic policies > Firewall policies を開きます。Network または HTTP を選びます。
- ポリシーを追加し、Allow アクションを選びます。既存の Allow ポリシーを選ぶこともできます。
- Step 4 - Configure policy settings で、Enforce Cloudflare One Client session duration の横にある Edit を選びます。
- セッションの有効期限を
1h30m0s形式で入力して保存します。 - ポリシーを保存します。
-
cloudflare_api_token↗ に次の権限を追加します。Zero Trust Write
-
Allow アクションを持つ Network(
l4)または HTTP(http)ポリシーを選びます。 -
ポリシーの
rule_settings↗ で、check_session引数を使い、セッションタイムアウトを有効にして設定します。resource "cloudflare_zero_trust_gateway_policy" "network_allow_wiki_IPs" { name = "Company Wiki Network policy" enabled = true account_id = var.cloudflare_account_id description = "Managed by Terraform - Allow employees to access company wiki IPs." precedence = 103 action = "allow" filters = ["l4"] traffic = "net.dst.ip in ${"$"}${cloudflare_zero_trust_list.wiki_IPs.id}" identity = "identity.email matches \".*@example.com\"" rule_settings = { check_session = { enforce = true duration = "1h30m0s" } } }
このポリシーで保護するアプリケーションに、セッションチェックが有効になります。ポリシーの定義外のアプリケーションには、ユーザーは引き続きアクセスできます。
従来の VPN のグローバルタイムアウトと同様に、全体の再認証イベントを設定する場合は、Gateway の Network Allow ポリシーすべてに、同じ基準の Cloudflare One Client セッション期間(通常は 3〜7 日)を設定することをおすすめします。これにより、ユーザーがプライベートネットワーク上のアプリケーションにアクセスしようとしたとき、指定した日数ログインしていなければ、ID プロバイダーでの再認証が求められます。
特定のアプリケーションでより短い再認証間隔が必要な場合、そのアプリケーションにアクセスするユーザーは、すでに基準ポリシーを満たしているため、基準の再認証イベントを完了する必要はありません。
Cloudflare One Client のグローバルなセッション期間を設定するとき、プライベートネットワークの範囲全体を 1 つのポリシーでカバーしてしまう誤りがよくあります。例として、宛先 IP が 10.0.0.0/8 のトラフィックに対し、すべてのユーザーに 7 日ごとの再認証を求める Allow ポリシーがあります。この種のグローバルポリシーでは、期限切れのセッションが特定のアプリケーションではなく内部ネットワーク全体(プライベート DNS を含む)を遮断するため、ユーザー体験が悪化することがあります。一度きりの再認証通知を見逃すと、Cloudflare One Client の設定から手動で再認証する必要があることに気づかない場合があります。