Cloudflare Access
SaaS アプリケーションへアクセスすることを想定したときに、Cloudflare Access が間に入ることで IdP アグリゲータや IdP プロキシのような役割を果たします。
SaaS applications · Cloudflare Zero Trust docs
Cloudflare Access allows you to integrate your SaaS products by acting as an identity aggregator, or proxy. This way, users cannot login to SaaS applications without first meeting the criteria you want to introduce.
例えば、設定できるポリシーには以下のような項目があり、デバイスポスチャや国別で場所を指定するなどの条件を組み合わせて構成できます。
事前準備
事前に OTP もしくは IdP 連携により認証先の準備をします。
テスト用 SaaS アプリポリシー作成
SAML Test Service Provider を使います。
Test SAML, Configure SSO Using a Free-to-Use Application - JumpCloud
Access > Applications > Add an application から SaaS を選択して、ポリシー作成します。
次に Entity ID
と Assertion Consumer Service URL
にテスト用 SaaS アプリの設定を入れます。
Name ID
はどちらでも構いません。
sptest.iamshowcase.com/testsp_metadata.xml
testsp_metadata.xml<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" entityID="IAMShowcase" validUntil="2025-12-09T09:13:31.006Z"> <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat> <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</md:NameIDFormat> <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://sptest.iamshowcase.com/acs" index="0" isDefault="true"/> </md:SPSSODescriptor> </md:EntityDescriptor>
今回はポリシーを全員許可に設定します。
最後に SP initiated SSO ログインを設定するための情報が表示されますが、後で確認します。
IdP initiated SSO ログインテスト
Service Provider からみると Cloudflare Access が IdP のように振る舞います。
IdP initiated SSO and SP Initiated SSO with SAML | by Dinuwan Kalubowila | Medium
https://<org_name>.cloudflareaccess.com
から App Launcher を起動し、先ほど定義した「SAML Test Service Provider」にアクセスします。
その後、ログインに成功すると、各種情報を確認できるページが表示されます。
SP initiated SSO ログインテスト
Service Provider からみると Cloudflare Access が IdP のように振る舞います。
IdP initiated SSO and SP Initiated SSO with SAML | by Dinuwan Kalubowila | Medium
作成したアプリケーションポリシーから SSO endpoint
、Public key
、Entity ID
を参照して使います。
IdPメタデータ作成ツール https://www.samltool.com/idp_metadata.php に入力し、生成された XML をコピーします。
Single Logout Service Endpoint には
https://<org_name>.cloudflareaccess.com/cdn-cgi/access/logout
が使えます。
https://sptest.iamshowcase.com/instructions#spinit に Submit XML
し、ログインテストを開始します。
ユニークログオン URL が表示されるので、アクセスします。
その後、ログインに成功すると、各種情報を確認できるページが表示されます。
まとめ
Cloudflare Access を使って SaaS アプリケーションのポリシー制御を行うには、IdP Initiated と SP initiated の両方を意識した上で設定を確認する必要があります。
今回のテストを踏まえると、既存の SaaS アプリへのログインフローの Before & After について、具体的なイメージを持って構成できるでしょう。
他にも AuthNRequest を使って、特定ユーザに指定した認証方式の要求などを試すことができます。