Skip to content

Commit 3e2c3b0

Browse files
committed
OIDC IAMv2 per Aashica and Deepak
1 parent 22d43d9 commit 3e2c3b0

File tree

5 files changed

+122
-6
lines changed

5 files changed

+122
-6
lines changed
95.4 KB
Loading
+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
= Managing authentication with OIDC using IAMv2 [.badge.badge-early-access]#Early Access#
2+
endif::[]
3+
:last_updated: 12/2/2024
4+
:linkattrs:
5+
:experimental:
6+
:page-layout: default-cloud
7+
:description: Learn how to integrate with OIDC for authentication.
8+
9+
10+
ThoughtSpot integrates with OpenID Connect (OIDC) for authentication.
11+
12+
== OIDC SSO authentication
13+
14+
ThoughtSpot supports the Single Sign-On (SSO) authentication method with the OpenID Connect (OIDC) authentication.
15+
With OIDC, users can authenticate to the identity provider (IdP) at your organization to access the ThoughtSpot application, or the embedded ThoughtSpot content in an external web application.
16+
It also allows them to navigate seamlessly between different application interfaces with their existing credentials.
17+
18+
By default, xref:authentication-local.adoc[local authentication] is enabled. After you configure OIDC authentication, you can configure the ThoughtSpot login page to default to SSO login by contacting {support-url}. Note that if you change the default login experience to SSO, local users cannot authenticate.
19+
20+
Use this article to learn how to configure an OIDC integration with an external IdP.
21+
22+
=== OIDC authentication with multiple IdPs
23+
24+
You may have multiple groups of users who need to # to ThoughtSpot but are managed by separate IdPs.
25+
You can configure SAML SSO login for more than one Identity Provider.
26+
To configure this, contact {support-url}.
27+
28+
== About OIDC authentication
29+
30+
OIDC authentication involves several entities and components.
31+
32+
=== OIDC entities
33+
34+
OIDC is an json standard that allows secure exchange of user authentication and authorization data between trusted partners.
35+
It enables the following entities to exchange identity, authentication, and authorization information:
36+
37+
* *Identity Provider (IdP)*
38+
+
39+
The Identity Management system that maintains the user identity information.
40+
IdP acts as an authority and authenticates SSO users.
41+
ThoughtSpot supports OIDC authentication framework with popular Identity Providers such as Google, Amazon, and Microsoft. This is not an exhaustive list.
42+
To determine if ThoughtSpot supports your preferred IdP, talk to your ThoughtSpot contact.
43+
+
44+
After you complete the configuration in ThoughtSpot that this article describes, refer to your Identity Provider's documentation for specific information on setting up authentications with that IdP.
45+
46+
* *Service Provider (SP)*
47+
+
48+
The provider of a business function or application service;
49+
for example ThoughtSpot.
50+
The SP relies on the IdP to authenticate users before allowing access to its services.
51+
52+
* *Federated user*
53+
+
54+
A user whose identity information is managed by the IdP.
55+
The federated users have SSO credentials and authenticate to IdP to access various application services.
56+
57+
== Enable OIDC authentication
58+
59+
You need admin privileges to enable OIDC authentication.
60+
61+
. Configure the ThoughtSpot application instance on your IdP server.
62+
.. For the *Single sign on URL* and the *Audience URI* in your IdP provider, you must enter dummy values. You return to these fields in step 15, after completing OIDC configuration in ThoughtSpot.
63+
.. Make a note of the names you use when you map your IdP's version of the `mail` and `username` attributes. You must use these names to map the email and username attribute in ThoughtSpot later. The `display name` attribute is optional; if you would like to map it as well, make a note of the name you use.
64+
. # to your ThoughtSpot application instance.
65+
. From the top navigation bar, select the *Admin* tab.
66+
. Expand *Authentication* and select *Identity Providers* from the side navigation bar.
67+
. Click the *+ Add Identity Provider* button.
68+
. Select the tile that corresponds to your identity provider. The available options are *Google IdP*, *Microsoft IdP*, or *Amazon IdP*. If you are connecting to another OIDC IdP, select the *OIDC IdP* tile.
69+
+
70+
image::oicd_idp.png[Select your IdP]
71+
72+
+
73+
74+
. Under *Specify identity provider details*, fill in the following parameters:
75+
76+
Connection name:: Provide a name for the configuration of the connection to your identity provider. This appears as the connection name on the Admin Console.
77+
Client Secret:: Enter the Client Secret associated with the Client ID for secure communication.
78+
Client Id:: Enter the Client ID provided by the OIDC IdP when you registered your application.
79+
Scopes:: Define the OAuth 2.0 scopes required for authentication and authorization. Separate multiple scopes with spaces.
80+
81+
+
82+
The following fields only appear if you selected *OIDC IdP* in Step 6:
83+
84+
Authorization Endpoint:: URL where users authenticate and grant permissions to access protected resources.
85+
Token Endpoint:: URL where authorization codes are exchanged for access tokens and ID tokens.
86+
Issuer:: Typically represented as a URL, that issues identity tokens and validates user authentication.
87+
User Info Endpoint:: URL for retrieving additional user information after authentication, providing user details.
88+
Jwks Endpoint:: URL for obtaining a JSON Web Key Set, used to verify the authenticity of tokens issued by the IdP.
89+
90+
. Enable JIT user creation to automatically create user accounts if they don't exist in the system during authentication, by toggling on *Auto create user (JIT)*.
91+
. Click *Continue*.
92+
. Under *Map attributes*, map the following *ThoughtSpot user attribute* to the corresponding identity provider's *OIDC attribute* assertion:
93+
Username:: Map the ThoughtSpot username to the corresponding username from the IdP.
94+
Email:: Map the email to the email associated with the user in the IdP.
95+
Display name:: Enter the display name.
96+
roles:: Enter the roles associated with the user.
97+
+
98+
. Click *Save and continue*.
99+
100+
. Under *Add ThoughtSpot to your identity provider*, collect the information required to add the ThoughtSpot application to your IDP. The *Callback URI* is required to add the ThoughtSpot application to your IdP.
101+
.. To copy and paste the *Callback URI* directly from this page, select the *copy* icons next to the parameter, and paste the information into a separate document.
102+
. Click *Enable* to enable the connection immediately, or *Later* to complete the configuration without enabling the connection.
103+
Your IdP is now configured in ThoughtSpot. You must also add the ThoughtSpot application to your IdP.
104+
105+
=== Configure the IdP
106+
107+
To enable the IdP to recognize your host application and ThoughtSpot as a valid service provider, you must configure the IdP with required attributes and metadata.
108+
109+

cloud/modules/ROOT/pages/okta-iam.adoc

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ We request that you update your Network/Firewall approved URL settings allowlist
1818
As a quick validation for accessibility to the global URL mentioned above, please try browsing our validate cluster: `validate-iamv2.thoughtspot.cloud`. In the ThoughtSpot Login page that appears, please enter any credentials, which should result in a failure page. If you get this error, then you have access to the necessary URLs.
1919
====
2020

21-
You can now map certain Identity Provider (IDP) attributes from the ThoughtSpot Admin Console when configuring SAML authentication. These attributes include the username, email, and display name. For more information, see xref:saml-okta.adoc[Managing authentication with SAML using IAMv2]. After you configure SAML authentication, only Okta interacts with your IDP. Your ThoughtSpot cluster does not directly interact with your IDP.
21+
You can now map certain Identity Provider (IDP) attributes from the ThoughtSpot Admin Console when configuring OIDC or SAML authentication. These attributes include the username, email, and display name. For more information, see xref:saml-okta.adoc[Managing authentication with SAML using IAMv2] and xref:oidc-iamv2.adoc[Managing authentication with OIDC using IAMv2]. After you configure OIDC or SAML authentication, only Okta interacts with your IDP. Your ThoughtSpot cluster does not directly interact with your IDP.
2222

2323
The users section of the Admin Console now supports account activation monitoring. If a user still needs to activate their account, administrators can see that information in the Users section and re-send their activation email. For more information, see xref:user-management-okta.adoc[Create, edit, or delete a user using IAMv2].
2424

@@ -29,6 +29,7 @@ Note that whenever you navigate to the login page for ThoughtSpot, you will temp
2929
Refer to the following articles for detailed information on new or changed ThoughtSpot functionality with IAMv2:
3030

3131
* xref:saml-okta.adoc[Managing authentication with SAML using IAMv2]: If the *SAML* section of the Admin Console is called *SAML integration*, your company is using IAMv2.
32+
* xref:oidc-iamv2.adoc[Managing authentication with OIDC using IAMv2]: If the *OIDC* section of the Admin Console is called *OIDC integration*, your company is using IAMv2.
3233
* xref:user-management-okta.adoc[Create, edit, or delete a user using IAMv2]: If the *Users* section of the Admin Console contains an *Account Activation* column, your company is using IAMv2.
3334
* xref:user-account-activation-okta.adoc[Account activation using IAMv2]: If your activation email subject line is "Activate your ThoughtSpot account," your company is using IAMv2.
3435

cloud/modules/ROOT/pages/saml-okta.adoc

+7-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ThoughtSpot integrates with SAML for authentication.
1010

1111
[NOTE]
1212
====
13-
This article contains instructions for managing SAML authentication if your company uses Identity and Access Management V2 (IAMv2). IAMv2 is *_off_* by default. If the *SAML* section of the Admin Console is called *SAML integration*, your company is using IAMv2. If you are using xref:orgs-overview.adoc[], we do not currently support using IAMv2.
13+
This article contains instructions for managing SAML authentication if your company uses Identity and Access Management V2 (IAMv2). IAMv2 is *_off_* by default. If the *SAML* section of the Admin Console is called *SAML integration*, your company is using IAMv2.
1414
1515
If the *SAML* section of the Admin Console is called *Authentication: SAML*, your company is *_not_* using IAMv2. Refer to xref:authentication-integration.adoc[].
1616
====
@@ -103,8 +103,12 @@ You need admin privileges to enable SAML SSO authentication.
103103
.. Make a note of the names you use when you map your IDP's version of the `mail` and `username` attributes. You must use these names to map the email and username attribute in ThoughtSpot later. The `display name` attribute is optional; if you would like to map it as well, make a note of the name you use.
104104
. # to your ThoughtSpot application instance.
105105
. From the top navigation bar, select the *Admin* tab.
106-
. Select *SAML* from the side navigation bar that appears.
107-
. Select the *+ Add identity provider* button in the middle of the screen.
106+
. Expand *Authentication* and select *Identity Providers* from the side navigation bar.
107+
. Click the *+ Add identity provider* button.
108+
. Click the *SAML2IDP* tile.
109+
+
110+
image::oicd_idp.png[Select your IDP]
111+
108112
. Under *Specify identity provider details*, fill in the following parameters:
109113
+
110114
//image::admin-portal-saml-configure.png[Configure SAML]

cloud/modules/ROOT/partials/whats-new-9-10-0-cl.adoc

+4-2
Original file line numberDiff line numberDiff line change
@@ -498,8 +498,10 @@ For more information see, xref:saml-group-mapping.adoc[SAML group and Org mappin
498498

499499
[#9-10-0-cl-iam]
500500
[discrete]
501-
=== OpenID Connect (OIDC) support with IAMv2
502-
Thoughtspot now supports OpenID Connect (OIDC) for SSO with IAMv2. Multiple identity providers with OIDC such as Google , Microsoft, and Okta are now supported.
501+
=== OpenID Connect (OIDC) support with IAMv2 [.badge.badge-early-access]#Early Access#
502+
endif::[]
503+
Thoughtspot now supports OpenID Connect (OIDC) for SSO with IAMv2. Multiple identity providers with OIDC such as Google , Microsoft, and Amazon are now supported.
504+
For more information, see xref:oidc-iamv2.adoc[Managing authentication with OIDC using IAMv2]
503505
// Mary -- scal-119837
504506

505507
[#9-10-0-cl-bridge]

0 commit comments

Comments
 (0)