Gateway は Cloudflare Tenant API に対応しており、Cloudflare と提携するマネージドサービスプロバイダー(MSP)が、顧客向けに Cloudflare アカウントとサービスをセットアップして管理できます。Tenant API を使うと、MSP はグローバルな Gateway ポリシー制御付きの Zero Trust 導入を作成できます。ポリシーは、グループ単位または個々のアカウント単位でカスタマイズしたり上書きしたりできます。
詳細は、マネージドサービスプロバイダー向け Cloudflare Zero Trust ↗ のブログ記事を参照してください。
Tenant API を設定するには、始める を参照してください。顧客の Cloudflare アカウントをプロビジョニングして設定したあと、DNS ポリシー を作成できます。
Gateway の Tenant プラットフォームは、階層型(tiered)とサイロ型(siloed)のアカウント構成に対応します。
階層型アカウント構成では、最上位の親アカウントが、すべての子アカウントに適用されるグローバルなセキュリティポリシーを強制します。子アカウントは、親アカウントの管理下にありながら、必要に応じてポリシーを上書きまたは追加できます。MSP は、次の Gateway 機能について、親アカウントから独立して子アカウントを設定することもできます。
- カスタムブロックページ: 子アカウント用に別のブロック設定を構成しない限り、子アカウントは親アカウントのブロックページ設定を使います。リダイレクトとカスタムブロックページの両方に適用されます。ブロックページは、各子アカウントのアカウント証明書を使います。
- ルート証明書: Gateway が届いた DNS クエリを子アカウントに紐づけられない場合、親アカウントの証明書を使います。これは、DNS クエリの送信元 IP アドレスが子アカウントに一致しない場合や、カスタム DNS リゾルバーエンドポイントが設定されていない場合に発生します。
- DNS ロケーション
- リスト
各子アカウントには、既定の Zero Trust アカウント制限 が適用されます。
Gateway は、子アカウントのポリシーより先に親アカウントのポリシーを評価します。子アカウントが特定の親アカウントポリシーを上書きできるようにするには、Update a Zero Trust Gateway rule エンドポイントを使い、そのポリシーの allow_child_bypass ルール設定を true にします。
flowchart TD
%% Accessibility
accTitle: 階層型アカウント構成での Gateway ポリシーの動き
accDescr: 階層型アカウント構成で Gateway がポリシーを適用する優先順位を示すフローチャートです。
%% Flowchart
subgraph s1["親アカウント"]
n1["マルウェアをブロック"]
n2["DNS トンネルをブロック"]
n3["スパイウェアをブロック"]
end
subgraph s2["子アカウント A"]
n4["ソーシャルメディアをブロック"]
end
subgraph s3["子アカウント B"]
n5["インスタントメッセージをブロック"]
end
n1 ~~~ n2
n2 ~~~ n3
A["Tenant"] --管理する--> s1
s1 -- "ポリシーを適用する" --> s2 & s3
n1@{ shape: lean-l}
n2@{ shape: lean-l}
n3@{ shape: lean-l}
n4@{ shape: lean-l}
n5@{ shape: lean-l}
サイロ型アカウント構成では、同じテナント内で各アカウントが独立して動作します。MSP は、各アカウントのセキュリティポリシー、リソース、構成を個別に管理します。
flowchart TD
%% Accessibility
accTitle: サイロ型アカウント構成での Gateway ポリシーの動き
accDescr: サイロ型アカウント構成で Gateway がポリシーを適用する優先順位を示すフローチャートです。
%% Flowchart
subgraph s1["サイロ型アカウント A"]
n1["ソーシャルメディアをブロック"]
end
subgraph s2["サイロ型アカウント C"]
n2["インスタントメッセージをブロック"]
end
subgraph s3["サイロ型アカウント B"]
n3["ニュースをブロック"]
end
A["Tenant"] -- 管理する --> s1 & s3 & s2
n1@{ shape: lean-l}
n2@{ shape: lean-l}
n3@{ shape: lean-l}