Skip to content

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

統合 SSO を使うアプリケーション

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

近年、多くの組織が信頼できるアイデンティティ(source of truth)の重要性を認識し、SSO プロバイダーを社内アプリケーションと直接連携しています。SSO プロバイダーは、設定した ACS URL を通じて、アプリケーションが存在する内部ドメインだけを把握します。そのため、ユーザーはアプリケーションにアクセスするにはローカルネットワークに接続している必要があります。このセキュリティ構成は、従来のネットワーク境界では理にかなっていますが、Zero Trust の導入では課題になります。クライアントレスアクセスモデルでは、ユーザーのデバイスは社内ネットワークという概念を持ちません。アクセスできる、範囲が限定されたアプリケーションだけを認識します。この問題を次の図にまとめます。

flowchart LR
accTitle: 統合 SSO を使う認可フロー
A("ユーザーが
app.public.com にアクセス")-->B("Cloudflare Tunnel が
公開ホスト名(app.public.com)を
内部ドメイン(app.internal.com)へルーティング")-->C("app.internal.com が
統合 SSO へリダイレクト")-->D("SSO の ACS URL が
app.internal.com を返す")-->E("404 エラー
デバイスは app.internal.com を
解決できない")

取りうる対応

アプリケーションが統合 SSO を使っている場合、Cloudflare Access へのオンボードにはいくつかの方法があります。

対応 必要な手順 メリット デメリット
Cloudflare ドメインだけでアプリケーションを公開する SSO の ACS URL を Cloudflare Tunnel の公開ホスト名に変更する
  • セキュリティ態勢が向上する
  • アプリケーションコードの変更不要
  • 内部 DNS 設計の変更不要
  • ACS URL を内部ドメインから外部ドメインへ切り替えるとき、一斉切り替えが発生する
    既存の内部ドメインと同じ外部ドメインを Cloudflare に委任し、内部ドメインでアプリケーションを公開する 内部ドメインと一致するドメインを Cloudflare に追加する
  • SSO の ACS URL を変更しない
  • エンドユーザーの操作は変わらない
  • 内部ドメインと外部ドメインの慎重な管理が必要
  • 内部 DNS 設計の変更が必要
  • 社内アプリケーションで Cloudflare JWT を利用する
  • 統合 SSO を削除する
  • ユーザー認可に Cloudflare JWT を受け入れるようアプリケーションを更新する
  • エンドユーザーの認証負担が減る
  • 内部 DNS 設計の変更不要
  • 直接の SSO 連携なしでアプリケーションをすぐ保護できる
  • アプリケーションコードの変更が必要
  • アプリケーション更新時に一斉切り替えが発生する
  • Cloudflare を直接の SSO 連携先にし、そこから任意の IdP(Okta、OneLogin など)を呼び出す 既存の SSO プロバイダーを Access for SaaS に置き換える
  • IdP の切り替えが柔軟になる
  • 複数の IdP を同時に使える
  • IdP 変更時に一斉切り替えが発生する
  • アプリケーション向けの SCIM プロビジョニングがない
  • 推奨する対応

    SSO プロバイダーを設定できる場合は、社内の Web サービスをすべて Cloudflare ドメイン上だけで公開することを推奨します。これは Cloudflare が社内の Web アプリケーションアクセスに採用しているモデルであり、この状況のお客様が最もよく選ぶ解決方法です。

    この方法では、既存の DNS インフラを変更する必要はありません。ネットワーク内の Cloudflare Tunnel が、外部(Cloudflare 公開)DNS から内部 DNS への変換を担います。システムはこの動きを前提に設計されています。SSO プロバイダーの ACS URL を Cloudflare の公開ホスト名に更新すると、結果は次のようになります。

    flowchart LR
    accTitle: SSO の ACS URL を更新した認可フロー
    A("ユーザーが
    app.public.com にアクセス")-->B("Cloudflare Tunnel が
    公開ホスト名(app.public.com)を
    内部ドメイン(app.internal.com)へルーティング")-->C("app.internal.com が
    統合 SSO へリダイレクト")-->D("SSO の ACS URL が
    app.public.com を返す")-->E("ブラウザーが app.public.com を表示")
    

    オフィス内かリモートか、VPN クライアントを使うかどうかにかかわらず、すべてのユーザーはプライベートアプリケーションへアクセスするとき、常に app.public.com の Cloudflare Access 認証フローを経由します。ポリシー適用とセキュリティ監査の管理面が 1 つになり、追加のユーザー研修も不要です。

    役に立ちましたか?