Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

10-5 doc publication #240

Merged
merged 94 commits into from
Dec 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
ec15082
jwt migration guide
ShashiSubramanya Dec 4, 2024
af24792
content changes
ShashiSubramanya Dec 4, 2024
f4a0b52
image update
ShashiSubramanya Dec 4, 2024
91f8a0f
editorial fixes
ShashiSubramanya Dec 5, 2024
75bc07d
title update
ShashiSubramanya Dec 5, 2024
7a469e3
custom token doc updates
ShashiSubramanya Dec 5, 2024
90584b2
editorial fixes
ShashiSubramanya Dec 5, 2024
11e19be
whats new 10.5
rani2655 Dec 5, 2024
04571a1
sharing context for Orgs
rani2655 Dec 5, 2024
4be074a
whats new 10.5
rani2655 Dec 5, 2024
2d12699
whats new 10.5
rani2655 Dec 10, 2024
75a7d5a
sharing context for Orgs
rani2655 Dec 10, 2024
b131ed9
sharing context for Orgs
rani2655 Dec 11, 2024
9f1a0d9
sharing context for Orgs
rani2655 Dec 11, 2024
4604fc2
perOrgcustomembedurl
rani2655 Dec 11, 2024
0b3d02e
perOrgcustomembedurl
rani2655 Dec 11, 2024
4065c9b
perOrgcustomembedurl
rani2655 Dec 11, 2024
65afd73
orgcustom-embed
rani2655 Dec 12, 2024
b800371
orgcustom-embed
rani2655 Dec 12, 2024
30395de
orgcustom-embed
rani2655 Dec 12, 2024
d186741
orgcustom-embed
rani2655 Dec 12, 2024
0a0f60d
orgcustom-embed
rani2655 Dec 12, 2024
2633a1d
orgcustom-embed
rani2655 Dec 12, 2024
a676e2d
orgcustom-embed
rani2655 Dec 12, 2024
db02e85
orgcustom-embed
rani2655 Dec 12, 2024
5ad5258
editorial corrections
rani2655 Dec 13, 2024
4ef34fd
10-5-0 updates
ShashiSubramanya Dec 13, 2024
a26cbcc
Merge branch 'main' into jwt-migration-guide
ShashiSubramanya Dec 13, 2024
d19ecd4
review comments incorporation
ShashiSubramanya Dec 13, 2024
6fd22b2
pushing fixes for review comments
ShashiSubramanya Dec 13, 2024
c313205
typo fixes
ShashiSubramanya Dec 13, 2024
38d3971
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
aeb1695
Create abac-user-parameters-beta.adoc
bryanthowell-ts Dec 16, 2024
52c2e2c
Update abac-user-parameters-beta.adoc
bryanthowell-ts Dec 16, 2024
4beaf0a
Update nav.adoc
bryanthowell-ts Dec 16, 2024
7d6f672
Update abac-user-parameters-beta.adoc
bryanthowell-ts Dec 16, 2024
a3b1d2e
Update nav.adoc
bryanthowell-ts Dec 16, 2024
4076cc1
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
175e745
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
d82af15
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
674b4a4
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
42824d2
Update abac-user-parameters.adoc
bryanthowell-ts Dec 16, 2024
ba1dfda
perOrg feedback
rani2655 Dec 17, 2024
6420449
perOrg feedback
rani2655 Dec 17, 2024
15b60d1
perOrg feedback
rani2655 Dec 17, 2024
7caa606
perOrg feedback
rani2655 Dec 17, 2024
882491b
URl restructuring
rani2655 Dec 17, 2024
174b285
perOrg feedback
rani2655 Dec 17, 2024
f9b950c
URl restructuring
rani2655 Dec 17, 2024
0f59733
Update abac-user-parameters.adoc
bryanthowell-ts Dec 17, 2024
5f7d550
Update abac-user-parameters.adoc
bryanthowell-ts Dec 17, 2024
2837358
Update abac-user-parameters.adoc
bryanthowell-ts Dec 17, 2024
9c4c11f
Update abac-user-parameters.adoc
bryanthowell-ts Dec 17, 2024
64b6bae
edits and image fixes
ShashiSubramanya Dec 17, 2024
2f6dedd
formatting fix
ShashiSubramanya Dec 17, 2024
ca0a191
Merge pull request #233 from thoughtspot/jwt-migration-split-suggestion
ShashiSubramanya Dec 17, 2024
b396bc4
Update abac-user-parameters.adoc
ShashiSubramanya Dec 17, 2024
19d237d
Update abac-user-parameters.adoc
bryanthowell-ts Dec 17, 2024
0e0bfcd
Update abac-user-parameters.adoc
ShashiSubramanya Dec 18, 2024
f46da4b
Update abac-user-parameters.adoc
ShashiSubramanya Dec 18, 2024
3f7e275
Update authentication.adoc
ShashiSubramanya Dec 18, 2024
9447cc0
Merge branch 'main' into jwt-migration-guide
ShashiSubramanya Dec 18, 2024
c1db38a
10-5-0 updates
ShashiSubramanya Dec 18, 2024
1eb39f4
Merge branch '10-5-0' into whats-new-10.5
ShashiSubramanya Dec 18, 2024
76d70d1
what's new blurb update
ShashiSubramanya Dec 18, 2024
ffc1e87
Update whats-new.adoc
ShashiSubramanya Dec 18, 2024
5406dfe
Update orgs.adoc
ShashiSubramanya Dec 18, 2024
e19bb7d
typo fixes
ShashiSubramanya Dec 18, 2024
f122558
Merge pull request #231 from thoughtspot/whats-new-10.5
ShashiSubramanya Dec 18, 2024
15f2534
Update authentication.adoc
ShashiSubramanya Dec 18, 2024
a275e47
typo fixes
ShashiSubramanya Dec 18, 2024
3ff1d37
version drop-down update
ShashiSubramanya Dec 18, 2024
5cd8e79
formatting fixes
ShashiSubramanya Dec 18, 2024
97be7f0
version drop-down update
ShashiSubramanya Dec 18, 2024
1e810fc
Merge pull request #237 from thoughtspot/jwt-migration-guide
ShashiSubramanya Dec 18, 2024
8fd5199
Merge branch '10.5.0.cl' into 10-5-0
ShashiSubramanya Dec 18, 2024
c552bc4
Update abac-user-parameters.adoc
bryanthowell-ts Dec 18, 2024
53b790c
Update abac-user-parameters.adoc
bryanthowell-ts Dec 18, 2024
aa04ee7
typo fix
ShashiSubramanya Dec 18, 2024
bf69216
Update abac-user-parameters.adoc
bryanthowell-ts Dec 18, 2024
b6920b4
spotter embed react, sdk version update, spotter doc update
ShashiSubramanya Dec 18, 2024
ccbd89d
embed auth, report api fixes
ShashiSubramanya Dec 19, 2024
b0c74d7
formatting fix
ShashiSubramanya Dec 19, 2024
3d579b9
image update
ShashiSubramanya Dec 19, 2024
46c6e66
image resize
ShashiSubramanya Dec 19, 2024
669de79
image edits
ShashiSubramanya Dec 19, 2024
83a89ae
image resize
ShashiSubramanya Dec 19, 2024
0ce6396
react embed typo fixes
ShashiSubramanya Dec 19, 2024
cd15c0d
Merge pull request #230 from thoughtspot/jwt-migration-guide
ShashiSubramanya Dec 19, 2024
a7493e6
changelog update
ShashiSubramanya Dec 19, 2024
a351793
review comments Bhanu
ShashiSubramanya Dec 19, 2024
57ed0b3
added beta label
ShashiSubramanya Dec 19, 2024
70fd7a9
typo fixes
ShashiSubramanya Dec 19, 2024
59a668b
Merge pull request #236 from thoughtspot/10-5-0
ShashiSubramanya Dec 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
473 changes: 473 additions & 0 deletions modules/ROOT/pages/abac-user-parameters-beta.adoc

Large diffs are not rendered by default.

429 changes: 188 additions & 241 deletions modules/ROOT/pages/abac-user-parameters.adoc

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions modules/ROOT/pages/api-changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,21 @@

This changelog lists only the changes introduced in the Visual Embed SDK. For information about new features and enhancements available for embedded analytics, see xref:whats-new.adoc[What's New].

== Version 1.35.0, December 2024

[width="100%" cols="1,4"]
|====
|[tag greenBackground]#NEW FEATURE# a|
The SDK now provides the `isUnifiedSearchExperienceEnabled` setting to customize the Search experience on ThoughtSpot Home page for embedding application users:

* When set to `true`, the split search experience is disabled and the Search bar on the Home page functions as Natural Language Search interface
* When set to `false`, the split search experience is enabled and object Search is set as the default Home page search experience.

For more information, see xref:full-app-customize.adoc#_search_components[Search interface on the Home page in full application embedding].

|[tag greenBackground]#NEW FEATURE# a| The `overrideOrgId` parameter in the SDK provides the ability to override Org context for embedding application users. This parameter allows users authenticated to an Org to temporarily view content from another Org. Before specifying the Org ID for override, make sure the Per Org URL feature is enabled on your ThoughtSpot instance. To enable Per Org URL on your instance, contact ThoughtSpot Support.
|====

== Version 1.34.0, November 2024

[width="100%" cols="1,4"]
Expand Down
50 changes: 36 additions & 14 deletions modules/ROOT/pages/authentication.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -446,7 +446,7 @@ Invalid parameter

=== Just-in-time provisioning

If the `username` does not exist in the ThoughtSpot system, you can provision a new user and assign privileges using `auto_create` and `group_identifiers` attributes. For just-in-time provisioning, include the following attributes along with `username` and `secret_key` in the `POST` request body:
If the `username` does not exist in the ThoughtSpot system, you can provision a new user and assign privileges using `auto_create` and `group_identifiers` attributes. For xref:just-in-time-provisioning.adoc[Just-in-time provisioning], include the following attributes along with `username` and `secret_key` in the `POST` request body:

[width="100%" cols="1,4"]
[options='header']
Expand Down Expand Up @@ -514,19 +514,24 @@ curl -X POST \
}'
----

For more information, see xref:just-in-time-provisioning.adoc[Just-in-time provisioning].

=== Get tokens with custom rules and filter conditions
[NOTE]
====
The `auth/token/custom` API endpoint also allows you to automatically create a user during token generation. For more information, see xref:authentication.adoc#_get_tokens_with_custom_rules_and_filter_conditions[Get a token with custom rules and filter conditions for ABAC implementation].
====

To get tokens encoded in JSON Web Token (JWT) format with security entitlements for a user, send a `POST` request with the user details, filter rules, and parameter values to the `/api/rest/2.0/auth/token/custom` API endpoint. This API allows administrators to generate a token with a specific set of rules and column filtering conditions that are applied when a user session is initiated.
[#_get_tokens_with_custom_rules_and_filter_conditions]
=== Get a token with custom rules and filter conditions for ABAC implementation

You can also use this API with the Visual Embed SDK to implement Attribute-Based Access Control (ABAC) for your embedding application users.
To get a token with security entitlements encoded in JSON Web Token (JWT) format for a user, send a `POST` request with the user details, filter rules, and parameter values to the `/api/rest/2.0/auth/token/custom` API endpoint. This API allows administrators to generate a token with a specific set of rules and column filtering conditions that are applied when a user session is created.

[NOTE]
====
If your ThoughtSpot instance is on 10.4.0.cl or later, ThoughtSpot recommends using `/api/rest/2.0/auth/token/custom` to generate Attribute-Based Access (ABAC) Control tokens. The `user_parameters` property in `/api/rest/2.0/auth/token/full` and `/api/rest/2.0/auth/token/object` is deprecated in 10.4.0.cl and is not recommended for ABAC token generation.
If your application instance is upgraded 10.4.0.cl or a later version, ThoughtSpot recommends using the +++<a href="{{navprefix}}/restV2-playground?apiResourceId=http%2Fapi-endpoints%2Fauthentication%2Fget-custom-access-token">/api/rest/2.0/auth/token/custom</a>+++ API endpoint to generate a JWT token with custom security rules for Attribute-Based Access Control (ABAC) implementation. +
The `user_parameters` property used for generating an ABAC token via `/api/rest/2.0/auth/token/full` and `/api/rest/2.0/auth/token/object` API endpoints in the beta implementation is deprecated in 10.4.0.cl. +
If your current implementation is using the beta version of the ABAC and you want to migrate your beta ABAC implementation to `/api/rest/2.0/auth/token/custom`, refer to the instructions in xref:jwt-migration.adoc[ABAC migration guide].
====


[width="100%" cols="1,4"]
[options='header']
|=====
Expand All @@ -540,20 +545,20 @@ a|__String__. Password of the user account. If using `secret_key` to generate th
|`validity_time_in_sec` +
__Optional__| __Integer__. Token expiry duration in seconds. The default duration is 300 seconds.
|`org_id` +
__Optional__|__Integer__. If the Orgs feature is enabled on your instance, specify the ID of the Org for which you want to generate the authentication token. If Org ID is not specified, the token is generated for the Primary Org (Org 0).
__Optional__|__Integer__. If the Orgs feature is enabled on your instance, specify the ID of the Org for which you want to generate the authentication token. If an Org ID is not specified, the token is generated for the Primary Org (Org 0).
|`persist_option` a| Indicates if the filter rules and Parameter attributes defined in the API request should persist for user sessions initiated with the token obtained from this API call. The following options are available:

* `APPEND` +
Adds the attributes defined in the API request to the user’s `user_properties`. These properties will be applied to user sessions and for scheduled jobs if any.
Adds the attributes defined in the API request to the user’s user properties. These properties will be applied to user sessions and for scheduled jobs if any.

* `NONE` +
The security entitlements assigned via attributes will be used only for the user session initiated with the token generated from this API call.

* `REPLACE` +
Replaces existing `user_properties` of the user with the attributes defined in this API request.
Available from 10.5.0.cl. Replaces existing user properties of the user with the attributes defined in this API request.

* `RESET` +
Resets `user_properties` assigned to a user upon token generation.
Resets the user properties assigned to a user upon token generation.

|`filter_rules` a|__Array of filter rules__. An array of runtime filter conditions to pass via token. Each rule in the array must include the following information:

Expand Down Expand Up @@ -614,8 +619,8 @@ __Optional__ |__String__. Email address of the user. Use this parameter to add t
|`display_name` +
__Optional__ |__String__. Display name of the user. Use this parameter if `auto_create` is set to `true.
|`auto_create` +
__Optional__|__Boolean__. Creates a user if the specified username is not already available in ThoughtSpot. The default value is `true`.
|`group_identifiers` +
__Optional__|__Boolean__. Available from 10.5.0.cl. Creates a user if the specified username is not already available in ThoughtSpot. The default value is `true`.
|`groups` +
__Optional__|__Array of Strings__. GUIDs or names of the groups to assign the user to. This attribute can be used in conjunction with `auto_create` to dynamically assign groups and privileges to a user.
|=====

Expand Down Expand Up @@ -669,14 +674,31 @@ curl -X POST \
"identifier": "a71d5d1f-6e02-4ee1-a6e9-e158af844367"
}
],
"org_identifier": "2",
"org_identifier": "0",
"secret_key": "4c55ff63-d03e-497a-8ec6-1be083f160ee"
}'
----

==== API response
If API request is successful, the API returns a token with the security rules and attributes applied.

[source,JSON]
----
{
"id": "3eefc15a-cad0-4de0-a85c-de6407a14fca",
"token": "{AUTH_TOKEN}",
"org": {
"id": 0,
"name": "Primary"
},
"user": {
"id": "46228fb2-8db9-4b84-b015-82ea2f3b220d",
"name": "UserA"
},
"creation_time_in_millis": 1733323274948,
"expiration_time_in_millis": 1733323574708
}
----

===== Response codes

Expand Down
4 changes: 3 additions & 1 deletion modules/ROOT/pages/common/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,9 @@ include::generated/typedoc/CustomSideNav.adoc[]
*** link:{{navprefix}}/access-control-sharing[Access control and sharing]
*** link:{{navprefix}}/privileges-and-roles[Privileges and Roles]
*** link:{{navprefix}}/data-security[Data security]
**** link:{{navprefix}}/abac-user-parameters[ABAC via tokens ^BETA^]
**** link:{{navprefix}}/abac-user-parameters[ABAC via tokens]
**** link:{{navprefix}}/abac-migration-guide[Migrate ABAC ^BETA^ implementation to custom token API]
**** link:{{navprefix}}/abac-user-parameters-beta[ABAC via tokens (pre-10.4.0.cl)]
**** link:{{navprefix}}/rls-rules[RLS Rules]
*** link:{{navprefix}}/selective-user-access[User access]
** link:{{navprefix}}/best-practices[Optimize app performance]
Expand Down
21 changes: 21 additions & 0 deletions modules/ROOT/pages/customize-links.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ An Answer link is generated when a user shares an Answer with another user and i
SpotIQ analyses links::
ThoughtSpot generates this link when a user runs the SpotIQ analysis on the data generated from a search query, saved Answer, or a visualization pinned to a Liveboard. This link points users to the *SpotIQ Analyses* page and is also sent in email notifications.


Links to unsubscribe from notifications::
+
The *Unsubscribe* link is included in system-generated emails to allow users to turn off email notifications.
Expand Down Expand Up @@ -80,6 +81,8 @@ For example, when a user subscribes to receive threshold-based alerts for a KPI
====
* Make sure the {object-id} and {sub-object-id} variables are used only for ThoughtSpot objects. If the link format has two {object-id} variables, your application users may not receive the correct links. For example, if the link format is `\https://www.mysite.com/?myobject-id={object-id}/liveboard-id={object-id}`, ThoughtSpot may replace both these variables with the Liveboard GUID when it generates the Liveboard link. +
* ThoughtSpot query parameters that substitute the `{ts-query-params}` variable are prefixed with `ts-`.
* If xref:orgs.adoc[per Org custom embed URL feature] is enabled on your ThoughtSpot instance, the Org ID is also passed as a query parameter in the `{ts-query-params}`.
* The developers are advised to update their implementation to accommodate the Org ID in the `{ts-query-params}` while setting up the custom links for their application users, and avoid any workflow disruption.
====

== Customize link format
Expand Down Expand Up @@ -175,6 +178,8 @@ https://www.mysite.com/insight/{object-id}
----
https://www.mysite.com/?insights={object-id}
----


Unsubscribe link::

This URL provides a link to the *Profile* settings page in ThoughtSpot.
Expand Down Expand Up @@ -238,7 +243,20 @@ To verify if the links are generated in the format you configured, share a Liveb
For example, if you customized the hostname in the URL as `www.mysite.com`, ThoughtSpot generates links with the `www.mysite.com` hostname.

* If you are using a non-embedded ThoughtSpot instance and the Liveboard or Answer sharing URL format is customized, ThoughtSpot displays the *Embedded link format* checkbox. To copy the URL in the customized format, click *Embedded link format*.
+
[NOTE]
====
If the per Org custom embed URL feature is enabled on your ThoughtSpot instance, this URL in the *Embedded link format* will also show the Org ID.
For example if you have defined the custom link as,

`\https://www.mysite.com/liveboard/{object-id}/?{ts-query-params}`

The *Embedded link format* will be,

`\https://www.mysite.com/liveboard/22946f4b-b4ce-4643-be50-66afcd5177/orgId=0`

The Org ID will passed in the URL depending on the placement of `{ts-query-params}` in the custom link settings.
====
+
[.bordered]
[.widthAuto]
Expand All @@ -253,7 +271,10 @@ image::./images/embed-link-liveboardSchedule.png[Embed link format]

* Verify the `Unsubscribe` links in email notifications.



////
== Limitations

Currently, ThoughtSpot does not support customizing the **View Liveboard** URL in Liveboard schedule notifications.
////
11 changes: 11 additions & 0 deletions modules/ROOT/pages/data-report-v2-api.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,11 @@ In the `POST` request body, specify the GUID or name of the Liveboard as `metada
The default `file_format` is CSV. For PDF and PNG file format, you can specify additional parameters to customize the page orientation and include or exclude the cover page, logo, footer text, and page numbers.
For PNG file format, you can include cover page and filters.

[NOTE]
====
The downloadable file returned in API response file is extensionless. You need to rename the downloaded file by typing in the relevant extension.
====

.**Example**
[source,cURL]
----
Expand Down Expand Up @@ -276,6 +281,12 @@ curl -X POST \
}'
----

[NOTE]
====
* The downloadable file returned in API response file is extensionless. You need to rename the downloaded file by typing in the relevant extension.
* HTML rendering is not supported for PDF exports of Answers with tables.
====

== Pagination settings for Data and Report APIs

When you make REST API calls to some v2 Data endpoints to query data, the API may return many rows of data in response. By default, the following parameters are set in API requests to the v2 Data API endpoints:
Expand Down
Loading
Loading