Skip to content

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

ダッシュボード SSO を設定する

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

カスタムメールドメインでログインするすべてのお客様向けに、Cloudflare はシングルサインオン(SSO)を提供しています。Cloudflare SSO コネクタを作成すると、任意の ID プロバイダー(IdP)で Cloudflare ダッシュボードへの SSO を強制できます。SSO は、そのメールドメインのすべてのユーザーに適用されます。

提供状況

Cloudflare ダッシュボード SSO は、すべてのプランで無料で利用できます。

Free Pro Business Enterprise
提供状況 はい はい はい はい

前提条件

  1. メールドメインを管理しており、所有確認のための TXT レコードを追加できる必要があります。

    • @gmail.com などの公開メールプロバイダーは使えません。
    • そのメールドメインのユーザーは、すべて組織の従業員である必要があります。たとえば @harvard.edu のような大学ドメインは、学生のメールも含まれるため使えません。
  2. Super Administrator であり、Cloudflare API にアクセスできる必要があります。

  3. いずれかのサブスクリプション(Free を含む)で Cloudflare Zero Trust 組織を作成しておく必要があります。Cloudflare Zero Trust 組織の作成は、Cloudflare Zero Trust 組織を作成する を参照してください。

1. IdP を設定する

詳細な手順 に従って、Cloudflare Zero Trust に IdP を追加します。

IdP を設定したら、IdP をテスト も実施してください。

2. SSO 用にドメインを Cloudflare に登録する

  1. Cloudflare One で IdP を設定したら、Members ページを開き、SSO コネクタを管理します。
Members を開く ↗
  1. 手順 1 が成功していれば、新しい SSO ドメインを追加するボタンが表示されます。ボタンを選択して、新しい SSO ドメインの追加を開始します。
SSO コネクタ作成モーダルのスクリーンショット
  1. メールドメインを入力し、Create を選択して検証ステップへ進みます。

環境変数 CLOUDFLARE_API_TOKEN に、SSO Connector Edit 権限を持つユーザーまたはアカウントの API トークンを設定済みのコマンドラインターミナルで、次のコマンドを実行して SSO コネクタを作成します。{account_id} をアカウント ID に、{domain} をメールドメインに置き換えてください。

cURL コマンドbash
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"
	}
}

3. ドメインの所有権を確認する

DNS レコードをすぐ変更できない場合は、あとで検証する選択肢もあります。検証プロセスは、リスト内のそのコネクタのアクションメニューから手動で開始できます。

SSO コネクタ作成モーダルのスクリーンショット

検証コードをコピーし、その値で 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 コマンドbash
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"

検証が完了またはタイムアウトすると、検証結果のメール通知が届きます。

4. ダッシュボード SSO を有効にする

検証が完了し、ドメイン所有権の確認に成功したら、コネクタを有効にできます。

別アカウントですでに有効なコネクタに関連付けられているドメインは、元のアカウントで無効化するまで、新しいアカウントでは有効にできません。

リスト内のそのコネクタの Actions メニューで Enable を選択して、コネクタを有効にします。

SSO コネクタの有効化ボタンのスクリーンショット

次のコマンドを実行してコネクタを有効にします。{account_id} をアカウント ID に置き換え、さらに {sso_connector_id} を、直前の呼び出しのレスポンスの id フィールドで得た値に置き換えてください。

cURL コマンドbash
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}'

強制適用の前に IdP をテストする

ドメインで SSO を有効にする前に、ID プロバイダーが正しく設定されていることを確認します。

  1. Cloudflare ダッシュボードZero Trust > Integrations > Identity providers を開きます。
  2. IdP を見つけ、Test を選択します。
  3. テストが認証成功を返すことを確認します。

テストが失敗した場合は、SSO コネクタを有効にする前に、ID プロバイダーのセットアップ手順 と照合して IdP 設定を見直してください。

IdP エラーのトラブルシューティング

IdP のセットアップまたはテスト中にエラーが発生した場合は、サポートへ問い合わせる 際に次の情報を提供してください。

  1. IdP テストが返したエラーメッセージ
  2. ダッシュボードから 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 ダッシュボードにアクセスできません。

IdP 起点の SSO

Cloudflare ダッシュボード SSO は IdP 起点のログインに対応しています。設定は ID プロバイダー(IdP)側で行います。

Okta 向けの手順ガイドは現在利用できます。カスタム SSO エンドポイントに対応する他の ID プロバイダーでも、同様の設定が可能です。

Okta

Cloudflare Zero Trust と Okta を使って、ID プロバイダー(IdP)起点のシングルサインオン(SSO)セッションを設定します。

前提条件

  1. Cloudflare ダッシュボードZero Trust > Access controls > Applications を開き、SSO App を選択します。
  2. Configure を選択して、アプリケーション設定を開きます。
  3. Basic Information セクションで、SSO Endpoint URLAccess Entity ID or Issuer をコピーします。IdP のセットアップでこれらの値が必要です。

IdP として Okta を設定する

  1. Okta Admin Dashboard にログインし、Applications > Applications を開きます。
  2. Create App Integration を選択し、IdP 起点の SSO フローを扱う新しい SAML 連携を開始します。これは、Zero Trust との IdP 連携 とは別に作成する、2 つ目の独立した Cloudflare-Okta 連携です。
  3. ポップアップで SAML 2.0 を選択し、Next を選択します。
  4. アプリの名前を入力し、Next を選択します。
  5. Single Sign-On URL フィールドに、先ほどコピーした SSO Endpoint URL を貼り付けます。
  6. Audience URI (SP Entity ID) フィールドに、先ほどコピーした Access Entity ID or Issuer を貼り付けます。
  7. Name ID FormatEmailAddress に設定します。
  8. Application UsernameEmail に設定します。
  9. Next > Finish を選択して、連携を保存します。
  10. Okta User Dashboard で新しいアプリタイルを見つけ、選択して SSO フローを確認し、連携をテストします。

(任意)単一 IdP ログインと即時認証を強制する

Cloudflare SSO に IdP を 1 つだけ(例: Okta)使い、ID プロバイダー選択のプロンプトをスキップしたい場合:

  1. Cloudflare ダッシュボードZero Trust > Access controls > Applications を開き、SSO App を選択します。
  2. Authentication を開きます。
  3. Accept all available identity providers を無効にし、ログイン方法として Okta だけが選択されていることを確認します。
  4. Apply instant authentication を有効にし、ユーザーが ID プロバイダー選択をスキップできるようにします。

ダッシュボード SSO を回避する

SSO でログインできない場合に、Cloudflare ダッシュボードへのアクセスを復旧する方法です。

選択肢 1: 予備の IdP を追加する

SSO の IdP プロバイダーに問題がある場合は、API で代替の IdP を追加できます。次の例では、ログイン方法として Cloudflare One-time PIN を追加します。

  1. ワンタイム PIN ログインを 追加 します。

    Required API token permissions

    At least one of the following token permissions is required:
    • 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": {}
    	}'
  2. dash_sso Access アプリケーションの 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"
   	// ...
   }
  1. 上で得た id を使い、SSO App更新 して、すべての ID プロバイダーを受け入れるようにします。既存の設定を上書きしないよう、PUT リクエストのボディには、直前の GET リクエストが返したすべてのフィールドを含めてください。

    Required API token permissions

    At least one of the following token permissions is required:
    • 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 でログインできるようになります。

選択肢 2: ダッシュボード SSO を無効化する

  1. Members ページを開きます。
Members を開く ↗
  1. Settings を開きます。

  2. リスト内の SSO コネクタのアクションメニューを開き、Disable を選択します。

  3. コネクタのドメインを入力し、確認を選択して無効化を完了します。

次の API 呼び出しで、アカウントの SSO 強制を無効化します。この操作は、SSO connectors edit ロールを持つ API トークン、または Super Administrator だけが実行できます。

  1. 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": []
   }
  1. 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 アカウントのメールとパスワードでログインできます。パスワードがない場合は、ログインページの パスワードを忘れた場合 を使って作成できます。

Zero Trust のチーム名を変更する

SSO コネクタが作成されているあいだは、チーム名 を変更できません。チーム名を変更するには、SSO コネクタを無効化して削除する必要があります。

  1. Members ページを開きます。
Members を開く ↗
  1. Settings を開きます。
  2. すべての SSO コネクタを無効化します。
  3. すべての SSO コネクタを削除します。
  1. アカウントのすべての SSO コネクタを取得します。

    cURL コマンドbash
    curl "https://api.cloudflare.com/client/v4/accounts/{account_id}/sso_connectors" \
      --request GET \
      --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
  2. 前の手順で得た各コネクタの 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
      }'
  3. 前の手順で得た各コネクタの 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"
  1. Cloudflare ダッシュボードZero Trust > Reusable components > Custom pages を開きます。
  2. Team domainEdit を選択し、新しいチーム名を入力します。Save を選択します。
  3. ID プロバイダーで、Cloudflare 連携を新しいチーム名に合わせて更新します。たとえば SAML IdP を使っている場合は、Single Sign-on URL と Entity ID を https://<new-team-name>.cloudflareaccess.com/cdn-cgi/access/callback に更新する必要があります。
  4. 削除した SSO コネクタを、SSO 用にドメインを Cloudflare に登録する の手順で再作成します。
  5. SSO コネクタを再作成したあと、検証と有効化の手順に従います。

役に立ちましたか?