You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By adding a Cloudflare Dashboard SSO application to your Cloudflare Zero Trust account, you can enforce single sign-on (SSO) to the Cloudflare dashboard with the identity provider (IdP) of your choice. SSO will be enforced for every user in your email domain.
12
+
Cloudflare offers single sign-on (SSO) for all customers who log in with a custom email domain. By creating a Cloudflare SSO connector, you can enforce SSO to the Cloudflare dashboard with the identity provider (IdP) of your choice. SSO will be enforced for every user in your email domain.
13
13
14
14
## Availability
15
15
16
+
Cloudflare Dashboard SSO is available for free to all plans.
17
+
16
18
<FeatureTableid="account.single_sign_on" />
17
19
18
20
## Prerequisites
19
21
20
-
All users in your email domain must exist as a member in your Cloudflare account and IdP. To add users to your Cloudflare account, refer to [Manage Cloudflare account access](/fundamentals/manage-members/).
22
+
1. You must control your email domain and be able to add a TXT record to verify this.
23
+
- Public email providers such as `@gmail.com` are not allowed.
24
+
- Every user with that email domain must be an employee in your organization. For example, university domains such as `@harvard.edu` are not allowed because they include student emails.
25
+
26
+
2. You must be a super administrator and be able to access the Cloudflare API.
27
+
28
+
3. A Cloudflare Zero Trust organization with any subscription tier (including Free) must be created. To set up a Cloudflare Zero Trust organization, refer to [Create a Cloudflare Zero Trust organization](/cloudflare-one/setup/#create-a-zero-trust-organization).
21
29
22
30
## 1. Set up an IdP
23
31
24
32
Add an IdP to Cloudflare Zero Trust by following [our detailed instructions](/cloudflare-one/identity/idp-integration/).
25
33
26
34
Once you configure your IdP, make sure you also [test your IdP](/cloudflare-one/identity/idp-integration/#test-idps-in-zero-trust).
27
35
28
-
## 2. Contact your account team
36
+
## 2. Register your domain with Cloudflare for SSO
37
+
38
+
:::caution
39
+
Cloudflare recommends creating an [Account API token](/fundamentals/api/get-started/create-token/) with the role `SSO Connector Edit` and storing it securely. This acts as a backup plan, allowing you to disable SSO via the API if you are accidentally locked out, such as due to changes in your IdP configuration later.
40
+
:::
29
41
30
-
Ask your account team to approve and create your SSO domain. An SSO domain is the email domain associated with the members in your Cloudflare account. For example, if your SSO domain is configured for emails ending in `@yourcompany.com`, a member with email `@test.com` would not see the **Log in with SSO** option and would have to enter their username and password.
42
+
Using a command line terminal where you have already set the environment variable `CLOUDFLARE_API_TOKEN` to a user or account API token which has the `SSO Connector Edit` permission, run the following command to create an SSO connector. Replace `{account_id}` with your account ID, and `{domain}`with your email domain.
31
43
32
-
Once your SSO domain is approved, a new **SSO App** application will appear under **Access** > **Applications**. The application is pre-configured with `allow email domain` as the default rule and your IdP as the authentication providers.
- The email domain must belong to your organization. Public email providers such as `@gmail.com` are not allowed.
37
-
- Every user with that email domain must be an employee in your organization. For example, university domains such as `@harvard.edu` are not allowed because they include student emails.
38
-
- Your SSO domain can include multiple email domains.
69
+
## 3. Verify domain ownership
39
70
40
-
:::caution
71
+
Copy the verification code (for example `cloudflare_dashboard_sso=1111111`) and create a TXT record in your DNS configuration with that value. Cloudflare will automatically poll that DNS record until it is found or a timeout is reached within two days.
41
72
42
-
Enabling Cloudflare Dashboard SSO for an email domain (for example, `@mycompany.com`) will apply globally across all Cloudflare accounts where users log in with that domain. All users will be required to authenticate via the specified identity provider (IdP), including users on pre-existing Cloudflare accounts.
73
+
If verification fails due to timeout, you may manually reinitiate the polling by running the following command:
Once the verification polling has completed or timed out, you will receive an email notification with the verification result.
47
82
48
-
:::note
83
+
## 4. Enable dashboard SSO
49
84
50
-
Cloudflare recommends carefully storing your [Global API key](/fundamentals/api/get-started/keys/) to access when necessary. You will need your Global API key when you [disable SSO](#option-2-disable-dashboard-sso).
85
+
:::caution
86
+
Enabling Cloudflare Dashboard SSO for an email domain (for example, `@mycompany.com`) will apply globally to all users with that domain, regardless of which accounts those users have access to. All users will be required to authenticate via the specified identity provider, including users registered on Cloudflare prior to the domain being configured for SSO.
51
87
:::
52
88
53
-
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **Settings** > **Authentication**.
54
-
2. In the **Cloudflare dashboard SSO** card, set your email domain to **Enabled**. This action can only be performed by Super Administrators.
55
-
3. Do not log out or close your browser window. Instead, open a different browser or an incognito window.
56
-
4. In the [Cloudflare dashboard](https://dash.cloudflare.com), log in with your email address from your SSO domain.
57
-
5. If you can log in successfully, you have successfully set up your dashboard SSO application.
58
-
6. If you cannot log in successfully:
89
+
Enable the connector by running the following — again, replacing the `{account_id}` value with your account ID, and additionally replacing the `{sso_connector_id}` with the value you obtained from the `id` field in the response to the previous call.
59
90
60
-
1. Return to Zero Trust and go to **Settings** > **Authentication**.
61
-
2. For **Cloudflare dashboard SSO**, set your email domain to **Disabled**.
62
-
3.[Re-configure your IdP](/cloudflare-one/identity/idp-integration/).
- Users with plus-addressed emails, such as `[email protected]`. If you have users like this added to your Cloudflare organization, they will be unable to login with SSO.
69
-
- Adding a separate email-based policy to the SSO application that does not match your SSO domain policy. As your account team must [approve and create your SSO domain](/cloudflare-one/applications/configure-apps/dash-sso-apps/#2-contact-your-account-team) based on the [SSO domain requirements](/cloudflare-one/applications/configure-apps/dash-sso-apps/#sso-domain-requirements), adding a new domain policy on your own will not work.
70
-
- Deleting the auto-generated `allow email domain` policy. If this policy was deleted, your organization's administrators would not be able to access the Cloudflare dashboard.
103
+
- Adding a separate email-based policy to the SSO application that does not match your SSO domain policy.
104
+
- Multiple domain policies. If another domain policy is required, you can create another SSO connector. This will create a second policy for that new domain in your SSO application.
105
+
- Deleting the auto-generated `allow email domain` policy. If this policy is deleted, your organization's administrators cannot access the Cloudflare dashboard.
71
106
72
107
## IdP-initiated SSO
73
108
@@ -88,7 +123,7 @@ Configure an identity provider (IdP)-initiated single sign-on (SSO) session usin
88
123
#### Configure Okta as the IdP
89
124
90
125
1. Log in to your [Okta Admin Dashboard](https://login.okta.com/) and go to **Applications** > **Applications**.
91
-
2. Select **Create App Integration** to start a new SAML integration to handle the IdP-initated SSO flow.
126
+
2. Select **Create App Integration** to start a new SAML integration to handle the IdP-initiated SSO flow.
92
127
3. In the pop-up, select **SAML 2.0** and select **Next**.
93
128
4. Enter a name for the app and select **Next**.
94
129
5. In the **Single Sign-On URL** field, paste the **SSO Endpoint URL**[you copied earlier](/cloudflare-one/applications/configure-apps/dash-sso-apps/#prerequisites-1).
@@ -117,123 +152,151 @@ If there is an issue with your SSO IdP provider, you can add an alternate IdP us
2.[Get](/api/resources/zero_trust/subresources/access/subresources/applications/methods/list/) the `id` of the `dash_sso` Access application. You can use [`jq`](https://jqlang.github.io/jq/download/) to quickly find the correct application:
3. Using the `id` obtained above, [update](/api/resources/zero_trust/subresources/access/subresources/applications/methods/update/)**SSO App** to accept all identity providers. To avoid overwriting your existing configuration, the PUT request body should contain all fields returned by the previous GET request.
Users can now log in using their Cloudflare account email and password. If a user does not have a password, they can use the [forgot password](/fundamentals/user-profiles/change-password-or-email/#forgot-your-password) method on the login page to create one.
220
259
221
260
## Change your team name
222
261
223
-
Cloudflare does not allow you to change your <GlossaryTooltipterm="team name">team name</GlossaryTooltip> while dashboard SSO is enabled. To change your team name, you must disable dashboard SSO and reach out to your account team.
262
+
Cloudflare does not allow you to change your <GlossaryTooltipterm="team name">team name</GlossaryTooltip> while a SSO connector is created. To change your team name, you must disable and delete your SSO connector(s).
224
263
225
264
:::caution
226
-
Before disabling SSO, make sure you have access to your Cloudflare account email. This will allow you to reset your password in case you get logged out of the Cloudflare dashboard.
265
+
Before disabling SSO, make sure you have access to your Cloudflare user email. This will allow you to reset your password in case you get logged out of the Cloudflare dashboard.
227
266
:::
228
267
229
268
1. In [Zero Trust](https://one.dash.cloudflare.com/), go to **Settings** > **Authentication**.
230
-
2. If SSO is enabled, turn off **Cloudflare dashboard SSO**. This action can only be performed by Super Administrators.
231
-
3. Ask your account team to delete your **SSO App** from **Access** > **Applications**. The SSO app cannot be deleted using the Zero Trust dashboard or API.
232
-
4. Go to **Settings** > **Custom Pages**.
233
-
5. Under **Team domain**, select **Edit** to enter the new team name. Select **Save**.
234
-
6. In your identity provider, update your Cloudflare integration with the new team name. For example, if you are using a SAML IdP, you will need to update the Single Sign-on URL and Entity ID to `https://<new-team-name>.cloudflareaccess.com/cdn-cgi/access/callback`.
235
-
7. Ask your account team to reactivate your SSO domain. Once your SSO domain is reactivated, a new **SSO App** application will appear in Zero Trust under **Access** > **Applications**.
236
-
8. In Zero Trust, go to **Settings** > **Authentication**.
237
-
9. Turn on **Cloudflare dashboard SSO** to re-enable SSO.
238
-
239
-
269
+
2. Turn off **Cloudflare dashboard SSO** for any enabled domains. This action can only be performed by Super Administrators.
6. In [Zero Trust](https://one.dash.cloudflare.com/), go to **Settings** > **Custom Pages**.
299
+
7. Under **Team domain**, select **Edit** to enter the new team name. Select **Save**.
300
+
8. In your identity provider, update your Cloudflare integration with the new team name. For example, if you are using a SAML IdP, you will need to update the Single Sign-on URL and Entity ID to `https://<new-team-name>.cloudflareaccess.com/cdn-cgi/access/callback`.
301
+
9. Recreate any deleted SSO connectors using the steps in [Register your domain with Cloudflare for SSO](/cloudflare-one/applications/configure-apps/dash-sso-apps/#2-register-your-domain-with-cloudflare-for-sso).
302
+
10. Follow the verification and enable steps after recreating the SSO connectors.
0 commit comments