JumpCloud ↗ は SSO のアイデンティティ管理を提供します。Cloudflare Access は、JumpCloud を SAML アイデンティティプロバイダーとして連携できます。
次の手順は、JumpCloud を Cloudflare Access とセットアップする場合に特化した内容です。JumpCloud の SSO アプリケーション設定の詳細は、JumpCloud のドキュメント ↗ を参照してください。
-
JumpCloud Admin Portal ↗ で SSO Applications を開きます。
-
Add New Application を選びます。
-
検索バーに
Cloudflareと入力し、Cloudflare Access アプリケーションを選びます。 -
Next を選びます。
-
Display Label にアプリケーション名を入力します。
-
Save Application を選びます。
-
アプリケーションの概要を確認し、Configure Application を選びます。
-
SSO タブで、次の設定を行います。
-
IdP Entity ID に、Cloudflare のチームドメインを入力します。
https://<your-team-name>.cloudflareaccess.com/チーム名は、Cloudflare ダッシュボード ↗ の Settings > Team name and domain > Team name で確認できます。
-
SP Entity ID と ACS URL の両方に、次のコールバック URL を設定します。
https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback -
(任意)Cloudflare Access に送信する SAML 属性を設定します。
-
JumpCloud Metadata までスクロールし、Export Metadata を選びます。この XML ファイルは、後の手順 で使います。
-
-
User Groups タブで、このアプリケーションに ユーザーグループを割り当てます ↗。
-
Save を選びます。
-
Cloudflare ダッシュボード ↗ で Zero Trust > Integrations > Identity providers を開きます。
-
Your identity providers で Add new identity provider を選びます。
-
SAML を選びます。
-
JumpCloud の XML メタデータファイルをアップロードします。
-
(任意)SCIM を有効にする場合は、ユーザーとグループを同期する を参照してください。
-
(任意)Optional configurations で、追加の SAML オプション を設定します。
-
Save を選びます。
これで 接続をテスト し、設定したログイン方法と SAML 属性をもとに Access ポリシー を作成できます。
JumpCloud 連携では、SCIM を使ってユーザーグループを同期し、ユーザーを自動でプロビジョニング解除できます。
SCIM が Access と Gateway のポリシー評価に与える影響は異なります。
Access は、認証時にアイデンティティプロバイダーが返す SAML アサーションまたは OIDC トークンから、ユーザーの ID とグループ所属を評価します。SCIM は Access のポリシービルダーに読みやすいグループ名を提供しますが、Access はログイン評価に SCIM のグループ所属を使いません。Enable user deprovisioning をオンにすると、SCIM アプリケーションからユーザーを削除した時点で、そのユーザーのアクティブな Access セッションが取り消されます。グループ所属の変更後にセッションを取り消すよう、SCIM を設定することもできます。Access は、ユーザーが再度認証したときに、更新後のアイデンティティプロバイダーデータを評価します。
Gateway は、User Registry の ID に対してアイデンティティベースのポリシーを評価します。ユーザーまたはグループ所属が変わると、SCIM はこの ID を更新します。ユーザーの再認証を待つ必要はありません。Cloudflare One Client のデバイスプロファイルも、同じ同期済み ID を使います。
-
Cloudflare ダッシュボード ↗ で Zero Trust > Integrations > Identity providers を開きます。
-
JumpCloud 連携を探し、Edit を選択します。
-
Enable SCIM をオンにします。
-
(任意)次の設定を行います。
- Enable user deprovisioning: JumpCloud の SCIM アプリケーションからユーザーが削除されたときに、ユーザーのアクティブセッションを取り消します。アクティブな Access セッションはすべて無効になり、Cloudflare One Client のセッションポリシー では再認証が求められます。
- Remove user seat on deprovision: JumpCloud の SCIM アプリケーションからユーザーが削除されたときに、Cloudflare One アカウントから ユーザーのシートを削除します。
- SCIM identity update behavior: JumpCloud でユーザーの ID が更新されたときの、Cloudflare One 側の動作を選びます。
- Automatic identity updates: JumpCloud が SCIM 経由で更新された ID またはグループ所属を送ると、User Registry の ID を自動更新します。この ID は Gateway ポリシーと Cloudflare One Client の デバイスプロファイル に使われます。Access は再認証時に更新後の ID を読み取ります。
- Group membership change reauthentication: JumpCloud でグループ所属が変わったときに、ユーザーのアクティブセッションを取り消します。アクティブな Access セッションはすべて無効になり、Cloudflare One Client のセッションポリシー では再認証が求められます。Access は再認証時に更新後のグループ所属を読み取ります。
- No action: 次回、Access または Cloudflare One Client に再認証したときにユーザーの ID を更新します。
-
Regenerate Secret を選択します。SCIM Endpoint と SCIM Secret をコピーします。これらの値を JumpCloud に入力します。
-
Save を選択します。
SCIM シークレットに有効期限はありません。ただし、いつでも手動で再生成できます。
- JumpCloud Admin Portal ↗ で SSO Applications を開きます。
- JumpCloud を SAML プロバイダーとしてセットアップする ときに作成した Cloudflare アプリケーションを選びます。
- SSO タブを選びます。
- ユーザーグループをプロビジョニングするには、Include group attribute を選び、
groupsと入力します。グループ属性名はgroupsと完全一致している必要があります。一致しない場合、SAML 属性として送信されます。 - Identity Management タブを選びます。
- Enable management of User Groups and Group Membership in this application がオンになっていることを確認します。
- Configure を選びます。
- Base URL に、Cloudflare One で取得した SCIM Endpoint を入力します。
- Token Key に、Cloudflare One で取得した SCIM Secret を入力します。
- Activate を選びます。Identity Management 連携が正常に検証されたことを示す確認が表示されます。
- Save を選びます。
Cloudflare One でユーザー ID が更新されたかを確認するには、SCIM プロビジョニングログ を表示します。
プロビジョニング属性は、JumpCloud が Cloudflare Access と同期するユーザーおよびグループのプロパティを定義します。デフォルトでは、JumpCloud は SCIM の更新イベント時に次の属性を送信します。
| JumpCloud のユーザー属性 | Cloudflare Access の属性 |
|---|---|
email |
email |
firstname |
givenName |
lastname |
surname |
| JumpCloud のグループ属性 | Cloudflare Access の属性 |
|---|---|
name |
groups |
{
"config": {
"issuer_url": "jumpcloud",
"sso_target_url": "https://sso.myexample.jumpcloud.com/saml2/cloudflareaccess",
"attributes": ["email", "name", "username"],
"email_attribute_name": "",
"sign_request": false,
"idp_public_cert": "MIIDpDCCAoygAwIBAgIGAV2ka+55MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG\nA1UEC.....GF/Q2/MHadws97cZg\nuTnQyuOqPuHbnN83d/2l1NSYKCbHt24o"
},
"type": "saml",
"name": "jumpcloud saml example"
}