カスタムメールドメインでログインするすべてのお客様向けに、Cloudflare はシングルサインオン(SSO)を提供しています。Cloudflare SSO コネクタを作成すると、任意の ID プロバイダー(IdP)で Cloudflare ダッシュボードへの SSO を強制できます。SSO は、そのメールドメインのすべてのユーザーに適用されます。
Cloudflare ダッシュボード SSO は、すべてのプランで無料で利用できます。
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| 提供状況 | はい | はい | はい | はい |
-
メールドメインを管理しており、所有確認のための TXT レコードを追加できる必要があります。
@gmail.comなどの公開メールプロバイダーは使えません。- そのメールドメインのユーザーは、すべて組織の従業員である必要があります。たとえば
@harvard.eduのような大学ドメインは、学生のメールも含まれるため使えません。
-
Super Administrator であり、Cloudflare API にアクセスできる必要があります。
-
いずれかのサブスクリプション(Free を含む)で Cloudflare Zero Trust 組織を作成しておく必要があります。Cloudflare Zero Trust 組織の作成は、Cloudflare Zero Trust 組織を作成する を参照してください。
詳細な手順 に従って、Cloudflare Zero Trust に IdP を追加します。
IdP を設定したら、IdP をテスト も実施してください。
- Cloudflare One で IdP を設定したら、Members ページを開き、SSO コネクタを管理します。
- 手順 1 が成功していれば、新しい SSO ドメインを追加するボタンが表示されます。ボタンを選択して、新しい SSO ドメインの追加を開始します。

- メールドメインを入力し、Create を選択して検証ステップへ進みます。
環境変数 CLOUDFLARE_API_TOKEN に、SSO Connector Edit 権限を持つユーザーまたはアカウントの API トークンを設定済みのコマンドラインターミナルで、次のコマンドを実行して SSO コネクタを作成します。{account_id} をアカウント ID に、{domain} をメールドメインに置き換えてください。
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{"email_domain":"{domain}"}'{
"success": true,
"errors": [],
"messages": [],
"result": {
"id": "c3ebcba5c20b42f73e111110d0be67d",
"enabled": false,
"email_domain": "cool.cats",
"verification": {
"code": "cloudflare_dashboard_sso=111111111",
"status": "pending"
},
"created_on": "2025-09-05T20:35:34Z"
}
}DNS レコードをすぐ変更できない場合は、あとで検証する選択肢もあります。検証プロセスは、リスト内のそのコネクタのアクションメニューから手動で開始できます。

検証コードをコピーし、その値で DNS 設定に TXT レコードを作成します。レコードには、cloudflare_dashboard_sso= プレフィックスを含むテキスト全体を入れる必要があります。
Cloudflare はこの DNS レコードを自動でポーリングし、見つかるか、2 日以内のタイムアウトに達するまで続けます。
タイムアウトで検証に失敗した場合は、リスト内のそのコネクタのアクションメニューで Begin verification を選択すると、ポーリングを手動で再開できます。
検証コード(例: cloudflare_dashboard_sso=1111111)をコピーし、その値で DNS 設定に TXT レコードを作成します。DNS レコードが正しく設定されたかを確認するには、dig コマンドでメールドメインを照会できます。
dig cool.cats TXT +short"cloudflare_dashboard_sso=111111111"TXT レコードには、cloudflare_dashboard_sso= プレフィックスと数値コードの両方を含める必要があります。
Cloudflare はこの DNS レコードを自動でポーリングし、見つかるか、2 日以内のタイムアウトに達するまで続けます。タイムアウトで検証に失敗した場合は、次のコマンドを実行してポーリングを手動で再開できます。
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors/{sso_connector_id}/begin_verification" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"検証が完了またはタイムアウトすると、検証結果のメール通知が届きます。
検証が完了し、ドメイン所有権の確認に成功したら、コネクタを有効にできます。
別アカウントですでに有効なコネクタに関連付けられているドメインは、元のアカウントで無効化するまで、新しいアカウントでは有効にできません。
リスト内のそのコネクタの Actions メニューで Enable を選択して、コネクタを有効にします。

次のコマンドを実行してコネクタを有効にします。{account_id} をアカウント ID に置き換え、さらに {sso_connector_id} を、直前の呼び出しのレスポンスの id フィールドで得た値に置き換えてください。
curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors/{sso_connector_id}" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{"enabled": true}'ドメインで SSO を有効にする前に、ID プロバイダーが正しく設定されていることを確認します。
- Cloudflare ダッシュボード ↗ で Zero Trust > Integrations > Identity providers を開きます。
- IdP を見つけ、Test を選択します。
- テストが認証成功を返すことを確認します。
テストが失敗した場合は、SSO コネクタを有効にする前に、ID プロバイダーのセットアップ手順 と照合して IdP 設定を見直してください。
IdP のセットアップまたはテスト中にエラーが発生した場合は、サポートへ問い合わせる 際に次の情報を提供してください。
- IdP テストが返したエラーメッセージ
- ダッシュボードから IdP テストを実行したときに取得した、サニタイズ済みの HAR ファイル
Cloudflare ダッシュボード SSO は、次の用途には対応していません。
example+2@domain.comのようなプラスアドレスのメールを使うユーザー。Cloudflare 組織にこのようなユーザーがいる場合、SSO ではログインできません。- SSO ドメインポリシーと一致しない、別のメールベースポリシーを Zero Trust SSO アプリケーションに追加すること。
- 複数の Zero Trust ドメインポリシー。別のドメインポリシーが必要な場合は、別の SSO コネクタを作成できます。新しいドメイン用の 2 つ目のポリシーが、SSO アプリケーションに作成されます。
- 自動生成された Zero Trust の
allow email domainポリシーの削除。このポリシーを削除すると、組織の管理者は Cloudflare ダッシュボードにアクセスできません。
Cloudflare ダッシュボード SSO は IdP 起点のログインに対応しています。設定は ID プロバイダー(IdP)側で行います。
Okta 向けの手順ガイドは現在利用できます。カスタム SSO エンドポイントに対応する他の ID プロバイダーでも、同様の設定が可能です。
Cloudflare Zero Trust と Okta を使って、ID プロバイダー(IdP)起点のシングルサインオン(SSO)セッションを設定します。
- Cloudflare ダッシュボード ↗ で Zero Trust > Access controls > Applications を開き、SSO App を選択します。
- Configure を選択して、アプリケーション設定を開きます。
- Basic Information セクションで、SSO Endpoint URL と Access Entity ID or Issuer をコピーします。IdP のセットアップでこれらの値が必要です。
- Okta Admin Dashboard ↗ にログインし、Applications > Applications を開きます。
- Create App Integration を選択し、IdP 起点の SSO フローを扱う新しい SAML 連携を開始します。これは、Zero Trust との IdP 連携 とは別に作成する、2 つ目の独立した Cloudflare-Okta 連携です。
- ポップアップで SAML 2.0 を選択し、Next を選択します。
- アプリの名前を入力し、Next を選択します。
- Single Sign-On URL フィールドに、先ほどコピーした SSO Endpoint URL を貼り付けます。
- Audience URI (SP Entity ID) フィールドに、先ほどコピーした Access Entity ID or Issuer を貼り付けます。
- Name ID Format を EmailAddress に設定します。
- Application Username を Email に設定します。
- Next > Finish を選択して、連携を保存します。
- Okta User Dashboard で新しいアプリタイルを見つけ、選択して SSO フローを確認し、連携をテストします。
(任意)単一 IdP ログインと即時認証を強制する
Cloudflare SSO に IdP を 1 つだけ(例: Okta)使い、ID プロバイダー選択のプロンプトをスキップしたい場合:
- Cloudflare ダッシュボード ↗ で Zero Trust > Access controls > Applications を開き、SSO App を選択します。
- Authentication を開きます。
- Accept all available identity providers を無効にし、ログイン方法として Okta だけが選択されていることを確認します。
- Apply instant authentication を有効にし、ユーザーが ID プロバイダー選択をスキップできるようにします。
SSO でログインできない場合に、Cloudflare ダッシュボードへのアクセスを復旧する方法です。
SSO の IdP プロバイダーに問題がある場合は、API で代替の IdP を追加できます。次の例では、ログイン方法として Cloudflare One-time PIN を追加します。
-
ワンタイム PIN ログインを 追加 します。
At least one of the following token permissions is required:Required API token permissions
Access: Organizations, Identity Providers, and Groups Write
Add an Access identity providerbash curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/identity_providers" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "type": "onetimepin", "config": {} }' -
dash_ssoAccess アプリケーションのidを 取得 します。jq↗ を使うと、対象のアプリケーションをすばやく見つけられます。cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps" \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ | jq '.result[] | select(.type == "dash_sso")'
{
"id": "3537a672-e4d8-4d89-aab9-26cb622918a1",
"uid": "3537a672-e4d8-4d89-aab9-26cb622918a1",
"type": "dash_sso",
"name": "SSO App"
// ...
}-
上で得た
idを使い、SSO App を 更新 して、すべての ID プロバイダーを受け入れるようにします。既存の設定を上書きしないよう、PUT リクエストのボディには、直前の GET リクエストが返したすべてのフィールドを含めてください。
At least one of the following token permissions is required:Required API token permissions
Access: Apps and Policies Write
Update an Access applicationbash curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps/3537a672-e4d8-4d89-aab9-26cb622918a1" \ --request PUT \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "id": "3537a672-e4d8-4d89-aab9-26cb622918a1", "uid": "3537a672-e4d8-4d89-aab9-26cb622918a1", "type": "dash_sso", "name": "SSO App", "allowed_idps": [] }'
これで、ユーザーはワンタイム PIN でログインできるようになります。
- Members ページを開きます。
-
Settings を開きます。
-
リスト内の SSO コネクタのアクションメニューを開き、Disable を選択します。
-
コネクタのドメインを入力し、確認を選択して無効化を完了します。
次の API 呼び出しで、アカウントの SSO 強制を無効化します。この操作は、SSO connectors edit ロールを持つ API トークン、または Super Administrator だけが実行できます。
-
SSO コネクタの
idを取得します。cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
{
"result": [
{
"id": "d616ac82cc7f87153112d75a711c5c3c",
"email_domain": "cool.cats",
"enabled": true
// ...
}
],
"success": true,
"errors": [],
"messages": []
}-
SSO コネクタを無効化します。
cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors/{connector_id}" \ --request PATCH \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "enabled": false }'
{
"result": [
{
"id": "d616ac82cc7f87153112d75a711c5c3c",
"email_domain": "cool.cats",
"enabled": false
// ...
}
],
"success": true,
"errors": [],
"messages": []
}これで、ユーザーは Cloudflare アカウントのメールとパスワードでログインできます。パスワードがない場合は、ログインページの パスワードを忘れた場合 を使って作成できます。
SSO コネクタが作成されているあいだは、チーム名 を変更できません。チーム名を変更するには、SSO コネクタを無効化して削除する必要があります。
-
アカウントのすべての SSO コネクタを取得します。
cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" -
前の手順で得た各コネクタの
idを使い、有効な SSO コネクタを無効化します。cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors/{connector_id}" \ --request PATCH \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "enabled": false }' -
前の手順で得た各コネクタの
idを使い、すべての SSO コネクタを削除します。cURL コマンドbash curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors/{connector_id}" \ --request DELETE \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
- Cloudflare ダッシュボード ↗ で Zero Trust > Reusable components > Custom pages を開きます。
- Team domain で Edit を選択し、新しいチーム名を入力します。Save を選択します。
- ID プロバイダーで、Cloudflare 連携を新しいチーム名に合わせて更新します。たとえば SAML IdP を使っている場合は、Single Sign-on URL と Entity ID を
https://<new-team-name>.cloudflareaccess.com/cdn-cgi/access/callbackに更新する必要があります。 - 削除した SSO コネクタを、SSO 用にドメインを Cloudflare に登録する の手順で再作成します。
- SSO コネクタを再作成したあと、検証と有効化の手順に従います。