dremiojs 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.prettierrc +7 -0
  3. package/README.md +59 -0
  4. package/dremiodocs/dremio-cloud/cloud-api-reference.md +748 -0
  5. package/dremiodocs/dremio-cloud/dremio-cloud-about.md +225 -0
  6. package/dremiodocs/dremio-cloud/dremio-cloud-admin.md +3754 -0
  7. package/dremiodocs/dremio-cloud/dremio-cloud-bring-data.md +6098 -0
  8. package/dremiodocs/dremio-cloud/dremio-cloud-changelog.md +32 -0
  9. package/dremiodocs/dremio-cloud/dremio-cloud-developer.md +1147 -0
  10. package/dremiodocs/dremio-cloud/dremio-cloud-explore-analyze.md +2522 -0
  11. package/dremiodocs/dremio-cloud/dremio-cloud-get-started.md +300 -0
  12. package/dremiodocs/dremio-cloud/dremio-cloud-help-support.md +869 -0
  13. package/dremiodocs/dremio-cloud/dremio-cloud-manage-govern.md +800 -0
  14. package/dremiodocs/dremio-cloud/dremio-cloud-overview.md +36 -0
  15. package/dremiodocs/dremio-cloud/dremio-cloud-security.md +1844 -0
  16. package/dremiodocs/dremio-cloud/sql-docs.md +7180 -0
  17. package/dremiodocs/dremio-software/dremio-software-acceleration.md +1575 -0
  18. package/dremiodocs/dremio-software/dremio-software-admin.md +884 -0
  19. package/dremiodocs/dremio-software/dremio-software-client-applications.md +3277 -0
  20. package/dremiodocs/dremio-software/dremio-software-data-products.md +560 -0
  21. package/dremiodocs/dremio-software/dremio-software-data-sources.md +8701 -0
  22. package/dremiodocs/dremio-software/dremio-software-deploy-dremio.md +3446 -0
  23. package/dremiodocs/dremio-software/dremio-software-get-started.md +848 -0
  24. package/dremiodocs/dremio-software/dremio-software-monitoring.md +422 -0
  25. package/dremiodocs/dremio-software/dremio-software-reference.md +677 -0
  26. package/dremiodocs/dremio-software/dremio-software-security.md +2074 -0
  27. package/dremiodocs/dremio-software/dremio-software-v25-api.md +32637 -0
  28. package/dremiodocs/dremio-software/dremio-software-v26-api.md +36757 -0
  29. package/jest.config.js +10 -0
  30. package/package.json +25 -0
  31. package/src/api/catalog.ts +74 -0
  32. package/src/api/jobs.ts +105 -0
  33. package/src/api/reflection.ts +77 -0
  34. package/src/api/source.ts +61 -0
  35. package/src/api/user.ts +32 -0
  36. package/src/client/base.ts +66 -0
  37. package/src/client/cloud.ts +37 -0
  38. package/src/client/software.ts +73 -0
  39. package/src/index.ts +16 -0
  40. package/src/types/catalog.ts +31 -0
  41. package/src/types/config.ts +18 -0
  42. package/src/types/job.ts +18 -0
  43. package/src/types/reflection.ts +29 -0
  44. package/tests/integration_manual.ts +95 -0
  45. package/tsconfig.json +19 -0
@@ -0,0 +1,1844 @@
1
+ # Security and Compliance | Dremio Documentation
2
+
3
+ Original URL: https://docs.dremio.com/dremio-cloud/security/
4
+
5
+ On this page
6
+
7
+ Dremio offers extensive security measures to help protect the integrity of your data, including access control and the ability to use external identity providers (IdPs). Dremio provides flexible native security features and integration with a wide range of third-party tools so that your organization can adhere to compliance and regulatory standards, enforce fine-grained permissions for your users, and retain your existing tools for authentication and authorization.
8
+
9
+ ## Authentication and Identity Management
10
+
11
+ Dremio supports industry-standard [authentication](/dremio-cloud/security/authentication/) and single sign-on (SSO) services, including OAuth 2.0/OpenID Connect. Organizations can configure integrated authentication (Active Directory or OpenID Connect) to centrally manage user accounts with strong password policies and SSO/multi-factor authentication (MFA).
12
+
13
+ ## Access Control
14
+
15
+ Dremio provides a comprehensive hierarchical privilege system for fine-grained access control across your organization.
16
+
17
+ * **Privileges** – Complete [privilege system](/dremio-cloud/security/privileges) with hierarchical inheritance from organization to individual objects.
18
+ * **Role-Based Access Control (RBAC)** – Manage access [through roles](/dremio-cloud/security/roles) rather than individual user grants for easier administration.
19
+ * **Hierarchical Inheritance** – Privileges granted at higher levels (Organization → Projects → Sources → Folders → Tables) automatically apply to nested objects.
20
+ * **Object Ownership** – Automatic ownership assignment when creating objects, with transferable ownership capabilities.
21
+ * **Open Catalog Security** – Structured access control for managed catalog systems.
22
+
23
+ ## Data Protection
24
+
25
+ * **Encryption in Transit** – Your content is transmitted using TLS 1.2 or higher between client and control plane, and between control plane and data plane.
26
+ * **Encryption at Rest** – Your data is encrypted at rest within the control plane using AES-256 or higher.
27
+ * **Customer-Managed Encryption** – Deploy and manage your encryption keys for enhanced security.
28
+
29
+ ## Compliance and Certifications
30
+
31
+ * **Compliance** – Review current [compliance measures](/dremio-cloud/security/compliance) and audits Dremio has completed.
32
+
33
+ **Current Certifications:**
34
+
35
+ * **ISO 27001** – Information security management systems.
36
+ * **SOC 2 Type II** – Security, availability, and confidentiality controls.
37
+ * **HIPAA** – Healthcare data protection compliance.
38
+
39
+ **Privacy Regulations:**
40
+
41
+ * **GDPR** – General Data Protection Regulation compliance.
42
+ * **CCPA** – California Consumer Privacy Act compliance.
43
+
44
+ Was this page helpful?
45
+
46
+ * Authentication and Identity Management
47
+ * Access Control
48
+ * Data Protection
49
+ * Compliance and Certifications
50
+
51
+ <div style="page-break-after: always;"></div>
52
+
53
+ # Roles | Dremio Documentation
54
+
55
+ Original URL: https://docs.dremio.com/dremio-cloud/security/roles
56
+
57
+ On this page
58
+
59
+ Roles are a set of [privileges](/dremio-cloud/security/privileges) that can be assigned to users as needed. Roles can also be assigned to other roles to create a child-role hierarchy, where child roles inherit all privileges from their parent roles. This hierarchical system allows you to organize privileges at scale rather than managing privileges for each individual user (also called members).
60
+
61
+ You can define roles based on the types of users in your organization. For example, *Data\_Analyst* and *Security\_Admin* roles can be created to manage privileges for users with different job functions within an organization.
62
+
63
+ See the following role design guidelines:
64
+
65
+ * Keep the number of ADMIN role members to 1-2 administrators for security.
66
+ * Begin with 2-3 custom roles based on primary job functions.
67
+ * Create parent roles for common privilege sets, then add specific child roles as needed.
68
+ * Choose clear names that reflect the role's purpose (e.g., Sales\_Analyst, Data\_Engineer).
69
+ * Use prefixes such as DEPT\_, PROJ\_, or TEAM\_ for consistency.
70
+ * Use the description field to explain each role's intent.
71
+
72
+ ## How Role Inheritance Works
73
+
74
+ Child roles automatically inherit all privileges from their parent roles, creating a cascading effect that simplifies privilege management.
75
+
76
+ Example Role Hierarchy
77
+
78
+ ```
79
+ Data_Viewer (SELECT on public datasets only)
80
+ └── Data_Analyst (inherits Data_Viewer + SELECT on specific datasets)
81
+ └── Data_Engineer (inherits Data_Analyst + CREATE, ALTER privileges)
82
+ └── Data_Admin (inherits Data_Engineer + admin privileges on data sources)
83
+ ```
84
+
85
+ In this example, a Data\_Engineer automatically gets all the privileges of Data\_Analyst and Data\_Viewer, plus their own additional CREATE and ALTER privileges.
86
+
87
+ ## System Roles
88
+
89
+ Dremio has two predefined system roles: ADMIN and PUBLIC. These roles can be used to manage privileges.
90
+
91
+ ### ADMIN
92
+
93
+ The ADMIN role is designed for administrative users who require superuser/global access. Users who are assigned this role are granted every privilege across all objects and resources in an organization. The privileges for the ADMIN role are immutable by users.
94
+
95
+ The first user in an organization is automatically assigned the ADMIN role.
96
+
97
+ Be cautious when assigning the ADMIN role. Users with ADMIN privileges can modify any data, delete objects, and manage other users' access.
98
+
99
+ ### PUBLIC
100
+
101
+ The PUBLIC role is assigned by default to all new users added to the organization and cannot be revoked from any user. Think of PUBLIC as the baseline access level that every user in your organization receives.
102
+
103
+ This role grants the following privileges to its members:
104
+
105
+ * USAGE on all engines
106
+ * USAGE on any predefined [OAuth apps](/dremio-cloud/security/authentication/app-authentication/oauth-apps) and [External Token Providers](/dremio-cloud/security/authentication/app-authentication/external-token).
107
+
108
+ SELECT and ALTER privileges are not granted for any sources and must be assigned by a user with the ADMIN role or through additional custom roles.
109
+
110
+ Additional privileges can be granted to the PUBLIC role to provide organization-wide baseline access.
111
+
112
+ ## Custom Roles
113
+
114
+ Custom roles can be created by any user or role that has the [CREATE ROLE](/dremio-cloud/security/privileges#organization-privileges) organization privilege, or by members of the ADMIN role.
115
+
116
+ You can assign a custom role to users or other roles (to create a child role). The custom role can then be assigned a set of privileges.
117
+
118
+ ### View All Roles
119
+
120
+ #### Use the Dremio Console
121
+
122
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
123
+ 2. Select **Roles** in the organization settings sidebar.
124
+
125
+ #### Use SQL
126
+
127
+ ADMIN users can also list all roles using the [`sys.organization.roles`](/dremio-cloud/sql/system-tables/roles) system table:
128
+
129
+ Review all roles and their owners
130
+
131
+ ```
132
+ SELECT r.role_name,
133
+ r.role_type,
134
+ r.owner_type,
135
+ u.user_name as owner_name
136
+ FROM sys.organization.roles r
137
+ LEFT JOIN sys.organization.users u ON r.owner_id = u.user_id
138
+ ORDER BY r.role_name;
139
+ ```
140
+
141
+ ### Create a Custom Role
142
+
143
+ #### Use the Dremio Console
144
+
145
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
146
+ 2. Select **Roles** in the organization settings sidebar.
147
+ 3. Click **Add Role** at the top-right corner of the screen.
148
+ 4. In the Add Role dialog, for **Name**, enter the name to associate with the role, such as the position title or employee type that will be associated with the role.
149
+ 5. (Optional) For **Description**, provide any details regarding the purpose of the role or its associated privileges.
150
+ 6. Click **Add**.
151
+
152
+ #### Use SQL
153
+
154
+ You can also create custom roles using the [`CREATE ROLE`](/dremio-cloud/sql/commands/create-role/) command.
155
+
156
+ ### Edit a Custom Role
157
+
158
+ #### Use the Dremio Console
159
+
160
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
161
+ 2. Select **Roles** in the organization settings sidebar.
162
+ 3. On the Roles page, select the role.
163
+ 4. On the Edit Role page, make any desired changes, such as adding or removing a child role and adding or removing a member.
164
+ 5. Click **Save**.
165
+
166
+ #### Use SQL
167
+
168
+ You can also add or remove child roles and members using the [GRANT ROLE](/dremio-cloud/sql/commands/grant-role) and [REVOKE ROLE](/dremio-cloud/sql/commands/revoke-role) SQL commands.
169
+
170
+ ### Remove a Custom Role
171
+
172
+ Removing a role will immediately revoke all associated privileges from its members. Ensure users have alternative access before deleting roles.
173
+
174
+ #### Use the Dremio Console
175
+
176
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
177
+ 2. Select **Roles** in the organization settings sidebar.
178
+ 3. On the Roles page, hover over the row of the role and click ![Delete](/images/icons/trash.png "Delete") that appears next to the role.
179
+ 4. Confirm that you want to delete the role.
180
+
181
+ Once confirmed, the role is deleted and cannot be retrieved.
182
+
183
+ #### Use SQL
184
+
185
+ You can also remove custom roles using the [`DROP ROLE`](/dremio-cloud/sql/commands/drop-role/) command.
186
+
187
+ ### Add a Child Role
188
+
189
+ Child roles inherit all privileges from their parent roles. This creates a hierarchy where more specific roles build upon broader ones.
190
+
191
+ #### Use the Dremio Console
192
+
193
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
194
+ 2. Select **Roles** in the organization settings sidebar.
195
+ 3. On the Roles page, select the parent role, then select the **Roles** tab.
196
+ 4. Click the dropdown multi-select field and either select the desired role or enter a role name to search for it.
197
+ 5. Click *Add*\* when you have selected the desired entry or entries. When a child role is added, it will display below the dropdown in a list.
198
+ 6. Click **Save**.
199
+
200
+ The child role appears in the table along the left side of the screen.
201
+
202
+ #### Use SQL
203
+
204
+ You can also add child roles to parent roles using the [`GRANT ROLE`](/dremio-cloud/sql/commands/grant-role) SQL command:
205
+
206
+ Example Association of a Child Role
207
+
208
+ ```
209
+ -- Make Data_Analyst a child role of Analytics_Team
210
+ GRANT ROLE Data_Analyst TO ROLE Analytics_Team;
211
+ ```
212
+
213
+ ### Remove a Child Role
214
+
215
+ #### Use the Dremio Console
216
+
217
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
218
+ 2. Select **Roles** in the organization settings sidebar.
219
+ 3. On the Roles page, select the parent role, then select the **Roles** tab.
220
+ 4. Hover over the row of the role and click ![Delete](/images/icons/trash.png "Delete") that appears next to the role.
221
+ 5. Click **Save**.
222
+
223
+ #### Use SQL
224
+
225
+ You can also remove child roles from parent roles using the [`REVOKE ROLE`](/dremio-cloud/sql/commands/revoke-role) SQL command.
226
+
227
+ ### Add a Member
228
+
229
+ #### Use the Dremio Console
230
+
231
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
232
+ 2. Select **Roles** in the organization settings sidebar.
233
+ 3. On the Roles page, select the role, then select the **Members** tab.
234
+ 4. Click the dropdown multi-select field and either select the desired user (listed by email address) or enter an email address to search for it.
235
+ 5. Click **Add** when you have selected the desired entry or entries. When a member is added, it will display below the dropdown in a list.
236
+ 6. Click **Save**.
237
+
238
+ #### Use SQL
239
+
240
+ You can also add members to roles using the [`GRANT ROLE`](/dremio-cloud/sql/commands/grant-role) SQL command:
241
+
242
+ Example creating a role member
243
+
244
+ ```
245
+ -- Assign Data_Analyst role to a user
246
+ GRANT ROLE Data_Analyst TO USER 'jane.doe@company.com';
247
+ ```
248
+
249
+ ### Remove a Member
250
+
251
+ Users cannot remove themselves from the ADMIN role. If you are a member of the ADMIN role and wish to be removed from it, another user who has the necessary privileges must remove you.
252
+
253
+ #### Use the Dremio Console
254
+
255
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and choose **Organization settings**.
256
+ 2. Select **Roles** in the organization settings sidebar.
257
+ 3. On the Roles page, select the role, then select the **Members** tab.
258
+ 4. Hover over the row of the member and click ![Delete](/images/icons/trash.png "Delete") that appears next to the member.
259
+ 5. Click **Save**.
260
+
261
+ This removes them as a member of this role, and they will no longer possess the privileges associated with that role. However, the user still retains privileges associated with any other roles where they are members.
262
+
263
+ #### Use SQL
264
+
265
+ You can also remove members from roles using the [`REVOKE ROLE`](/dremio-cloud/sql/commands/revoke-role) SQL command.
266
+
267
+ ## Limits and Considerations
268
+
269
+ * There is a limit of 10 nested roles in a hierarchy. For more information, see [Limits](/dremio-cloud/help-support/limits/).
270
+
271
+ Was this page helpful?
272
+
273
+ * How Role Inheritance Works
274
+ * System Roles
275
+ + ADMIN
276
+ + PUBLIC
277
+ * Custom Roles
278
+ + View All Roles
279
+ + Create a Custom Role
280
+ + Edit a Custom Role
281
+ + Remove a Custom Role
282
+ + Add a Child Role
283
+ + Remove a Child Role
284
+ + Add a Member
285
+ + Remove a Member
286
+ * Limits and Considerations
287
+
288
+ <div style="page-break-after: always;"></div>
289
+
290
+ # Compliance | Dremio Documentation
291
+
292
+ Original URL: https://docs.dremio.com/dremio-cloud/security/compliance
293
+
294
+ On this page
295
+
296
+ Dremio meets the IT control requirements for several compliance frameworks and certifications, as described below.
297
+
298
+ ## SOC 2 Type II Report
299
+
300
+ Dremio maintains compliance with the American Institute of Certified Public Accountants (AICPA) System and Organization Controls - Trust Services Criteria, commonly known as SOC 2.
301
+
302
+ ### Key Benefits
303
+
304
+ [SOC 2 Type II reports](https://us.aicpa.org/interestareas/frc/assuranceadvisoryservices/aicpasoc2report) provide an in-depth analysis of cloud service providers regarding the safeguards used to protect data and how controls are performed. These reports are issued by independent, third-party auditors and cover the key areas of security, availability, confidentiality, and privacy.
305
+
306
+ This independent assessment of Dremio provides a detailed report regarding the environments used to provide security and data privacy. The report includes descriptions of these controls, the tests performed to assess their effectiveness, the results of those tests, and an overall opinion regarding the design and operational effectiveness of the environments.
307
+
308
+ ## ISO 27001 Certification
309
+
310
+ ISO 27001 is an internationally recognized specification for an Information Security Management System (ISMS). ISO 27001 is the only auditable standard that addresses the overall management of information security rather than just which technical controls to implement.
311
+
312
+ ### Key Benefits
313
+
314
+ Obtaining [ISO 27001:2022 certification](https://www.iso.org/isoiec-27001-information-security.html) demonstrates that Dremio employs a comprehensive framework of legal, physical, and technical controls for information risk management.
315
+
316
+ ## GDPR Compliance
317
+
318
+ Dremio is compliant with the storage and security of its data according to Article 27 of the General Data Protection Regulation (GDPR). Please see [Dremio's Privacy Policy](https://www.dremio.com/legal/privacy-policy/) for additional information regarding our appointed European Data Protection Officer (EDPO) in the EU.
319
+
320
+ ### Key Benefits
321
+
322
+ As part of the European Union, specific regulations exist that require companies to [maintain compliance with GDPR](https://gdpr.org/). This regulation governs the way user data is stored, processed, and utilized on Dremio. Specifically, it prevents the exploitation of user data and standardizes the data protection laws that services must follow throughout Europe.
323
+
324
+ ## CCPA Compliance
325
+
326
+ Dremio maintains compliance with the California Consumer Privacy Act (CCPA), which regulates the handling of personal data and prevents any unauthorized use or sale. Please see [Dremio's Privacy Notice for California Residents](https://www.dremio.com/legal/privacy-policy/) for additional information.
327
+
328
+ ### Key Benefits
329
+
330
+ Adherence to [CCPA](https://oag.ca.gov/privacy/ccpa) by an organization ensures that California residents have the right to opt out of having their data sold to third parties, request disclosure of data collected, and request deletion of that data.
331
+
332
+ ## HIPAA Compliance
333
+
334
+ Dremio is compliant with the Health Insurance Portability and Accountability Act (HIPAA), a series of federal regulatory standards that outline the lawful use and disclosure of protected health information in the United States. HIPAA compliance is regulated by the Department of Health and Human Services (HHS) and enforced by the Office for Civil Rights (OCR).
335
+
336
+ ### Key Benefits
337
+
338
+ Adherence to [HIPAA](https://www.cdc.gov/phlp/publications/topic/hipaa.html) ensures that healthcare providers, health plans, healthcare clearinghouses, and business associates of HIPAA-covered entities must implement multiple safeguards to protect sensitive personal and health information.
339
+
340
+ Was this page helpful?
341
+
342
+ * SOC 2 Type II Report
343
+ + Key Benefits
344
+ * ISO 27001 Certification
345
+ + Key Benefits
346
+ * GDPR Compliance
347
+ + Key Benefits
348
+ * CCPA Compliance
349
+ + Key Benefits
350
+ * HIPAA Compliance
351
+ + Key Benefits
352
+
353
+ <div style="page-break-after: always;"></div>
354
+
355
+ # Privileges | Dremio Documentation
356
+
357
+ Original URL: https://docs.dremio.com/dremio-cloud/security/privileges
358
+
359
+ On this page
360
+
361
+ Dremio provides a range of privileges for each type of securable object. These privileges work together to control access across your organization.
362
+
363
+ ## Key Concepts
364
+
365
+ ### Grants
366
+
367
+ Dremio privileges are granted to users and roles. Users possess all the privileges granted to their user identity and their roles. See [`GRANT TO USER`](/dremio-cloud/sql/commands/grant-to-user) and [`GRANT TO ROLE`](/dremio-cloud/sql/commands/grant-to-role) for example grants.
368
+
369
+ ### Privilege Inheritance
370
+
371
+ Dremio uses a hierarchical privilege system where most higher-level privileges apply to all objects within their scope:
372
+
373
+ **Organization** → **Projects** → **Sources** → **Folders** → **Tables and Views**
374
+
375
+ When you grant a privilege at a higher level, it applies to all relevant objects at lower levels. For example, granting SELECT at the project level gives SELECT access to all datasets in that project across all sources.
376
+
377
+ ### Ownership and Object Creation
378
+
379
+ The OWNERSHIP privilege is unique—it applies only to the specific object where it's assigned and is never inherited by nested objects. When you create any object, you automatically become its owner. This design maintains clear ownership boundaries, so a project owner doesn't automatically own every table in that project. OWNERSHIP grants full control of the specific object. Ownership can be transferred using the [`GRANT OWNERSHIP`](/dremio-cloud/sql/commands/grant-to-role) command.
380
+
381
+ ### Sharing Data Through Views
382
+
383
+ When you create a view based on a table, you become the owner of that view. Your privileges as the view owner determine whether the view can access the underlying table—creating a privilege chain. You can then grant other users access to your view, allowing them to see the table's data even though they don't have direct permission to access that table themselves. However, if you (or whoever last modified the view) lose access to the underlying table, the entire privilege chain breaks and the view stops working for everyone.
384
+
385
+ ## Organization Privileges
386
+
387
+ Organization privileges are the highest level in the hierarchy and control organization-wide operations and resources.
388
+
389
+ | Privilege Type | Description |
390
+ | --- | --- |
391
+ | ALL | Shorthand to grant all supported privileges except OWNERSHIP. |
392
+ | CALL MODEL | Use the AI models available across all model providers. The PUBLIC role has this privilege on the organization by default, but it can be revoked. |
393
+ | CONFIGURE BILLING | Create and manage billing accounts for usage invoices. |
394
+ | CONFIGURE SECURITY | Configure organization security features including [identity providers](/dremio-cloud/security/authentication/idp), [external token providers](/dremio-cloud/security/authentication/app-authentication/external-token), and custom [OAuth applications](/dremio-cloud/security/authentication/app-authentication/oauth-apps). |
395
+ | CREATE MODEL PROVIDER | Create model providers for the organization. |
396
+ | CREATE PROJECT | Create new projects, each including an Open Catalog. |
397
+ | CREATE ROLE | Create and edit roles. See [Custom Roles](/dremio-cloud/security/roles#custom-roles) for details. |
398
+ | CREATE USER | Create and edit users. See [Add a User](/dremio-cloud/admin/users#add-a-user) for details. |
399
+ | MANAGE GRANTS | Grant or revoke privileges on the organization and all objects it contains. |
400
+ | OWNERSHIP | Full control of the organization; not inherited by nested objects. |
401
+
402
+ ## Project Privileges
403
+
404
+ Project privileges control access to projects and apply to different categories of objects within the project. These privileges provide broad control across all sources, catalogs, and engines in the project.
405
+
406
+ | Privilege Type | Applies To | Description |
407
+ | --- | --- | --- |
408
+ | OWNERSHIP | Project | Full control of the project. |
409
+ | USAGE | Project | Access the project and its engines. Required for any other project operations. |
410
+ | VIEW JOB HISTORY | Project | View the job history page for all users across the entire project. |
411
+ | CREATE SOURCE | Sources | Create new data sources and modify source configurations throughout the project. |
412
+ | EXTERNAL QUERY | Sources | Run [external queries](/dremio-cloud/bring-data/connect/databases/#external-queries) on compatible sources. |
413
+ | ALTER | Datasets | Edit definitions, settings, wikis, and manage metadata. Create or remove folders and datasets where supported. |
414
+ | CREATE TABLE | Datasets | Create tables using [`CREATE TABLE`](/dremio-cloud/sql/commands/create-table) and [`CREATE TABLE AS`](/dremio-cloud/sql/commands/create-table-as) on sources that support table creation. |
415
+ | DELETE INSERT TRUNCATE UPDATE | Datasets | Execute DML operations on Apache Iceberg tables in compatible object storage. |
416
+ | DROP | Datasets | Remove tables and folders from all sources that support deletion operations. |
417
+ | SELECT | Datasets | Query contained datasets and view schema definitions, lineages, wikis, and labels. |
418
+ | ALTER REFLECTION | Reflections | Create, edit, and view all Reflections across the project. Includes access to Reflection pages, API endpoints, and job history. |
419
+ | VIEW REFLECTION | Reflections | View all Reflections across the project, including pages, API endpoints, and job history. |
420
+ | MODIFY | Engines | Complete engine management including workload settings, routing, and queues. Includes MONITOR and OPERATE. |
421
+ | MONITOR | Engines | View all engine settings including replicas, auto-stop settings, time limits, and tags across all engines. |
422
+ | OPERATE | Engines | Start, stop, enable, and disable all engines in the project. |
423
+ | MANAGE GRANTS | All Objects | Grant and revoke privileges on the project and all objects it contains. |
424
+
425
+ ## Open Catalog Privileges
426
+
427
+ [Open Catalog](/dremio-cloud/bring-data/connect/catalogs/open-catalog/) is a specialized source whose privileges control access to folders and datasets within the catalog.
428
+
429
+ You can grant each of these privileges at the indicated scopes:
430
+
431
+ * **Catalog scope:** Privileges are granted on the catalog and apply to all the catalog folders and datasets.
432
+ * **Folder scope:** Privileges are granted to a specific folder and apply to all contained folders and datasets.
433
+ * **Dataset scope:** Privileges are granted to a single table or view and apply only to that dataset.
434
+
435
+ | Privilege Type | Catalog Scope | Folder Scope | Dataset Scope | Description |
436
+ | --- | --- | --- | --- | --- |
437
+ | ALL | ✔ | ✔ | ✔ | Shorthand to grant all supported privileges except OWNERSHIP. |
438
+ | ALTER | ✔ | ✔ | ✔ | Edit contained table definitions, settings, wikis, and manage metadata operations. Add or remove folders. |
439
+ | ALTER REFLECTION | ✔ | ✔ | ✔ | Create, edit, and view Reflections on contained datasets, including pages, APIs, and job history. |
440
+ | DROP | ✔ | ✔ | | Remove contained datasets and folders. |
441
+ | MANAGE GRANTS | ✔ | ✔ | ✔ | Grant and revoke privileges on contained objects. |
442
+ | OWNERSHIP | ✔ | ✔ | ✔ | Full control; not inherited by nested objects. |
443
+ | READ METADATA | ✔ | ✔ | ✔ | View metadata including column information and job history, limited to jobs you have permission to see. |
444
+ | SELECT | ✔ | ✔ | ✔ | Query contained datasets and view schema definitions, lineages, wikis, and labels. |
445
+ | USAGE | ✔ | ✔ | | Use the immediate namespace or folder. Must be granted on every folder in the hierarchy path. |
446
+ | VIEW REFLECTION | ✔ | ✔ | ✔ | View Reflections on contained datasets, including pages, APIs, and job history. |
447
+ | WRITE | ✔ | ✔ | ✔ | Execute write operations [`INSERT`](/dremio-cloud/sql/commands/insert), [`UPDATE`](/dremio-cloud/sql/commands/update), [`TRUNCATE`](/dremio-cloud/sql/commands/truncate), [`DELETE`](/dremio-cloud/sql/commands/delete) on contained Apache Iceberg tables. |
448
+
449
+ ## Source Privileges
450
+
451
+ Source privileges control access to external data sources and datasets. All sources and other catalogs utilize these privileges in Dremio.
452
+
453
+ You can grant each of these privileges at the indicated scopes:
454
+
455
+ * **Source scope:** Privileges are granted on the source and apply to all the source folders and datasets.
456
+ * **Folder scope:** Privileges are granted to a specific folder and apply to all contained folders and datasets.
457
+ * **Dataset scope:** Privileges are granted to a specific table or view and apply only to that dataset.
458
+
459
+ | Privilege Type | Source Scope | Folder Scope | Dataset Scope | Description |
460
+ | --- | --- | --- | --- | --- |
461
+ | ALL | ✔ | ✔ | ✔ | Shorthand to grant all supported privileges except OWNERSHIP. |
462
+ | ALTER | ✔ | ✔ | ✔ | Edit contained dataset definitions, settings, wikis, and manage metadata. Add or remove folders, promote or demote tables. |
463
+ | ALTER REFLECTION | ✔ | ✔ | ✔ | Create, edit, and view all Reflections on contained datasets, including pages, APIs, and job history. |
464
+ | CREATE TABLE | ✔ | ✔ | | Create new tables using [`CREATE TABLE`](/dremio-cloud/sql/commands/create-table) and [`CREATE TABLE AS`](/dremio-cloud/sql/commands/create-table-as) (requires source to support table creation). |
465
+ | DELETE INSERT TRUNCATE UPDATE | ✔ | ✔ | ✔ | Execute associated DML operations [`DELETE`](/dremio-cloud/sql/commands/delete), [`INSERT`](/dremio-cloud/sql/commands/insert), [`TRUNCATE`](/dremio-cloud/sql/commands/truncate), [`UPDATE`](/dremio-cloud/sql/commands/update) on all contained Apache Iceberg tables (requires compatible object storage). |
466
+ | DROP | ✔ | ✔ | | Remove contained datasets and folders (requires source deletion support). |
467
+ | EXTERNAL QUERY | ✔ | | | Run [external queries](/dremio-cloud/bring-data/connect/databases/#external-queries) on compatible sources. |
468
+ | MANAGE GRANTS | ✔ | ✔ | ✔ | Grant and revoke privileges on contained objects. |
469
+ | MODIFY | ✔ | | | Access and modify configuration settings, connection parameters, and source-level properties. |
470
+ | OWNERSHIP | ✔ | ✔ | ✔ | Full control; not inherited by nested objects. |
471
+ | READ METADATA | ✔ | ✔ | ✔ | View metadata including column information and job history, limited to jobs you have permission to see. |
472
+ | SELECT | ✔ | ✔ | ✔ | Query contained datasets and view schema definitions, lineages, wikis, and labels. |
473
+ | VIEW REFLECTION | ✔ | ✔ | ✔ | View Reflections on contained datasets, including pages, APIs, and job history. |
474
+
475
+ ## User-Defined Function Privileges
476
+
477
+ User-defined functions (UDFs) allow you to create reusable custom functions using SQL expressions.
478
+
479
+ | Privilege Type | Description |
480
+ | --- | --- |
481
+ | ALL | Shorthand to grant all supported privileges except OWNERSHIP. |
482
+ | ALTER | Edit the function's wiki, definitions, and settings. |
483
+ | EXECUTE | Ability to run the UDF. Use the function as row-access and column-masking policies for tables and views. |
484
+ | MANAGE GRANTS | Grant and revoke privileges on the UDF. |
485
+ | OWNERSHIP | Full control of the UDF; not inherited by nested objects. |
486
+
487
+ ## Engine Privileges
488
+
489
+ Engine privileges control access to specific named engines. Use engine privileges at the project level to manage all engines collectively.
490
+
491
+ | Privilege Type | Description |
492
+ | --- | --- |
493
+ | ALL | Shorthand to grant all supported privileges except OWNERSHIP. |
494
+ | MANAGE GRANTS | Grant and revoke privileges on the specific engine. |
495
+ | MODIFY | Access and modify all engine settings including replicas, auto-stop configuration, time limits, and tags. |
496
+ | MONITOR | View all engine settings and configuration details without modification rights. |
497
+ | OPERATE | Start, stop, enable, and disable the engine. |
498
+ | OWNERSHIP | Full control of the engine; not inherited by nested objects. |
499
+ | USAGE | Execute queries using the engine. The PUBLIC role has this privilege on all engines by default, but it can be revoked. |
500
+
501
+ ## Model Provider Privileges
502
+
503
+ Model provider privileges control access to AI model providers configured at the organization level. These privileges determine who can use, manage, and configure model providers for your organization.
504
+
505
+ | Privilege Type | Description |
506
+ | --- | --- |
507
+ | CALL MODEL | Use the AI models available. |
508
+ | MODIFY | Access and modify all model provider settings. |
509
+ | MANAGE GRANTS | Grant and revoke privileges on the model provider. |
510
+ | OWNERSHIP | Full control of the model provider. |
511
+
512
+ ## Script Privileges
513
+
514
+ Script privileges enable sharing of individual saved scripts with other users and roles.
515
+
516
+ | Privilege Type | Description |
517
+ | --- | --- |
518
+ | ALL | Shorthand to grant all supported privileges except OWNERSHIP. |
519
+ | DELETE | Remove the script permanently. |
520
+ | MANAGE GRANTS | Grant and revoke privileges on the script. |
521
+ | MODIFY | Edit the script content and settings. |
522
+ | OWNERSHIP | Full control of the script; not inherited by nested objects. |
523
+ | VIEW | Access, view, and execute the script. |
524
+
525
+ ## Identity Provider Privileges
526
+
527
+ [Identity provider](/dremio-cloud/security/authentication/idp) privileges control access to organization-level authentication and identity management settings.
528
+
529
+ | Privilege Type | Description |
530
+ | --- | --- |
531
+ | ALL | Shorthand to grant all supported privileges except OWNERSHIP. |
532
+ | MODIFY | Access and modify identity provider settings, including configuration changes and updates. |
533
+ | MONITOR | View all identity provider settings and configuration details without modification rights. |
534
+ | OWNERSHIP | Full control of the identity provider; not inherited by nested objects. |
535
+
536
+ ## Related Topics
537
+
538
+ * [Security Pillar](/dremio-cloud/help-support/well-architected-framework/security) – See the security design principles and best practices of the Dremio Well-Architected Framework.
539
+
540
+ Was this page helpful?
541
+
542
+ * Key Concepts
543
+ + Grants
544
+ + Privilege Inheritance
545
+ + Ownership and Object Creation
546
+ + Sharing Data Through Views
547
+ * Organization Privileges
548
+ * Project Privileges
549
+ * Open Catalog Privileges
550
+ * Source Privileges
551
+ * User-Defined Function Privileges
552
+ * Engine Privileges
553
+ * Model Provider Privileges
554
+ * Script Privileges
555
+ * Identity Provider Privileges
556
+ * Related Topics
557
+
558
+ <div style="page-break-after: always;"></div>
559
+
560
+ # PrivateLink | Dremio Documentation
561
+
562
+ Original URL: https://docs.dremio.com/dremio-cloud/security/privatelink
563
+
564
+ On this page
565
+
566
+ Dremio PrivateLink enables secure, private connectivity between your AWS VPC and Dremio services without exposing traffic to the public internet. This service allows you to access all Dremio control plane services, including the UI, REST APIs, and query execution endpoints.
567
+
568
+ When you enable PrivateLink for your Dremio organization, all Dremio services are accessible only through your VPC endpoint. However, the following Dremio services remain publicly accessible:
569
+
570
+ * `login.dremio.cloud` – OAuth server for programmatic authentication (API clients, JDBC/ODBC)
571
+ * `scim.dremio.cloud` – SCIM provisioning endpoint for identity provider integration (Microsoft Entra ID, Okta, etc.)
572
+ * `sql.dremio.cloud` – Dremio JDBC driver (Legacy) endpoint.
573
+
574
+ If your organization restricts outbound internet access, ensure the `accounts.dremio.cloud` (or `accounts.eu.dremio.cloud` for EU regions) domain is allowed in your firewall rules for authentication to function properly. This authentication service is used during single sign-on (SSO) login flows.
575
+
576
+ Upon activation of PrivateLink, Dremio console sessions terminate immediately, JDBC/ODBC/API sessions terminate within one hour, and running queries may be interrupted.
577
+
578
+ Before activating PrivateLink in your Dremio organization:
579
+
580
+ * Verify your VPC endpoint is available.
581
+ * Confirm DNS resolution is working and connections through the endpoint are functioning.
582
+ * Schedule a maintenance window and notify users.
583
+
584
+ PrivateLink uses a **service-based routing** approach with the following domain structure:
585
+
586
+ `<orgAlias>.<resource>.privatelink.dremio.cloud`
587
+
588
+ ### Domain Components
589
+
590
+ * **orgAlias** – Your organization's unique identifier that routes connections to your Dremio organization. Requirements:
591
+ + Starts with a letter (a-z, A-Z)
592
+ + Contains only letters, digits, and hyphens
593
+ + Ends with a letter or digit (not a hyphen)
594
+ + Length: 3-63 characters
595
+ + Case-insensitive (stored as lowercase)
596
+ + Follows RFC 1035 DNS naming conventions
597
+ * **resource** – The [Dremio services](/dremio-cloud/about/regions/#connection-endpoints) in the connection. The following interfaces are not supported by PrivateLink:
598
+ + `sql.dremio.cloud` for the Dremio JDBC driver (Legacy). Dremio recommends the Arrow Flight SQL JDBC driver using the `data.dremio.cloud` service endpoint when using PrivateLink.
599
+ + `mcp.dremio.cloud` for AI agent integration. Once PrivateLink is activated, this endpoint will not be available.
600
+ * **privatelink.dremio.cloud** – The PrivateLink domain suffix for all private connections
601
+
602
+ **Examples:**
603
+
604
+ * `acme-corp.app.privatelink.dremio.cloud` – Routes to the Dremio console at `app.dremio.cloud`
605
+ * `acme-corp.api.privatelink.dremio.cloud` – Routes to the REST API at `api.dremio.cloud`
606
+
607
+ ### Network Components
608
+
609
+ PrivateLink uses a VPC endpoint in your AWS VPC to provide secure, private connectivity to Dremio services. Users and applications within the VPC connect through the VPC endpoint using your privately hosted DNS name resolution. Remote users connect via VPN to access the VPC and its resources.
610
+
611
+ ### Certificate Management
612
+
613
+ Dremio uses wildcard certificates for `*.privatelink.dremio.cloud`. No additional certificate management is required. Server certificates are managed by Dremio, and standard TLS verification applies to client vertification. All certificates are publicly logged.
614
+
615
+ ## Prerequisites
616
+
617
+ Before setting up PrivateLink, ensure you have:
618
+
619
+ * AWS Requirements
620
+ + **VPC**: Your VPC in the same region as your Dremio service, where you want to enable PrivateLink connectivity.
621
+ + **Subnets**: At least one subnet in your VPC. When you create a VPC endpoint, you select one or more subnets, and AWS creates an Elastic Network Interface (ENI) in each selected subnet. All ENIs belong to the same VPC endpoint. Select subnets in multiple availability zones for high availability—if one availability zone fails, traffic continues to flow through ENIs in other zones.
622
+ + **VPC Endpoints**: Permission to create and manage VPC endpoints.
623
+ + **Security Groups**: Ability to create or modify security groups.
624
+ * Network Requirements
625
+ + **DNS Resolution**: Ability to configure private DNS (such as Route 53 Private Hosted Zones) or CNAME records in your VPC. You will need to create CNAME records that map PrivateLink URLs like `acme-corp.app.privatelink.dremio.cloud` to your VPC endpoint DNS name. While you could technically connect using the VPC endpoint DNS name directly, DNS configuration is required for proper TLS certificate validation and to enable host-based routing to different Dremio services, including `app`, `api`, `data`, and `login`.
626
+ + **TLS/SSL**: Your environment must support TLS 1.2 or higher.
627
+ * Client Requirements
628
+ + **Arrow Flight Drivers**: All SQL clients and BI tools must use Arrow Flight-based drivers. Some clients and tools provide their own embedded drivers, but you must use the Dremio Arrow Flight JDBC and ODBC drivers in place of those embedded drivers.
629
+
630
+ ## Configuration Steps
631
+
632
+ To create a PrivateLink connection:
633
+
634
+ 1. **Create a VPC Endpoint** – In the Amazon Management Console, create a VPC endpoint for [connecting to an endpoint service as the service consumer](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html#connect-to-endpoint-service), using the steps defined by AWS.
635
+
636
+ * For **Type**, choose **Endpoint services that use NLBs and GWLBs**.
637
+ * For **Service Name**, enter the Dremio service name for your Dremio region:
638
+ + us-east-1: `com.amazonaws.vpce.us-east-1.vpce-svc-0c795b359782ac685`
639
+ + us-west-2: `com.amazonaws.vpce.us-west-2.vpce-svc-0b42aeb4681d6f4a4`
640
+ * Select your VPC, subnets, and additional configurations.
641
+ * Optionally define a DNS name for your VPC endpoint and enter that name in your privately hosted DNS.
642
+ * Click **Create endpoint**.
643
+ 2. **Configure a Security Group** – Attach a security group with the following rules:
644
+
645
+ * Inbound Rules:
646
+
647
+ | Type | Protocol | Port Range | Source | Description |
648
+ | --- | --- | --- | --- | --- |
649
+ | HTTPS | TCP | 443 | Your VPC CIDR or specific security groups | Allow HTTPS traffic from your resources |
650
+ * Outbound Rules:
651
+
652
+ | Type | Protocol | Port Range | Destination | Description |
653
+ | --- | --- | --- | --- | --- |
654
+ | HTTPS | TCP | 443 | 0.0.0.0/0 | Allow outbound HTTPS (required for SSO authentication) |
655
+ 3. **Configure Private DNS** – Create CNAME records in your private DNS (Route 53 Private Hosted Zone or equivalent) to map Dremio service domains to your VPC endpoint DNS name. See AWS documentation for [creating a private hosted zone](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html). Create one CNAME record for each PrivateLink URL associated with a Dremio service. Replace `<orgAlias>` with your organization alias and `<vpc-endpoint-dns-name>` with the DNS name of your VPC endpoint (found in the AWS Console under VPC > Endpoints).
656
+
657
+ * `<orgAlias>.app.privatelink.dremio.cloud` → `<vpc-endpoint-dns-name>`
658
+ * `<orgAlias>.api.privatelink.dremio.cloud` → `<vpc-endpoint-dns-name>`
659
+ * `<orgAlias>.data.privatelink.dremio.cloud` → `<vpc-endpoint-dns-name>`
660
+ * `<orgAlias>.login.privatelink.dremio.cloud` → `<vpc-endpoint-dns-name>`
661
+ 4. **Configure Client Tools** – Configure client applications to use the PrivateLink endpoints:
662
+
663
+ * **Power BI Desktop** - See [Connect to Dremio via PrivateLink](/dremio-cloud/explore-analyze/client-apps/microsoft-power-bi#connect-to-dremio-via-privatelink).
664
+ * **JDBC/ODBC Drivers** - Update connection strings to use `<orgAlias>.data.privatelink.dremio.cloud`.
665
+ * **REST API Clients** - Update base URL to `https://<orgAlias>.api.privatelink.dremio.cloud`.
666
+ 5. **Verify Connectivity** – Test connectivity to Dremio using the VPC endpoint and private DNS:
667
+
668
+ * Test DNS resolution using `nslookup <orgAlias>.app.privatelink.dremio.cloud`. This should resolve to private IP addresses in your VPC.
669
+ * From a system within your VPC, test access to the Dremio console by navigating to `https://<orgAlias>.app.privatelink.dremio.cloud`. You should see the Dremio login page.
670
+ * From a system within your VPC, test API access by calling an API endpoint with a base URL of `curl https://<orgAlias>.api.privatelink.dremio.cloud/api/v0/`.
671
+ 6. **Enable PrivateLink** – Enable PrivateLink by filing a support ticket with Dremio Support at the [Dremio Support Portal](https://support.dremio.com/). In the support ticket, provide:
672
+
673
+ * Your **orgAlias**
674
+ * Your Dremio **Organization ID** by clicking ![Settings](/images/icons/settings.png "Settings") in the side navigation bar, choosing **Organization Settings**, and then copying the **Organization ID**.
675
+ * Your VPC endpoint ID from the AWS Console.
676
+ * Confirmation that connectivity works using your new VPC endpoint.
677
+ 7. **Resume Operation** – Resume operation utilizing your PrivateLink connections.
678
+
679
+ Was this page helpful?
680
+
681
+ * Domain Components
682
+ * Network Components
683
+ * Certificate Management
684
+ * Prerequisites
685
+ * Configuration Steps
686
+
687
+ <div style="page-break-after: always;"></div>
688
+
689
+ # Authentication | Dremio Documentation
690
+
691
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/
692
+
693
+ On this page
694
+
695
+ Dremio supports multiple authentication methods for different connection types and user scenarios.
696
+
697
+ | Use Case | Connection Type | Recommended Method |
698
+ | --- | --- | --- |
699
+ | **Interactive web access** | Dremio console | Single Sign-On or Username/Password |
700
+ | **SQL clients** | JDBC/ODBC clients | Personal Access Tokens (PAT) or Username/Password |
701
+ | **Development & testing** | Client applications, REST API | Personal Access Tokens (PAT) |
702
+ | **Production scripts & automation** | Client applications, REST API | OAuth access tokens via PAT Exchange |
703
+ | **Custom apps with existing IdP** | Client applications, REST API | OAuth access tokens via External JWT Exchange |
704
+
705
+ ### Username/Password
706
+
707
+ Username and password authentication allows users to sign in directly to Dremio using their email address and a password managed within Dremio. This method is suitable for users who don't have access to an enterprise identity provider or need standalone accounts. Users can reset their passwords through the Dremio console or via email reset links.
708
+
709
+ ### Single Sign-On
710
+
711
+ Users authenticate through configured identity providers using OIDC protocols. Dremio supports all OIDC-compliant enterprise identity providers, such as Microsoft Entra ID and Okta, as well as social identity providers like Google and GitHub. Users experience automatic login if already signed in to their identity provider.
712
+
713
+ ### Personal Access Tokens (PAT)
714
+
715
+ [Personal access tokens](/dremio-cloud/security/authentication/personal-access-token) are long-lived authentication credentials that allow programmatic access to Dremio without using passwords. PATs function like API keys and can be used in scripts, applications, and automated processes to authenticate requests.
716
+
717
+ **Token lifespan:** PATs can be configured with custom expiration periods up to 180 days or set to never expire. You control the lifespan when creating the token.
718
+
719
+ **Security considerations:**
720
+
721
+ * PATs can have lifespans up to 180 days, making them convenient but potentially risky if compromised.
722
+ * Store PATs securely using environment variables or secret management systems.
723
+ * Never include PATs in code repositories or logs.
724
+ * Regularly rotate PATs and revoke unused tokens.
725
+ * Consider using PAT Exchange for enhanced security in production environments.
726
+
727
+ Users can create and manage PATs through their Account Settings in the Dremio console.
728
+
729
+ ### OAuth Access Tokens
730
+
731
+ [OAuth access tokens](/dremio-cloud/api/oauth-token) are short-lived credentials obtained by exchanging other authentication methods (such as PATs or external JWTs). These tokens provide several security advantages:
732
+
733
+ * **Limited lifespan:** Tokens expire after 1 hour, reducing risk if compromised.
734
+ * **Reduced credential exposure:** Your primary credentials (PAT or password) are only used to obtain the token.
735
+ * **Standardized format:** Compatible with OAuth 2.0 standards and tooling.
736
+ * **Automatic refresh:** Can be programmatically renewed without re-entering credentials.
737
+
738
+ **Token lifespan:** OAuth access tokens expire after 1 hour. Applications should implement refresh logic to obtain new tokens before expiration. When a token expires, API requests will return an authentication error, requiring your application to exchange credentials again for a new token.
739
+
740
+ OAuth access tokens are the recommended authentication method for production applications accessing Dremio's REST API and client drivers. You can obtain OAuth access tokens through [PAT Exchange](/dremio-cloud/api/oauth-token#exchange-a-pat) or [External JWT Exchange](/dremio-cloud/api/oauth-token#exchange-an-external-jwt).
741
+
742
+ #### PAT Exchange
743
+
744
+ Converting PATs to short-lived OAuth access tokens improves security by reducing exposure windows for compromised tokens. This is the [recommended method](/dremio-cloud/api/oauth-token/#exchange-a-pat) for obtaining OAuth access tokens for REST API access.
745
+
746
+ The process:
747
+
748
+ 1. Create a PAT in your Dremio account settings.
749
+ 2. Exchange the PAT for an OAuth access token via the `/oauth/token` REST API.
750
+ 3. Use the OAuth access token for all subsequent API requests.
751
+ 4. Refresh the token before it expires (within 1 hour).
752
+
753
+ #### External JWT Exchange
754
+
755
+ Applications can exchange JSON Web Tokens (JWTs) from [external token providers](/dremio-cloud/security/authentication/app-authentication/external-token) for Dremio OAuth access tokens, enabling authentication without exposing user credentials. This method is useful for custom applications that need to authenticate users through their existing identity provider (such as Microsoft Entra ID or Okta) and then [access Dremio](/dremio-cloud/api/oauth-token/#exchange-an-external-jwt) on their behalf.
756
+
757
+ The process:
758
+
759
+ 1. User authenticates with the external identity provider.
760
+ 2. Application receives a JWT from the identity provider.
761
+ 3. Application exchanges the JWT for a Dremio OAuth access token via the `/oauth/token` REST API.
762
+ 4. Application uses the Dremio OAuth access token to make authenticated requests.
763
+ 5. Application refreshes the token before it expires.
764
+
765
+ This approach allows applications to maintain a seamless authentication experience while securing access to Dremio resources.
766
+
767
+ Was this page helpful?
768
+
769
+ * Username/Password
770
+ * Single Sign-On
771
+ * Personal Access Tokens (PAT)
772
+ * OAuth Access Tokens
773
+
774
+ <div style="page-break-after: always;"></div>
775
+
776
+ # Identity Providers | Dremio Documentation
777
+
778
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/idp/
779
+
780
+ On this page
781
+
782
+ Identity providers (IdPs) are services that store and manage digital identities. An IdP authenticates users via username-password combinations and other credentials, as typically used for cloud computing and managing user identities. The following IdPs are supported with Dremio:
783
+
784
+ * Enterprise identity providers, including [Microsoft Entra ID](/dremio-cloud/security/authentication/idp/microsoft-entra-id), [Okta](/dremio-cloud/security/authentication/idp/okta), and other [OpenID Connect (OIDC) providers](/dremio-cloud/security/authentication/idp/generic-oidc-provider).
785
+ * [Social identity providers](/dremio-cloud/security/authentication/idp/social-idp/), including GitHub, Microsoft, and Google.
786
+
787
+ ## View an IdP
788
+
789
+ To view an IdP configured for Dremio:
790
+
791
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and then select **Organization settings**.
792
+ 2. Select **Authentication** from the organization settings sidebar.
793
+
794
+ ## Remove an IdP
795
+
796
+ You can only remove enterprise IdPs. Social IdPs cannot be removed as they are preconfigured with Dremio.
797
+
798
+ To remove an enterprise IdP:
799
+
800
+ 1. Click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and then select **Organization settings**.
801
+ 2. Select **Authentication** from the organization settings sidebar.
802
+ 3. Click ![Delete](/images/icons/trash.png "Delete") on the row of the IdP to remove. Removing an activated IdP removes it as a login option for all users within your organization. You must manually reconfigure the IdP if you want to use it again as a login option.
803
+ 4. Confirm that you want to remove the IdP. The IdP is then deleted along with any associated settings.
804
+
805
+ ## SCIM
806
+
807
+ System for Cross-domain Identity Management (SCIM) automates the synchronization of user accounts between your identity provider (IdP) and Dremio, eliminating the need for manual user management. When configured, IdPs send the credentials of assigned users securely via SCIM to your Dremio organization, automatically creating new user accounts if needed. These new users, also referred to as external users, can then log in to Dremio according to the policies set by your credential manager.
808
+
809
+ You cannot reset or change an external user's email address or password from Dremio because these tasks are governed by your organization's credential manager. If you delete an external user from Dremio, the IdP automatically re-adds the user's account the next time that user attempts to log in. To properly revoke access to Dremio, follow the steps for [Microsoft Entra ID](/dremio-cloud/security/authentication/idp/microsoft-entra-id#revoke-microsoft-entra-id-sso-login-for-a-user-or-group) or [Okta](/dremio-cloud/security/authentication/idp/okta#revoke-okta-sso-login-for-a-user-or-group).
810
+
811
+ ### Configure Microsoft Entra ID with SCIM
812
+
813
+ You can use Microsoft Entra ID to securely provision external users in Dremio with SCIM. See [SCIM Provisioning with Microsoft Entra ID](/dremio-cloud/security/authentication/idp/microsoft-entra-id#configure-microsoft-entra-id-with-scim) for more information and instructions.
814
+
815
+ ### Configure Okta with SCIM
816
+
817
+ Dremio supports the Okta SCIM provisioning feature, which allows you to automatically create Dremio user accounts if they do not already exist, update user attributes in Dremio, and deactivate user accounts, all from Okta.
818
+
819
+ Before you can configure Okta SCIM provisioning, you must configure Okta as an IdP in Dremio. Follow the instructions in [Okta as an Identity Provider](/dremio-cloud/security/authentication/idp/okta/) to integrate the Dremio application in your Okta organization and add Okta as an OpenID Connect (OIDC) IdP in Dremio.
820
+
821
+ After you configure Okta as an IdP, you can configure [Okta to use SCIM](/dremio-cloud/security/authentication/idp/okta#configure-okta-with-scim) for secure user provisioning.
822
+
823
+ ## Limits and Considerations
824
+
825
+ * To provide a consistent experience, Dremio uses rate limits for SCIM provisioning requests. For more information, see [Limits](/dremio-cloud/help-support/limits#rate-limits).
826
+ * Dremio allows one update to a user or group at a time. While the update is in progress, Dremio locks the user or group and rejects concurrent requests to update the same user or group.
827
+
828
+ Was this page helpful?
829
+
830
+ * View an IdP
831
+ * Remove an IdP
832
+ * SCIM
833
+ + Configure Microsoft Entra ID with SCIM
834
+ + Configure Okta with SCIM
835
+ * Limits and Considerations
836
+
837
+ <div style="page-break-after: always;"></div>
838
+
839
+ # Okta | Dremio Documentation
840
+
841
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/idp/okta
842
+
843
+ On this page
844
+
845
+ Dremio supports Okta as an enterprise identity provider. Okta administrators can enable single sign-on (SSO) authentication using Okta as the trusted third party.
846
+
847
+ ## Prerequisites
848
+
849
+ Configuring OIDC SSO in Okta requires:
850
+
851
+ * [Super Administrator](https://help.okta.com/en-us/Content/Topics/Security/administrators-super-admin.htm) access in Okta
852
+ * The CONFIGURE SECURITY [organization-level privilege](/dremio-cloud/security/privileges#organization-privileges) or membership in the [ADMIN role](/dremio-cloud/security/roles#admin).
853
+
854
+ ## Supported Features
855
+
856
+ Dremio supports the following Okta SSO features:
857
+
858
+ * **Service provider-initiated (SP-initiated) SSO**: Dremio uses the [OpenID Connect (OIDC)](https://www.okta.com/openid-connect/) protocol for SP-initiated SSO. When users provide their email address to log in to Dremio, Dremio sends an authentication request to Okta. Okta then authenticates the user's identity, and the user is logged in to Dremio.
859
+ * **SCIM**: Dremio also allows you to take advantage of Okta's System for Cross-domain Identity Management (SCIM) provisioning feature and manage Dremio user access from Okta. After you configure Okta for OIDC SSO in this guide, see [SCIM with Okta](/dremio-cloud/security/authentication/idp/okta#configure-okta-with-scim) to configure SCIM provisioning.
860
+
861
+ ## Configure OIDC SSO
862
+
863
+ To configure Okta OIDC SSO for Dremio users:
864
+
865
+ 1. In Okta, navigate to **Applications** > **Applications** and click **Browse App Catalog**.
866
+ 2. Type `Dremio` in the search field and select **Dremio** from the list of search results.
867
+ 3. Click **Add Integration**.
868
+ 4. (Optional) Type a custom label in the *Application label* field.
869
+ 5. Select your Dremio [control plane region](/dremio-cloud/about/regions) from the *Region* dropdown menu: US or EU.
870
+ 6. Click **Done**. Okta creates the Dremio application and displays the application's *Assignments* tab.
871
+ 7. Click the **Sign On** tab.
872
+ 8. Copy and save the client ID and client secret listed under *OpenID Connect*. The client ID and client secret are sensitive information and should be kept secure. You will use them to configure authentication in Dremio later in this procedure.
873
+ 9. Click the **OpenID Provider Metadata** link to open the OpenID configuration for the application.
874
+ 10. Copy and save the URL value for the `issuer` key at the top of the OpenID configuration. You will use it to configure authentication in Dremio later in this procedure.
875
+ 11. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and select **Organization settings**.
876
+ 12. Select **Authentication** in the organization settings sidebar.
877
+ 13. In the Enterprise section, click **Add Provider** to open the Add Provider dialog.
878
+ 14. In Step 1, select **Okta** from the dropdown menu.
879
+ 15. In Step 3, enter the issuer URL, client ID, and client secret information that you copied from Okta in the corresponding fields.
880
+ 16. Click **Add**. After the page loads, you should see Okta as an authentication provider in the *Enterprise* section.
881
+ 17. Click the **Enabled** toggle to activate the Okta authentication provider.
882
+
883
+ Okta is now configured as an enterprise authentication provider. **Log in with Okta** appears in the list of login options for your Dremio users.
884
+
885
+ ### Assign People and Groups to the Dremio Application
886
+
887
+ Follow the instructions in the Okta documentation to [assign people](https://help.okta.com/en-us/Content/Topics/Provisioning/lcm/lcm-assign-app-user.htm) or [assign groups](https://help.okta.com/en-us/Content/Topics/Provisioning/lcm/lcm-assign-app-groups.htm) to the Dremio application to ensure that users can use Okta for SSO login. The users you assign, whether individually or through their membership in an assigned group, can use **Log in with Okta** immediately.
888
+
889
+ Use [privileges](/dremio-cloud/security/privileges/) and [roles](/dremio-cloud/security/roles/) to manage user access to objects in Dremio.
890
+
891
+ ### Use Okta SSO to Log In to Dremio
892
+
893
+ Any Okta user who is assigned to the Dremio application can log in with Okta immediately. To use Okta SSO to log in to Dremio:
894
+
895
+ 1. Open the Dremio login page.
896
+ 2. Type your email address in the *Email* field and click **Continue**.
897
+ 3. Click **Log in with Okta**.
898
+ 4. When you are redirected to the Okta website for authentication, enter your Okta username and password and click **Sign In**.
899
+
900
+ Okta authenticates your identity and redirects you to Dremio, which then logs you in.
901
+
902
+ To configure Okta's SCIM provisioning feature and use Okta to manage access for Dremio users, see [SCIM with Okta](/dremio-cloud/security/authentication/idp/okta#configure-okta-with-scim).
903
+
904
+ ### Revoke Okta SSO Login for a User or Group
905
+
906
+ To revoke users' access to Okta SSO login for Dremio:
907
+
908
+ 1. In Okta, open your Dremio application and select the **Assignments** tab.
909
+ 2. In the left menu, under *Filters*, select **People** to deactivate a user or **Groups** to deactivate a group of users.
910
+ 3. Find the row for the user or group you want to deactivate and click the **X** on the right side of the row.
911
+ 4. In the confirmation dialog that appears, click **OK**.
912
+
913
+ Starting immediately, the deactivated users cannot use Okta OIDC SSO to log in to Dremio. To completely delete Dremio users, you must also [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
914
+
915
+ ### Troubleshoot
916
+
917
+ This section describes some things to keep in mind about OIDC SSO in Okta.
918
+
919
+ * To add the Dremio application in Okta and configure OIDC SSO, you must be a [super administrator](https://help.okta.com/en-us/Content/Topics/Security/administrators-super-admin.htm) in the Okta organization.
920
+ * If you revoke a user's access to use Okta SSO login in Okta, the user can still log in to Dremio with their Dremio username and password. To completely delete the user so that they cannot log in to Dremio at all, you must [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
921
+
922
+ ## Configure Okta with SCIM
923
+
924
+ System for Cross-domain Identity Management (SCIM) automates the synchronization of user accounts between your identity provider (IdP) and Dremio, eliminating the need for manual user management. When configured, your IdP securely sends user credentials to Dremio via SCIM, automatically creating accounts for new users as needed. These users can then log in to Dremio according to your organization's authentication policies.
925
+
926
+ Before you can configure SCIM provisioning, you must configure Okta as an identity provider (IdP) in Dremio. See [Okta as an Identity Provider](/dremio-cloud/security/authentication/idp/okta/) to integrate the Dremio application in your Okta organization and add Okta as an OpenID Connect (OIDC) single sign-on (SSO) IdP in Dremio. When that is complete, follow this guide to configure Okta to use SCIM for secure user provisioning.
927
+
928
+ ### Prerequisites
929
+
930
+ Configuring SCIM provisioning in Okta requires:
931
+
932
+ * [Super Administrator](https://help.okta.com/en-us/Content/Topics/Security/administrators-super-admin.htm) access in Okta
933
+ * The CONFIGURE SECURITY [organization-level privilege](/dremio-cloud/security/privileges#organization-privileges) or membership in the [ADMIN role](/dremio-cloud/security/roles#admin).
934
+ * A Dremio [personal access token (PAT)](/dremio-cloud/security/authentication/personal-access-token/#create-a-pat)
935
+ * You must configure [Okta as an identity provider](/dremio-cloud/security/authentication/idp/okta/) using the Dremio application **before** you proceed with SCIM provisioning.
936
+
937
+ ### Supported Features
938
+
939
+ Dremio supports the following Okta SCIM provisioning features:
940
+
941
+ * **Create Users**: Automatically create a new user account in Dremio for Okta users who are assigned to the Dremio application, whether they are assigned individually or as members of a group that is assigned to the application.
942
+ * **Update User Attributes**: Automatically update user information in Dremio when a user's profile information is updated in Okta.
943
+ * **Deactivate Users**: Prevent users from logging in to Dremio when they are deactivated in Okta.
944
+ * **Group Push**: Push Okta groups and their members to Dremio to automatically create Dremio roles and members.
945
+
946
+ ### Configure SCIM Provisioning
947
+
948
+ To configure and enable SCIM provisioning in Okta:
949
+
950
+ 1. Confirm that you have configured [Okta as an identity provider](/dremio-cloud/security/authentication/idp/okta/) using the Dremio application.
951
+ 2. In Okta, navigate to **Applications** > **Applications**.
952
+ 3. Find the Dremio application in the list of applications and click to open it.
953
+ 4. Click the **Provisioning** tab.
954
+ 5. Click **Configure API Integration**.
955
+ 6. Select **Enable API integration**.
956
+ 7. Enter the Dremio PAT in the *API Token* field.
957
+ 8. Click **Test API Credentials**. You should see a confirmation message that the connection was verified successfully.
958
+ 9. Click **Save**. Okta displays the *Provisioning to App* page.
959
+ 10. Click **Edit**.
960
+ 11. Select **Enable** for the *Create Users*, *Update User Attributes*, and *Deactivate Users* options.
961
+ 12. Click **Save**.
962
+
963
+ SCIM provisioning is now configured and enabled. You can create new users, update user attributes, and deactivate users in Dremio, all from Okta.
964
+
965
+ ### Create Users
966
+
967
+ After you configure Okta's SCIM provisioning and enable the *Create Users* option, Dremio automatically creates a new Dremio user account for anyone you assign to Dremio who does not already have an account. New Dremio users can log in to Dremio with Okta SSO immediately, and administrators can [view their user accounts in Dremio](/dremio-cloud/admin/users#view-all-users).
968
+
969
+ * New users are automatically members of the PUBLIC role in Dremio.
970
+ * User email addresses are controlled by Okta rather than Dremio. If a user's email address changes, you must create a new user in Okta and assign them to the Dremio application. Then, the user can use the new email address to log in to Dremio as a new user.
971
+
972
+ ### Update User Attributes
973
+
974
+ With SCIM provisioning configured, updates to user attributes in Okta are propagated to the user account in Dremio. Follow the instructions in the Okta documentation to [edit user attributes](https://help.okta.com/oie/en-us/Content/Topics/users-groups-profiles/usgp-edit-user-attributes.htm).
975
+
976
+ The *First name* and *Last name* attributes are mapped to user accounts in Dremio. After you configure Okta's SCIM provisioning and enable the *Update User Attributes* option, you can change these user attributes in Okta to update the corresponding user information in Dremio.
977
+
978
+ ### Deactivate Users
979
+
980
+ When you [revoke a user or group](/dremio-cloud/security/authentication/idp/okta/#revoke-okta-sso-login-for-a-user-or-group) in Okta, the affected users cannot use Okta OIDC SSO to log in to Dremio. After you configure Okta's SCIM provisioning and enable the *Deactivate Users* option, deactivated users become inactive in Dremio and cannot log in to Dremio at all, whether with Okta OIDC SSO or username and password.
981
+
982
+ To completely delete Dremio users, you must also [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
983
+
984
+ ### Group Push
985
+
986
+ If you enable the group push feature, Okta pushes your designated groups to Dremio as roles and populates the roles with the Okta group's members. Follow the instructions in the Okta documentation to [enable group push](https://help.okta.com/en-us/Content/Topics/users-groups-profiles/usgp-enable-group-push.htm).
987
+
988
+ Before you enable group push, make sure to follow Okta's instructions to [assign the group](https://help.okta.com/en-us/Content/Topics/Provisioning/lcm/lcm-assign-app-groups.htm) to the Dremio application.
989
+
990
+ Use Okta to manage any roles you create with group push. Any changes you make to a role or its membership in Dremio are immediately overwritten by the next push from Okta. Making changes in Dremio can result in synchronization errors.
991
+
992
+ To remove a Dremio role created by group push, unlink the pushed group in the Dremio application. Unlinking the pushed group deletes the corresponding role in Dremio but does not delete the group members' Dremio user accounts.
993
+
994
+ ### Troubleshoot
995
+
996
+ This section describes some things to keep in mind about SCIM provisioning in Okta with the Dremio application.
997
+
998
+ * Group push is not supported for groups that do not have any members. Pushing a group that does not have any members will result in an error.
999
+ * In Okta, it is possible to change a user's username. Dremio does not allow username updates. If you change a user's Okta username after the user is assigned to the Dremio application, Okta sends a request to update the username in Dremio. Dremio denies the request because Dremio username changes are not allowed.
1000
+ * Changing an existing user's primary email address in Okta has no effect on the user's account in Dremio. To permit a user to authenticate to Dremio with the new email address, add the user to Okta as a new person using the new email address. Then, assign the new Okta user to the Dremio application, either individually or by adding them to an assigned group. Okta creates a new Dremio user who can use Okta SSO to log in to Dremio with the new email address.
1001
+ * If you remove a user from an assigned group and the user is still listed as ACTIVE in Dremio, check the *Assignments* tab in the Dremio application to make sure the user isn't separately assigned as a person. Okta only sends deactivate requests for users who are both unassigned as a person and removed from assigned groups.
1002
+
1003
+ Was this page helpful?
1004
+
1005
+ * Prerequisites
1006
+ * Supported Features
1007
+ * Configure OIDC SSO
1008
+ + Assign People and Groups to the Dremio Application
1009
+ + Use Okta SSO to Log In to Dremio
1010
+ + Revoke Okta SSO Login for a User or Group
1011
+ + Troubleshoot
1012
+ * Configure Okta with SCIM
1013
+ + Prerequisites
1014
+ + Supported Features
1015
+ + Configure SCIM Provisioning
1016
+ + Create Users
1017
+ + Update User Attributes
1018
+ + Deactivate Users
1019
+ + Group Push
1020
+ + Troubleshoot
1021
+
1022
+ <div style="page-break-after: always;"></div>
1023
+
1024
+ # Social Identity Providers | Dremio Documentation
1025
+
1026
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/idp/social-idp
1027
+
1028
+ On this page
1029
+
1030
+ A social identity provider (IdP) enables users to log in to Dremio using their existing accounts from these services. You can use the following providers:
1031
+
1032
+ * GitHub
1033
+ * Google
1034
+ * Microsoft
1035
+
1036
+ By default, these options are preconfigured and active, which means they are immediately available as login options for users unless deactivated by an admin.
1037
+
1038
+ ## Log In with a Social IdP
1039
+
1040
+ Follow these steps to log in to your organization with an enabled social IdP:
1041
+
1042
+ 1. Navigate to Dremio's login screen, enter your email address, and proceed to the next screen.
1043
+ 2. Click the icon of the desired social IdP (GitHub, Google, or Microsoft) that you want to use. You will be redirected to the corresponding provider's login page.
1044
+
1045
+ ![Social login interface](/images/cloud/social-login.png)
1046
+ 3. Enter your credentials. If successful, you will be redirected to the Dremio homepage.
1047
+
1048
+ ## Activate and Deactivate Social IdPs
1049
+
1050
+ You must be an admin to activate or deactivate a social IdP. Follow these steps to deactivate or activate social providers:
1051
+
1052
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar and then select **Organization settings**.
1053
+ 2. Select **Authentication** from the organization settings sidebar.
1054
+ 3. To deactivate a provider, toggle **Enabled** to off. Deactivating a social IdP removes this IdP as a login option for all users in your organization.
1055
+ 4. To activate a deactivated, toggle **Enabled** to on.
1056
+
1057
+ Was this page helpful?
1058
+
1059
+ * Log In with a Social IdP
1060
+ * Activate and Deactivate Social IdPs
1061
+
1062
+ <div style="page-break-after: always;"></div>
1063
+
1064
+ # Application Authentication | Dremio Documentation
1065
+
1066
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/app-authentication/
1067
+
1068
+ On this page
1069
+
1070
+ Application authentication enables programmatic access to Dremio for automated workflows, integrations, and service-to-service communication. Unlike user authentication, which is designed for interactive sessions, application authentication provides secure, token-based access for applications, scripts, and third-party tools.
1071
+
1072
+ Application authentication is essential for:
1073
+
1074
+ * **API Integrations**: Connecting BI tools, ETL pipelines, and custom applications.
1075
+ * **Automated Workflows**: Scheduled data processing and reporting tasks.
1076
+ * **Service-to-Service Communication**: Microservices accessing Dremio resources.
1077
+ * **CI/CD Pipelines**: Automated testing and deployment processes.
1078
+
1079
+ Dremio supports two primary application authentication methods that differ fundamentally in their authentication flow and token issuance:
1080
+
1081
+ | Method | Authentication Flow | Token Issuer | Best For |
1082
+ | --- | --- | --- | --- |
1083
+ | **OAuth Applications** | Redirect to Dremio login, user authenticates, redirect back with token | OAuth access token from Dremio | Third-party applications, custom applications requiring standard OAuth |
1084
+ | **External Token Providers** | User authenticates with enterprise IdP, JWT used directly with Dremio | JWT from your identity provider, OAuth access token from Dremio | Enterprise SSO environments, existing JWT infrastructure |
1085
+
1086
+ ### OAuth Applications
1087
+
1088
+ OAuth 2.0 provides secure, standardized authorization for third-party applications. This method is ideal when you need user consent or want to integrate with applications that already support OAuth flows.
1089
+
1090
+ **Key Features:**
1091
+
1092
+ * Supports industry-standard OAuth 2.0 flows
1093
+ * Manages granular permissions through Dremio [role-based access control](/dremio-cloud/security/privileges) and [access policies](/dremio-cloud/manage-govern/row-column-policies)
1094
+ * Logs user activity
1095
+
1096
+ ### External Token Providers
1097
+
1098
+ External token providers allow you to use JSON Web Tokens (JWTs) issued by your existing OAuth server or identity provider. This approach is ideal for enterprises with established identity infrastructure.
1099
+
1100
+ **Key Features:**
1101
+
1102
+ * Leverages existing identity systems
1103
+ * Supports custom claims and token validation
1104
+ * Integrates with enterprise SSO
1105
+ * Manages centralized tokens
1106
+
1107
+ Was this page helpful?
1108
+
1109
+ * OAuth Applications
1110
+ * External Token Providers
1111
+
1112
+ <div style="page-break-after: always;"></div>
1113
+
1114
+ # Personal Access Tokens | Dremio Documentation
1115
+
1116
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/personal-access-token
1117
+
1118
+ On this page
1119
+
1120
+ Personal access tokens (PATs) are randomly generated tokens associated with a user that are used in place of a password to authenticate with Dremio. PATs can last up to 180 days before they expire and provide a secure way to enable programmatic access, automation, and CI/CD workflows.
1121
+
1122
+ When using a PAT, you have the same [privileges](/dremio-cloud/security/privileges) and [roles](/dremio-cloud/security/roles) as the user who created the token. This means a PAT can only access what the user can access.
1123
+
1124
+ ## When to Use PATs
1125
+
1126
+ Dremio recommends using [OAuth access tokens](/dremio-cloud/api/oauth-token) for most use cases, as they provide enhanced security through shorter lifespans and centralized management. PATs should primarily be used in scenarios where OAuth tokens are not supported or practical.
1127
+
1128
+ PATs may be appropriate for:
1129
+
1130
+ * **Legacy systems:** Applications that cannot support OAuth authentication flows.
1131
+ * **Simple scripts:** Quick automation tasks where OAuth setup overhead is not justified.
1132
+ * **Development and testing:** Temporary access for development workflows.
1133
+ * **ODBC/JDBC connections:** When OAuth is not supported by the client application.
1134
+
1135
+ ## Create a PAT
1136
+
1137
+ To create a PAT:
1138
+
1139
+ 1. Click the User icon (user initials) on the side navigation bar and select **Account Settings**.
1140
+ 2. Select **Personal Access Tokens** in the account settings sidebar.
1141
+ 3. On the Personal Access Tokens page, click **Generate Token** in the top-right corner of the screen.
1142
+ 4. In the Generate Token dialog, for **Label**, add a descriptive identifier explaining what the PAT is for (e.g., "CI Pipeline - Data Tests" or "Tableau Integration").
1143
+ 5. For **Lifetime**, enter the number of days the PAT will be valid. The default PAT lifetime is 30 days, and the maximum lifetime is 180 days.
1144
+ 6. Click **Generate**.
1145
+ 7. **Important:** Copy the generated PAT immediately and save it to a secure location. The token is shown only once and cannot be retrieved later.
1146
+
1147
+ ## Manage PATs
1148
+
1149
+ ### View PAT Metadata
1150
+
1151
+ A PAT is shown only once during creation. However, you can view the token ID, label, creation date, and expiration status for all PATs in your account.
1152
+
1153
+ To view the metadata for all the PATs you have created:
1154
+
1155
+ 1. Click the User icon (user initials) on the side navigation bar and select **Account Settings**.
1156
+ 2. Select **Personal Access Tokens** from the settings sidebar.
1157
+
1158
+ The Personal Access Tokens page displays all the metadata for PATs, both active and expired, for your account.
1159
+
1160
+ ### Delete a PAT
1161
+
1162
+ Each user can delete PATs in their own account.
1163
+
1164
+ To delete an existing PAT:
1165
+
1166
+ 1. Click the User icon (user initials) on the side navigation bar and select **Account Settings**.
1167
+ 2. Select **Personal Access Tokens** in the account settings sidebar.
1168
+ 3. On the Personal Access Tokens page, click ![Delete](/images/icons/trash.png "Delete") for the PAT that you want to delete.
1169
+ 4. In the Delete Token dialog, click **Delete** to confirm. The PAT is deleted and cannot be retrieved.
1170
+
1171
+ ### Delete All PATs
1172
+
1173
+ Any user can delete all PATs from their own account. ADMIN users cannot delete PATs on behalf of other users.
1174
+
1175
+ To delete all PATs for your account:
1176
+
1177
+ 1. Click the User icon (user initials) on the side navigation bar and select **Account Settings**.
1178
+ 2. Select **Personal Access Tokens** in the account settings sidebar.
1179
+ 3. On the Personal Access Tokens page, click **Delete All** in the top-right corner of the screen.
1180
+ 4. In the Delete All Tokens dialog, click **Delete** to confirm that you want to delete all PATs in the list. After a PAT has been deleted, it cannot be retrieved.
1181
+
1182
+ ## Use PATs
1183
+
1184
+ PATs can be used to authenticate with various Dremio interfaces:
1185
+
1186
+ * **[REST API](/dremio-cloud/api):** Use PATs for programmatic access and automation.
1187
+ * **[JDBC](/dremio-cloud/explore-analyze/client-apps/drivers/arrow-flight-sql-jdbc):** Connect applications using JDBC drivers.
1188
+ * **[ODBC](/dremio-cloud/explore-analyze/client-apps/drivers/arrow-flight-sql-odbc):** Connect applications using ODBC drivers.
1189
+ * **Dremio web application:** Use your PAT as a password to log in.
1190
+
1191
+ For specific connection details and examples, see the documentation for each connection method.
1192
+
1193
+ ## Limits and Considerations
1194
+
1195
+ * **Self-service only:** Users can only create and manage PATs for themselves—even ADMIN users cannot create or manage PATs on behalf of other users.
1196
+ * **User permissions:** PATs are tied to user accounts—if a user is deactivated, their PATs stop working.
1197
+ * **No privilege restriction:** PATs cannot be scoped to fewer privileges than the user has.
1198
+ * **Token management:** Use descriptive labels and set appropriate expiration times for each token.
1199
+
1200
+ Was this page helpful?
1201
+
1202
+ * When to Use PATs
1203
+ * Create a PAT
1204
+ * Manage PATs
1205
+ + View PAT Metadata
1206
+ + Delete a PAT
1207
+ + Delete All PATs
1208
+ * Use PATs
1209
+ * Limits and Considerations
1210
+
1211
+ <div style="page-break-after: always;"></div>
1212
+
1213
+ # Microsoft Entra ID | Dremio Documentation
1214
+
1215
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/idp/microsoft-entra-id
1216
+
1217
+ On this page
1218
+
1219
+ Dremio supports Microsoft Entra ID as an enterprise identity provider. Microsoft Entra ID administrators can follow these instructions to enable single sign-on (SSO) authentication and allow users to log in to Dremio using Microsoft Entra ID as the trusted third party.
1220
+
1221
+ ## Prerequisites
1222
+
1223
+ Configuring SSO in Microsoft Entra ID requires:
1224
+
1225
+ * Privileges in Microsoft Entra ID that permit you to add, configure, and register applications.
1226
+ * The CONFIGURE SECURITY [organization-level privilege](/dremio-cloud/security/privileges/#organization-privileges) or membership in the [ADMIN role](/dremio-cloud/security/roles/).
1227
+
1228
+ ## Configure an Application for SSO
1229
+
1230
+ To configure SSO in Microsoft Entra ID for Dremio users:
1231
+
1232
+ 1. In the [Azure portal](https://portal.azure.com/#home) under **Azure services**, click the **Microsoft Entra ID** tile.
1233
+ 2. In the left navigation menu under **Manage**, click **App registrations**.
1234
+ 3. Click **New registration**.
1235
+ 4. Type a name for the application in the **Name** field.
1236
+ 5. Select your desired account type in the **Supported account types** list. The default selection is `Accounts in this organizational directory only (<your org> only - Single tenant)`.
1237
+ 6. Under **Redirect URI**, in the **Select a platform** dropdown list, select **Web** and enter the following URI in the provided field:
1238
+
1239
+ * US region: <https://accounts.dremio.cloud/login/callback>
1240
+ * EMEA region: <https://accounts.eu.dremio.cloud/login/callback>
1241
+ 7. Click **Register**.
1242
+ 8. Copy and save the value for the `Application (client) ID`. You will use it to configure authentication in Dremio later in this procedure.
1243
+ 9. In the left navigation menu under **Manage**, click **Certificates & secrets**.
1244
+ 10. Click **New client secret**.
1245
+ 11. In the **Add a client secret** panel, type a description for the secret in the **Description** field and select your desired lifespan for the secret in the **Expires** dropdown list.
1246
+ 12. Click **Add**.
1247
+ 13. Copy and save the value for the secret. The secret value is sensitive information and should be kept private. You will use it to configure authentication in Dremio later in this procedure.
1248
+ 14. In the left navigation menu under **Manage**, click **API permissions**.
1249
+ 15. Confirm that the following permission is listed under \**API / Permissions name*:
1250
+
1251
+ * **User.Read**: Permits users to log in to the application and permits the application to read the profiles and basic company information for logged-in users.
1252
+ 16. Click **Add a permission**.
1253
+ 17. In the **Request API permissions** panel, click the **Microsoft Graph** tile.
1254
+ 18. Click the **Delegated permissions** tile.
1255
+ 19. Under **OpenId permissions**, click the checkboxes next to the following options:
1256
+
1257
+ * **email**: Permits the application to read users' primary email addresses.
1258
+ * **openid**: Permits users to sign in to the application with their work or school accounts and permits the application to view basic user profile information.
1259
+ * **profile**: Permits the application to view basic user profile information (name, avatar, and email address).
1260
+ 20. Click **Add permissions**. The list of configured permissions should now include the following permissions:
1261
+
1262
+ * email
1263
+ * openid
1264
+ * profile
1265
+ 21. In the left navigation menu under **Manage**, click **Branding & properties**.
1266
+ 22. Copy and save the **Publisher domain** (`<domain_name>.onmicrosoft.com`). You will use it to configure authentication in Dremio later in this procedure.
1267
+ 23. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") on the left navigation bar and then select **Organization settings**.
1268
+ 24. Click the **Authentication** tab in the left sidebar.
1269
+ 25. In the **Enterprise** section, click **Add Provider** to open the Add Provider dialog.
1270
+ 26. In Step 1, select **Microsoft Entra ID** in the dropdown list.
1271
+ 27. In Step 3, enter the domain, client ID, and secret information that you copied from Microsoft Entra ID in the corresponding fields.
1272
+ 28. Click **Add**. After the page loads, you should see Microsoft Entra ID listed as an authentication provider in the **Enterprise** section.
1273
+ 29. Click the **Enabled** toggle to activate the Microsoft Entra ID authentication provider.
1274
+
1275
+ Microsoft Entra ID is now configured as an enterprise authentication provider. **Log in with Microsoft Entra ID** appears in the list of login options for your Dremio users. Any Microsoft Entra ID user in your organization can use **Log in with Microsoft Entra ID** for SSO login.
1276
+
1277
+ ### Assign People and Groups to the Microsoft Entra ID Application
1278
+
1279
+ The Microsoft Entra ID application is configured to allow SSO login for any Microsoft Entra ID user in your organization. To adjust the application settings so that only users who are assigned to the app can use Microsoft Entra ID SSO to log in to Dremio:
1280
+
1281
+ 1. In the [Azure portal](https://portal.azure.com/#home) under **Azure services**, click the **Microsoft Entra ID** tile.
1282
+ 2. In the left navigation menu under **Manage**, click **Enterprise applications**.
1283
+ 3. Click the name of the SSO application.
1284
+ 4. In the left navigation menu under **Manage**, click **Properties**.
1285
+ 5. Find the **Assignment required?** toggle and click **Yes**.
1286
+ 6. Click **Save**.
1287
+
1288
+ With user assignment required, users who are not assigned to the application receive an error message from Microsoft when they try to use Microsoft Entra ID SSO for Dremio.
1289
+
1290
+ Follow the instructions in the Microsoft Entra ID documentation to [assign users and groups](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/assign-user-or-group-access-portal?pivots=portal) to your application.
1291
+
1292
+ Before the user can click **Log in with Microsoft Entra ID** in the list of login options for Dremio, one of the following conditions must be met:
1293
+
1294
+ * The user has been invited by an admin and has activated their account through an email link.
1295
+ * An admin has set up SCIM provisioning and synced the user via SCIM.
1296
+
1297
+ Use [privileges](/dremio-cloud/security/privileges/) and [roles](/dremio-cloud/security/roles/) to manage user access to objects in Dremio.
1298
+
1299
+ ### Use Microsoft Entra ID SSO to Log in to Dremio
1300
+
1301
+ To use Microsoft Entra ID SSO to log in to Dremio:
1302
+
1303
+ 1. Open the Dremio console login page:
1304
+
1305
+ * US region: <https://app.dremio.cloud/>
1306
+ * EMEA region: <https://app.eu.dremio.cloud/>
1307
+ 2. Type your email address in the **Email** field and click **Continue**.
1308
+ 3. Click **Log in with Microsoft Entra ID**.
1309
+ 4. You will be redirected to the Microsoft website for authentication.
1310
+ 5. Microsoft Entra ID authenticates your identity and redirects you to Dremio, which then logs you in.
1311
+
1312
+ You can use the Microsoft Entra ID SCIM provisioning feature to sync groups and memberships from Microsoft Entra ID to Dremio and manage access for Dremio users and groups. To configure, see Configure Microsoft Entra ID with SCIM.
1313
+
1314
+ ### Revoke Microsoft Entra ID SSO Login for a User or Group
1315
+
1316
+ To revoke users' access to Microsoft Entra ID SSO login for Dremio:
1317
+
1318
+ 1. In Microsoft Entra ID, navigate to your application.
1319
+ 2. Find the row for the user or group you want to deactivate and click to select the checkbox for the user or group.
1320
+ 3. Click **Remove**.
1321
+ 4. In the confirmation dialog, click **Yes**.
1322
+
1323
+ Starting immediately, the users cannot use Microsoft Entra ID SSO to log in to Dremio.
1324
+
1325
+ If you revoke a user's access to use Microsoft Entra ID SSO login in Microsoft Entra ID and the user has created a Dremio password for login, they can still log in to Dremio with their Dremio username and password. To completely delete Dremio users so that they cannot log in to Dremio at all, you must also delete or deactivate the user through SCIM provisioning or [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
1326
+
1327
+ ## Configure Microsoft Entra ID with SCIM
1328
+
1329
+ System for Cross-domain Identity Management (SCIM) automates the synchronization of user accounts between your identity provider (IdP) and Dremio, eliminating the need for manual user management. When configured, your IdP securely sends user credentials to Dremio via SCIM, automatically creating accounts for new users as needed. These users can then log in to Dremio according to your organization's authentication policies.
1330
+
1331
+ ### Prerequisites
1332
+
1333
+ Configuring SCIM provisioning in Microsoft Entra ID requires:
1334
+
1335
+ * Privileges in Microsoft Entra ID that permit you to register and configure applications.
1336
+ * A Dremio [personal access token (PAT)](/dremio-cloud/security/authentication/personal-access-token#create-a-pat) for a Dremio user who is a member of the ADMIN role.
1337
+
1338
+ ### Configure an Application for SCIM Provisioning
1339
+
1340
+ To create an application for SCIM provisioning in Microsoft Entra ID:
1341
+
1342
+ 1. In the [Azure portal](https://portal.azure.com/#home) under **Azure services**, click the **Microsoft Entra ID** tile.
1343
+ 2. In the left navigation menu under **Manage**, click **Enterprise applications**.
1344
+ 3. Click **New application**.
1345
+ 4. Click **Create your own application**.
1346
+ 5. In the **Create your own application** panel, type a name for the application in the provided field.
1347
+ 6. Under **What are you looking to do with your application?** select the **Integrate any other application you don't find in the gallery (Non-gallery)** option.
1348
+ 7. Click **Create**.
1349
+ 8. In the left navigation menu under **Manage**, click **Provisioning**.
1350
+ 9. Click **Get started**.
1351
+ 10. In the **Provisioning Mode** dropdown list, select **Automatic**.
1352
+ 11. Under **Admin Credentials**, enter the correct **Tenant URL** for your control plane:
1353
+
1354
+ * US control plane: `https://scim.dremio.cloud/scim/v2/?aadOptscim062020`
1355
+ * EU control plane: `https://scim.eu.dremio.cloud/scim/v2/?aadOptscim062020`
1356
+
1357
+ note
1358
+
1359
+ The Tenant URL must include the `aadOptscim062020` query parameter due to a [Microsoft Entra ID issue with SCIM 2.0 compliance](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/application-provisioning-config-problem-scim-compatibility).
1360
+
1361
+ If you previously configured a SCIM app with Microsoft Entra ID, SCIM syncing may fail for requests to deactivate users, add and update user attributes, and remove group members. If you observe these failures, follow the Microsoft documentation to [upgrade from the older customappsso job to the SCIM job](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/application-provisioning-config-problem-scim-compatibility#upgrading-from-the-older-customappsso-job-to-the-scim-job).
1362
+ 12. Enter your Dremio PAT in the **Secret Token** field.
1363
+ 13. (Optional) Click **Test Connection** to confirm that Microsoft Entra ID can connect to the tenant URL.
1364
+ 14. Click **Save**.
1365
+ 15. (Optional) Click the down arrow next to **Settings** and adjust the settings as desired. Click **Save** when you are finished.
1366
+ 16. Return to the **Provisioning Overview** page for the application.
1367
+ 17. In the left navigation menu under **Manage**, click **Provisioning**.
1368
+ 18. Under **Provisioning Status**, toggle the setting to **On**.
1369
+ 19. Click **Save**.
1370
+
1371
+ SCIM provisioning is now configured and enabled. You can create users, update user attributes, and deactivate users in Dremio, all from Microsoft Entra ID.
1372
+
1373
+ Read Microsoft's documentation about [how long it takes to provision users](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user#how-long-will-it-take-to-provision-users) for details about Microsoft Entra ID's initial and incremental provisioning cycles.
1374
+
1375
+ If desired, you can use Microsoft Entra ID's scoping filters to apply attribute-based rules for user provisioning. Read [Scoping users or groups to be provisioned with scoping filters](https://learn.microsoft.com/en-us/entra/identity/app-provisioning/define-conditional-rules-for-provisioning-user-accounts?pivots=app-provisioning) in the Microsoft documentation for more information.
1376
+
1377
+ ### Create Users
1378
+
1379
+ After you configure a Microsoft Entra ID application for SCIM provisioning, you must assign users and groups to the application. Dremio automatically creates a new Dremio user account for anyone you assign to the SCIM application who does not already have an account. Follow the instructions in the Microsoft documentation to [assign users and groups to an application](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/assign-user-or-group-access-portal?pivots=portal).
1380
+
1381
+ ### Create Roles
1382
+
1383
+ If you add a group to your SCIM application in Microsoft Entra ID, your designated group becomes a role in Dremio populated with the group's members. Follow the instructions in the Microsoft documentation to [assign users and groups to an application](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/assign-user-or-group-access-portal?pivots=portal).
1384
+
1385
+ Use Microsoft Entra ID to manage any roles you create with groups. Any changes you make to a role or its membership in Dremio are immediately overwritten by the next provisioning cycle from Microsoft Entra ID. Making changes in Dremio can result in synchronization errors.
1386
+
1387
+ ### Update User Attributes
1388
+
1389
+ With SCIM provisioning configured, updates to user attributes in Microsoft Entra ID are propagated to the user account in Dremio. Follow the instructions in the Microsoft documentation to [edit user profile information](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-manage-user-profile-info).
1390
+
1391
+ * **First name** and **Last name** attributes in Microsoft Entra ID are mapped to user accounts in Dremio. After you configure an application for SCIM provisioning in Microsoft Entra ID and assign users to it, you can change these user attributes in Microsoft Entra ID to update the corresponding user information in Dremio.
1392
+ * Microsoft Entra ID controls user **email addresses**. If a user's email address changes, you must create a new user in Microsoft Entra ID and assign them to the application for SCIM provisioning. Then, assign the new Microsoft Entra ID user to the SCIM application (either individually as a user or by adding them to an assigned group). Microsoft Entra ID creates a new Dremio user who can log in to Dremio with the new email address as a new user.
1393
+
1394
+ ### Deactivate Users
1395
+
1396
+ When you delete a user or group from the application for SCIM provisioning in Microsoft Entra ID, the affected users become inactive in Dremio and cannot log in to Dremio at all, whether with Microsoft Entra ID SSO or username and password.
1397
+
1398
+ To delete a user or group from your SCIM application in Microsoft Entra ID:
1399
+
1400
+ 1. In the [Azure portal](https://portal.azure.com/#home) under **Azure services**, click the **Microsoft Entra ID** tile.
1401
+ 2. In the left navigation menu under **Manage**, click **Enterprise applications**.
1402
+ 3. Find your SCIM application in the list and click the application's name.
1403
+ 4. In the left navigation menu under **Manage**, click **Users and groups**.
1404
+ 5. Click to select the checkbox for the user or group you want to remove.
1405
+ 6. Click **Remove**.
1406
+ 7. In the confirmation dialog, click **Yes**.
1407
+
1408
+ The users you deleted, whether individually or by their group membership, become inactive in Dremio. If you delete a group, Microsoft Entra ID automatically removes the group's corresponding role in Dremio.
1409
+
1410
+ If you delete a group in Microsoft Entra ID, the group's corresponding role is automatically removed in Dremio and the group members' Dremio user accounts are set to inactive. Deleting a Microsoft Entra ID group does not delete the group members' Dremio user accounts.
1411
+
1412
+ To completely delete Dremio users, you must [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user) in addition to deleting the users and any groups they belong to from the SCIM application in Microsoft Entra ID.
1413
+
1414
+ Was this page helpful?
1415
+
1416
+ * Prerequisites
1417
+ * Configure an Application for SSO
1418
+ + Assign People and Groups to the Microsoft Entra ID Application
1419
+ + Use Microsoft Entra ID SSO to Log in to Dremio
1420
+ + Revoke Microsoft Entra ID SSO Login for a User or Group
1421
+ * Configure Microsoft Entra ID with SCIM
1422
+ + Prerequisites
1423
+ + Configure an Application for SCIM Provisioning
1424
+ + Create Users
1425
+ + Create Roles
1426
+ + Update User Attributes
1427
+ + Deactivate Users
1428
+
1429
+ <div style="page-break-after: always;"></div>
1430
+
1431
+ # Generic OIDC | Dremio Documentation
1432
+
1433
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/idp/generic-oidc-provider
1434
+
1435
+ On this page
1436
+
1437
+ Dremio supports the generic [OpenID Connect (OIDC)](https://openid.net/) authentication protocol as an enterprise identity provider. OIDC provider administrators can register a Dremio application and use it to enable single sign-on (SSO) and allow users to log in using an OIDC provider as the trusted third party.
1438
+
1439
+ note
1440
+
1441
+ To configure Microsoft Entra ID or Okta as an identity provider, see:
1442
+
1443
+ * [Microsoft Entra ID as an Identity Provider](/dremio-cloud/security/authentication/idp/microsoft-entra-id)
1444
+ * [Okta as an Identity Provider](/dremio-cloud/security/authentication/idp/okta)
1445
+
1446
+ Dremio also allows you to use System for Cross-domain Identity Management (SCIM) provisioning to manage Dremio user access from your OIDC provider. After you configure your provider for OIDC SSO, refer to your OIDC provider's documentation to configure SCIM. See [SCIM with a Generic OpenID Connect Provider](/dremio-cloud/security/authentication/idp/generic-oidc-provider/#configure-a-generic-openid-connect-provider-with-scim) to use SCIM provisioning in Dremio.
1447
+
1448
+ ## Prerequisites
1449
+
1450
+ Configuring SSO in a generic OIDC provider requires:
1451
+
1452
+ * Privileges in the OIDC provider that permit you to add, configure, and register applications.
1453
+ * The CONFIGURE SECURITY [organization-level privilege](/dremio-cloud/security/privileges#organization-privileges) or membership in the [ADMIN role](/dremio-cloud/security/roles#admin).
1454
+
1455
+ ## Configure OIDC SSO
1456
+
1457
+ To configure OIDC SSO for Dremio users:
1458
+
1459
+ 1. **In Dremio**, on the organization page, click ![Settings](/images/icons/settings.png "Settings") on the left navigation bar, then select **Organization settings**.
1460
+ 2. Select **Authentication** in the organization settings sidebar.
1461
+ 3. Click **Add Provider** to open the Add Provider dialog.
1462
+ 4. In Step 1, select **OpenID Connect (OIDC)** from the dropdown menu.
1463
+ 5. Copy and save the **Redirect URL** listed in Step 2. The redirect URL is sensitive information and should be kept secure. You will need it to register the `Dremio` application in your OIDC provider portal in the next step.
1464
+ 6. **In your OIDC provider portal**, register `Dremio` as an application.
1465
+ 7. Copy and save the client ID and client secret for your OIDC provider. The client ID and client secret are sensitive information and should be kept secure. You will use them to configure authentication in Dremio later in this procedure.
1466
+ 8. Copy and save the `issuer` value from the OIDC configuration. You will use it to configure authentication in Dremio later in this procedure.
1467
+ 9. **In Dremio**, in Step 3 of the **Add Provider** dialog, enter the issuer URL, client ID, and client secret that you copied from your OIDC provider portal in the corresponding fields.
1468
+ 10. Click **Add**. After the page loads, you should see your OIDC provider in the **Enterprise** section.
1469
+ 11. Click the **Enabled** toggle to activate your OIDC provider.
1470
+
1471
+ OIDC as an enterprise identity provider is now configured. **Log in with SSO** appears in the list of login options for your Dremio users.
1472
+
1473
+ ### Use SSO to Log In to Dremio
1474
+
1475
+ Any user who is assigned to the `Dremio` application in your OIDC provider can log in with SSO immediately. To use SSO to log in to Dremio:
1476
+
1477
+ 1. Open the Dremio login page.
1478
+ 2. Type your email address in the **Email** field and click **Continue**.
1479
+ 3. If you belong to more than one Dremio organization, select the organization to log in to.
1480
+ 4. Click **Log in with SSO**.
1481
+ 5. When you are redirected to your OIDC provider for authentication, enter your username and password.
1482
+
1483
+ The OIDC provider authenticates your identity and redirects you to Dremio, which then logs you in.
1484
+
1485
+ To configure SCIM provisioning to manage access for Dremio users, see [SCIM with a Generic OpenID Connect Provider](/dremio-cloud/security/authentication/idp/generic-oidc-provider/#configure-a-generic-openid-connect-provider-with-scim).
1486
+
1487
+ ### Revoke SSO Login for a User or Group
1488
+
1489
+ To revoke users' access to SSO login for Dremio:
1490
+
1491
+ 1. In your OIDC provider's portal, navigate to the `Dremio` application.
1492
+ 2. Open the assignment settings for the `Dremio` application.
1493
+ 3. Find the user or group whose access you want to revoke and follow your OIDC provider's procedures to revoke access.
1494
+
1495
+ Starting immediately, the deactivated users cannot use OIDC SSO to log in to Dremio.
1496
+
1497
+ To completely delete Dremio users, you must also [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
1498
+
1499
+ ## Configure a Generic OpenID Connect Provider with SCIM
1500
+
1501
+ System for Cross-domain Identity Management (SCIM) automates the synchronization of user accounts between your identity provider (IdP) and Dremio, eliminating the need for manual user management. When configured, your IdP securely sends user credentials to Dremio via SCIM, automatically creating accounts for new users as needed. These users can then log in to Dremio according to your organization's authentication policies.
1502
+
1503
+ Before you can configure SCIM provisioning, you must configure a generic OIDC provider as an enterprise identity provider in Dremio. Follow the instructions in [Generic OpenID Connect Identity Provider](/dremio-cloud/security/authentication/idp/generic-oidc-provider) to integrate a `Dremio` application in a generic OIDC provider for single sign-on (SSO) in Dremio. When that is done, follow this guide to configure SCIM for secure user provisioning.
1504
+
1505
+ ### Prerequisites
1506
+
1507
+ Configuring SCIM provisioning requires:
1508
+
1509
+ * Privileges in your OIDC provider that permit you to register and configure applications.
1510
+ * The CONFIGURE SECURITY [organization-level privilege](/dremio-cloud/security/privileges#organization-privileges) or membership in the [ADMIN role](/dremio-cloud/security/roles#admin).
1511
+ * A Dremio [personal access token (PAT)](/dremio-cloud/security/authentication/personal-access-token/#create-a-pat) for a Dremio user who is a member of the ADMIN role.
1512
+
1513
+ ### Configure SCIM Provisioning
1514
+
1515
+ The steps required to configure and enable SCIM provisioning vary for different OIDC providers. Follow the instructions in your OIDC provider's documentation.
1516
+
1517
+ Use a Dremio [PAT](/dremio-cloud/security/authentication/personal-access-token/#create-a-pat) as the **API Token** or **Secret Token** value when you configure authentication for SCIM requests in your OIDC provider's portal.
1518
+
1519
+ US Control Plane
1520
+
1521
+ ```
1522
+ https://scim.dremio.cloud/scim/v2
1523
+ ```
1524
+
1525
+ EU Control Plane
1526
+
1527
+ ```
1528
+ https://scim.eu.dremio.cloud/scim/v2
1529
+ ```
1530
+
1531
+ After SCIM provisioning is configured and enabled, you can create users, update user attributes, and deactivate users in Dremio from your OIDC provider's portal.
1532
+
1533
+ ### Create Users
1534
+
1535
+ After you configure SCIM provisioning, Dremio automatically creates a new Dremio user account for anyone you assign to the `Dremio` application in your OIDC provider who does not already have an account. New Dremio users can log in to Dremio with SSO immediately, and administrators can [view their user accounts in Dremio](/dremio-cloud/admin/users#view-all-users).
1536
+
1537
+ * New users are automatically members of the PUBLIC role in Dremio.
1538
+ * User email addresses are controlled by your OIDC provider rather than Dremio. If a user's email address changes, you must create a new user in your OIDC provider and assign them to the `Dremio` application. Then, the user can use the new email address to log in to Dremio as a new user.
1539
+
1540
+ ### Update User Attributes
1541
+
1542
+ With SCIM provisioning configured, updates to user attributes in your OIDC provider are propagated to the user account in Dremio.
1543
+
1544
+ The first name and last name attributes are mapped to user accounts in Dremio. After you configure SCIM provisioning and allow user attributes to be updated, you can change these user attributes in your OIDC provider to update the corresponding user information in Dremio.
1545
+
1546
+ ### Deactivate Users
1547
+
1548
+ When you revoke a user or group in your OIDC provider, the affected users cannot use OIDC SSO to log in to Dremio. After you configure SCIM provisioning and deactivate users, they become inactive in Dremio and cannot log in to Dremio at all with SSO.
1549
+
1550
+ To completely delete Dremio users, you must also [manually remove their user accounts in Dremio](/dremio-cloud/admin/users/#remove-a-user).
1551
+
1552
+ ## Troubleshoot
1553
+
1554
+ This section describes some considerations about OIDC SSO and SCIM provisioning with the `Dremio` application in your OIDC provider.
1555
+
1556
+ * **SCIM provisioning**
1557
+ + Dremio does not allow username updates. If you change a user's username in your OIDC provider after the user is assigned to the `Dremio` application, the OIDC provider sends a request to update the username in Dremio. Dremio denies the request because Dremio username changes are not allowed.
1558
+ + Changing an existing user's primary email address in the OIDC provider has no effect on the user's account in Dremio. To permit a user to authenticate to Dremio with the new email address, add the user to your OIDC provider as a new person using the new email address. Then, assign the new user to the `Dremio` application (either individually as a person or by adding them to an assigned group). The OIDC provider creates a new Dremio user who can use SSO to log in to Dremio with the new email address.
1559
+ * **OIDC SSO**
1560
+ + Refer to your OIDC provider's documentation to ensure that you have privileges that permit you to add the `Dremio` application in your OIDC provider and configure OIDC SSO.
1561
+ + If you revoke a user's access to SSO login, the user can still log in to Dremio with their Dremio username and password. To completely delete the user so that they cannot log in to Dremio at all, you must [manually remove their user accounts in Dremio](/dremio-cloud/admin/users#remove-a-user).
1562
+
1563
+ Was this page helpful?
1564
+
1565
+ * Prerequisites
1566
+ * Configure OIDC SSO
1567
+ + Use SSO to Log In to Dremio
1568
+ + Revoke SSO Login for a User or Group
1569
+ * Configure a Generic OpenID Connect Provider with SCIM
1570
+ + Prerequisites
1571
+ + Configure SCIM Provisioning
1572
+ + Create Users
1573
+ + Update User Attributes
1574
+ + Deactivate Users
1575
+ * Troubleshoot
1576
+
1577
+ <div style="page-break-after: always;"></div>
1578
+
1579
+ # Prerequisites
1580
+
1581
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/app-authentication/oauth-apps
1582
+
1583
+ On this page
1584
+
1585
+ This topic describes how to configure OAuth applications to integrate third-party applications with Dremio. This allows Dremio and third-party applications to interact without exposing user login credentials. For example, an organization might use GitLab accounts to access Dremio. In the unlikely event of a Dremio data breach, the organization's login credentials would remain unaffected and protected.
1586
+
1587
+ Additional authentication and security measures are available in [Authentication](/dremio-cloud/security/authentication/).
1588
+
1589
+ * **Native** – Mobile, desktop, CLI, and smart device apps that run natively on their respective operating systems, such as iOS and Chrome OS.
1590
+ * **Single-Page Application (SPA)** – JavaScript-enabled, front-end applications that use an API, such as Angular, React, and Vue.
1591
+ * **Web** – Traditional web applications that utilize redirects, such as Java, PHP, and ASP.NET.
1592
+
1593
+ # Prerequisites
1594
+
1595
+ Before setting up OAuth applications, ensure you have:
1596
+
1597
+ * Dremio admin privileges or the CONFIGURE SECURITY privilege.
1598
+ * An OIDC-compliant Identity Provider (IDP) configured in Dremio if OAuth applications will rely on external authentication.
1599
+
1600
+ ## Add an OAuth App
1601
+
1602
+ To add a new OAuth application in Dremio:
1603
+
1604
+ 1. Click ![Settings](/images/icons/settings.png "Settings") on the left navigation bar and select **Organization settings**, then select **OAuth Applications**.
1605
+ 2. Click **Add Application** in the top-right corner of the screen.
1606
+ 3. Enter a value for **OAuth Application Name** to identify the associated service.
1607
+ 4. Enter a value for **Redirect URI**. This value is used as the destination for return responses (tokens) after successfully authenticating a user. If there is an issue with the provided URI's format, red text will display below the field to indicate the required format.
1608
+ 5. Select the desired **OAuth Application Type** from the dropdown menu. The type of application selected determines which authentication flow Dremio will follow. This cannot be changed after the application is added.
1609
+ 6. Click **Add** to create the application service. A success message will appear at the top of the screen.
1610
+
1611
+ Upon creating the application, the dialog will refresh with a new field: **Client ID**. Copy this value, as it is needed to link with the third-party OAuth application. Include this string where the **Client ID** is required by your respective OAuth application.
1612
+
1613
+ ## Edit an OAuth App
1614
+
1615
+ To edit an existing OAuth application in Dremio:
1616
+
1617
+ 1. Click ![Settings](/images/icons/settings.png "Settings") on the left navigation bar and select **Organization settings**, then select **OAuth Applications**.
1618
+ 2. Click the edit icon for the desired application.
1619
+ 3. Make any necessary changes to the application name or redirect URI. You cannot change the **Client ID** or **OAuth Application Type**.
1620
+ 4. Click **Save**.
1621
+
1622
+ Was this page helpful?
1623
+
1624
+ * Add an OAuth App
1625
+ * Edit an OAuth App
1626
+
1627
+ <div style="page-break-after: always;"></div>
1628
+
1629
+ # External Token Providers | Dremio Documentation
1630
+
1631
+ Original URL: https://docs.dremio.com/dremio-cloud/security/authentication/app-authentication/external-token
1632
+
1633
+ On this page
1634
+
1635
+ External token providers are OIDC identity providers that issue [JSON Web Tokens (JWTs)](https://jwt.io/introduction) when a user authenticates using an application client. After receiving a JWT from the external token provider, the client application uses [Dremio token exchange](/dremio-cloud/api/oauth-token/#exchange-an-external-jwt) to obtain an OAuth access token used to create connections to Dremio.
1636
+
1637
+ ![](/assets/images/token-flowchart-7badc94d022760d37f480ecb5fee43ec.png)
1638
+
1639
+ The OIDC external token provider does not need to be the same identity provider used by the Dremio console for single sign-on (SSO). The provider requires an application registration specifying the OAuth authorization flow to be used between the external token provider and the client to obtain the JWT that will be sent to Dremio.
1640
+
1641
+ This page outlines the steps for configuring an external token provider so Dremio can interpret and validate the JWTs issued by your provider.
1642
+
1643
+ The [OIDC specification](https://openid.net/specs/openid-connect-core-1_0.html#IDToken) describes the content of the JWT and the authorization process. Claims in a JWT contain information asserted about a subject. They are key/value pairs in which the key is a string, and the value can be any JSON type (a string, a number, a boolean, an array, or a JSON object).
1644
+
1645
+ Example: External JWT Claims from Microsoft Entra ID
1646
+
1647
+ ```
1648
+ {
1649
+ "aud": "0853fce0-c748-4c54-aa58-f5b9af279840",
1650
+ "iss": "https://login.microsoftonline.com/3e334762-b0c6-4c36-9faf-93800f0d6c71/v2.0",
1651
+ "upn": "gnarly@dremio.com"
1652
+ }
1653
+ ```
1654
+
1655
+ ## Prerequisites
1656
+
1657
+ Before setting up External Token Providers, ensure you have:
1658
+
1659
+ * Dremio admin privileges or the CONFIGURE SECURITY privilege.
1660
+ * An OIDC-compliant Identity Provider configured with an application registration for your client.
1661
+ * Access to the following information from your IDP:
1662
+ + **Audience** – Application ID or resource URI
1663
+ + **User claim mapping** – The claim containing the Dremio username
1664
+ + **Issuer URL** – Identity provider identification
1665
+ + **JWKS URL** – Optional location of public keys
1666
+
1667
+ ## Define an External Token Provider
1668
+
1669
+ Dremio requires the following configuration values from your OIDC identity provider.
1670
+
1671
+ tip
1672
+
1673
+ The examples below are specific to Microsoft Entra ID. Your identity provider may require additional configuration of a client application registration that depends on the OAuth authorization flow used between your client and your provider. To configure your application registration, consult your identity provider documentation.
1674
+
1675
+ ### Audience
1676
+
1677
+ The audience value identifies the intended recipients of the external JWT. It can generally be an array of case-sensitive strings or URI values. The audience is contained in the `aud` claim in the external JWT.
1678
+
1679
+ When using Microsoft Entra ID, the audience can be the Application ID assigned to your app in the Microsoft Entra ID portal or the resource URI. In v2.0 tokens, this value is always the [Application ID](https://learn.microsoft.com/en-us/entra/identity-platform/id-token-claims-reference). In v1.0 tokens, it can be the Application ID or the [resource URI](https://learn.microsoft.com/en-us/entra/identity-platform/access-token-claims-reference) used in the request, depending on how the client requested the token. Dremio supports v1.0 and v2.0 JWTs from Microsoft Entra ID.
1680
+
1681
+ Example Audience Claim with Microsoft Entra ID Application ID
1682
+
1683
+ ```
1684
+ "aud": "0853fce0-c748-4c54-aa58-f5b9af279840"
1685
+ ```
1686
+
1687
+ ### User Claim Mapping
1688
+
1689
+ The user claim mapping identifies the claim in the external JWT that contains the Dremio username.
1690
+
1691
+ When using Microsoft Entra ID authentication, Dremio usernames must align with the [User Principal Name (UPN)](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/plan-connect-userprincipalname#upn-in-microsoft-entra-id) claim for correct linking of user group memberships via the Azure Graph Client.
1692
+
1693
+ When a user is added to a Power BI workspace, the user's identity is also represented by the [User Principal Name (UPN)](https://learn.microsoft.com/en-us/answers/questions/1663403/upn-changing-when-adding-external-user-to-bi-works), which has the format of an email address.
1694
+
1695
+ The JWT contains the UPN claim, named `upn`, and its value.
1696
+
1697
+ Example: UPN Claim from Microsoft Entra ID
1698
+
1699
+ ```
1700
+ "upn": "gnarly@dremio.com"
1701
+ ```
1702
+
1703
+ The `user claim mapping` field of the external token provider requires the name of the claim used in the JWT, which in this case is `upn`.
1704
+
1705
+ ### Issuer URL
1706
+
1707
+ The issuer URL identifies the identity provider that issued the JWT. It is contained in the external JWT's `iss` claim. When using Microsoft Entra ID, [the issuer claim](https://learn.microsoft.com/en-us/entra/identity-platform/id-token-claims-reference) includes the Microsoft Entra ID tenant identifier. Only one external token provider in the system should use the combination of a given audience and issuer.
1708
+
1709
+ Example Issuer Claim with Microsoft Entra ID
1710
+
1711
+ ```
1712
+ "iss": "https://login.microsoftonline.com/3e334762-b0c6-4c36-9faf-93800f0d6c71/v2.0"
1713
+ ```
1714
+
1715
+ ### JWKS URL
1716
+
1717
+ The JWKS URL is an endpoint that hosts the [JWK Set (JWKS)](https://datatracker.ietf.org/doc/html/rfc7517), a set of public keys used for verifying the JWT signature. This value is optional; if you do not provide a JWKS URL value when configuring the external token provider, Dremio retrieves the JWKS URL from `{issuer URL}/.well-known/openid-configuration`.
1718
+
1719
+ For Microsoft Entra ID, the [JWKS URL](https://learn.microsoft.com/en-us/entra/identity-platform/access-tokens) is typically of the form `https://login.microsoftonline.com/{tenant_id}/discovery/v2.0/keys`.
1720
+
1721
+ Example: JWKS URL from Microsoft Entra ID
1722
+
1723
+ ```
1724
+ https://login.microsoftonline.com/58a43618-7933-4e0d-906e-1c1a2a867ad6/discovery/v2.0/keys
1725
+ ```
1726
+
1727
+ ## Manage External Token Providers
1728
+
1729
+ The Dremio administrator or a user with the [CONFIGURE SECURITY](/dremio-cloud/security/privileges#organization-privileges) privilege can view and manage external token providers in Dremio.
1730
+
1731
+ ### View External Token Providers
1732
+
1733
+ To view external token providers:
1734
+
1735
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") on the left navigation bar, and select **Organization settings**.
1736
+ 2. Click **External Token Providers**. The External Token Providers page lists the external token providers configured for Dremio.
1737
+
1738
+ ### Add an External Token Provider
1739
+
1740
+ To add an external token provider:
1741
+
1742
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar, and select **Organization settings**.
1743
+ 2. Click **External Token Providers**.
1744
+ 3. Click **Add Provider** at the top-right corner of the External Token Providers page.
1745
+ 4. In the Add Provider dialog, complete the configuration using the fields described in Define an External Token Provider.
1746
+ 5. Click **Add**.
1747
+
1748
+ When you add an external token provider, Dremio automatically enables it. To deactivate it, toggle the Enabled switch on the External Token Providers page.
1749
+
1750
+ Each external token provider must use a different combination of issuer and audience. If multiple external token providers share the same issuer and audience, authentication will fail regardless of whether the token providers are enabled.
1751
+
1752
+ ### Edit an External Token Provider
1753
+
1754
+ To edit an external token provider:
1755
+
1756
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar, and select **Organization settings**.
1757
+ 2. Click **External Token Providers**.
1758
+ 3. On the External Token Providers page, find the row for the external token provider you want to edit and click ![Edit](/images/icons/edit.png "Edit") at the right side of the row.
1759
+ 4. In the Edit Provider dialog, update the values using the fields described in Define an External Token Provider.
1760
+ 5. Click **Save**.
1761
+
1762
+ ### Delete an External Token Provider
1763
+
1764
+ To delete an external token provider:
1765
+
1766
+ 1. In the Dremio console, click ![Settings](/images/icons/settings.png "Settings") in the side navigation bar, and select **Organization settings**.
1767
+ 2. Click **External Token Providers**.
1768
+ 3. On the External Token Providers page, find the row for the external token provider you want to delete and click ![Delete](/images/icons/trash.png "Delete") at the right side of the row.
1769
+ 4. In the Delete External Provider dialog, click **Delete**.
1770
+
1771
+ ## Use the External Token Provider
1772
+
1773
+ ### Retrieve an External JWT
1774
+
1775
+ This sample application uses the [Microsoft Authentication Library](https://learn.microsoft.com/en-us/entra/identity-platform/msal-overview) to authenticate a user with the OAuth authorization code flow.
1776
+
1777
+ * `client_id` is the [Application (Client) ID](https://learn.microsoft.com/en-us/entra/identity-platform/msal-client-application-configuration#client-id) assigned to your app by Microsoft Entra ID when the app was registered.
1778
+ * `app_redirect_url` or [reply URL](https://learn.microsoft.com/en-us/entra/identity-platform/reply-url) is the location of the client app where Microsoft Entra ID sends an external JWT after the user has successfully logged in, such as `https://myapp.com/auth/callback` or `http://localhost:3000/auth/callback`. The redirect URI is defined in the Microsoft Entra ID application registration for the client.
1779
+ * `dremio_scope_name` is the [API scope](https://learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc) you defined for the client in the Microsoft Entra ID application profile. Dremio requires a scope of `dremio.all` in token exchange, regardless of the scope configured in the application registration.
1780
+ * `tenant_id` is your Microsoft Entra ID [tenant identifier](https://learn.microsoft.com/en-us/sharepoint/find-your-office-365-tenant-id).
1781
+
1782
+ Example: Retrieving a Microsoft JWT
1783
+
1784
+ ```
1785
+ import msal
1786
+
1787
+ client_id = "TODO"
1788
+ app_redirect_url = "TODO"
1789
+ dremio_scope_name = "TODO"
1790
+ tenant_id = "TODO"
1791
+
1792
+ authority_url = "https://login.microsoftonline.com/" + tenant_id
1793
+ app = msal.PublicClientApplication(client_id, authority=authority_url)
1794
+ auth_code_flow = app.initiate_auth_code_flow(
1795
+ scopes=[dremio_scope_name],
1796
+ redirect_uri=app_redirect_url
1797
+ ) # PKCE is included in the MSAL Python library
1798
+
1799
+ state = auth_code_flow['state']
1800
+
1801
+ authorization_code = "TODO: retrieved from the browser"
1802
+
1803
+ external_access_token = ""
1804
+
1805
+ if authorization_code:
1806
+ auth_result = app.acquire_token_by_auth_code_flow(
1807
+ auth_code_flow=auth_code_flow,
1808
+ auth_response={"code": authorization_code, "state": state}
1809
+ )
1810
+ if "access_token" in auth_result:
1811
+ external_access_token = auth_result["access_token"]
1812
+ else:
1813
+ print("Error: no access token")
1814
+ if "refresh_token" in auth_result:
1815
+ refresh_token = auth_result["refresh_token"]
1816
+ else:
1817
+ print("Error: no refresh token")
1818
+ else:
1819
+ print("Error: no auth code")
1820
+ ```
1821
+
1822
+ ### Exchange a JWT
1823
+
1824
+ The client must use the Dremio `/oauth/token` REST API to [exchange the JWT for an OAuth access token](/dremio-cloud/api/oauth-token#exchange-an-external-jwt).
1825
+
1826
+ Was this page helpful?
1827
+
1828
+ * Prerequisites
1829
+ * Define an External Token Provider
1830
+ + Audience
1831
+ + User Claim Mapping
1832
+ + Issuer URL
1833
+ + JWKS URL
1834
+ * Manage External Token Providers
1835
+ + View External Token Providers
1836
+ + Add an External Token Provider
1837
+ + Edit an External Token Provider
1838
+ + Delete an External Token Provider
1839
+ * Use the External Token Provider
1840
+ + Retrieve an External JWT
1841
+ + Exchange a JWT
1842
+
1843
+ <div style="page-break-after: always;"></div>
1844
+