Skip to content

Commit 80da60e

Browse files
committed
DX-98836: add support for EntraID authentication for azureStorage
Change-Id: I55de7a4f0265e2e5d728872c050af35e29204a07
1 parent 9f71ffd commit 80da60e

3 files changed

Lines changed: 84 additions & 9 deletions

File tree

charts/dremio_v2/config/core-site.xml

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -154,12 +154,7 @@
154154
<property>
155155
<name>dremio.azure.account</name>
156156
<description>The name of the storage account.</description>
157-
<value>{{required "Azure storage account name required" $.Values.distStorage.azureStorage.accountName }}</value>
158-
</property>
159-
<property>
160-
<name>dremio.azure.key</name>
161-
<description>The shared access key for the storage account.</description>
162-
<value>{{ required "Shared access key required" $.Values.distStorage.azureStorage.credentials.accessKey }}</value>
157+
<value>{{ required "Azure storage account name required" $.Values.distStorage.azureStorage.accountName }}</value>
163158
</property>
164159
<property>
165160
<name>dremio.azure.mode</name>
@@ -171,6 +166,41 @@
171166
<description>Boolean option to enable SSL connections.</description>
172167
<value>True</value>
173168
</property>
169+
{{- if eq $.Values.distStorage.azureStorage.authentication "accessKey" -}}
170+
<property>
171+
<name>dremio.azure.credentialsType</name>
172+
<description>The credentials used for authentication.</description>
173+
<value>ACCESS_KEY</value>
174+
</property>
175+
<property>
176+
<name>dremio.azure.key</name>
177+
<description>The shared access key for the storage account.</description>
178+
<value>{{ required "Shared access key required" $.Values.distStorage.azureStorage.credentials.accessKey }}</value>
179+
</property>
180+
{{- else if eq $.Values.distStorage.azureStorage.authentication "entraID" -}}
181+
<property>
182+
<name>dremio.azure.credentialsType</name>
183+
<description>The credentials used for authentication.</description>
184+
<value>AZURE_ACTIVE_DIRECTORY</value>
185+
</property>
186+
<property>
187+
<name>dremio.azure.clientId</name>
188+
<description>The Application (client) ID of the Azure application used to secure access to Azure Storage</description>
189+
<value>{{ required "Application client ID required" $.Values.distStorage.azureStorage.credentials.clientId }}</value>
190+
</property>
191+
<property>
192+
<name>dremio.azure.tokenEndpoint</name>
193+
<description>OAuth 2.0 token endpoint V1.0 for Microsoft EntraID</description>
194+
<value>{{ required "EntraID token endpoint required" $.Values.distStorage.azureStorage.credentials.tokenEndpoint }}</value>
195+
</property>
196+
<property>
197+
<name>dremio.azure.clientSecret</name>
198+
<description>The Application (client) secret of the Azure application used to secure access to Azure Storage</description>
199+
<value>{{ required "Azure Application client secret required" $.Values.distStorage.azureStorage.credentials.clientSecret }}</value>
200+
</property>
201+
{{- else -}}
202+
{{ fail "Unrecognized Azure authentication mode." }}
203+
{{- end -}}
174204
{{- if $.Values.distStorage.azureStorage.extraProperties -}}
175205
{{- $.Values.distStorage.azureStorage.extraProperties | nindent 4 }}
176206
{{- end -}}

charts/dremio_v2/docs/Values-Reference.md

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1627,13 +1627,48 @@ Dremio will write to the root path of the provided Azure Storage blob container.
16271627

16281628
#### Credentials for Azure Storage Gen2
16291629

1630+
##### `distStorage.azureStorage.authentication`
1631+
1632+
Type: String
1633+
1634+
Dremio supports authentication using an access key or Microsoft EntraID.
1635+
1636+
The valid values for `distStorage.azureStorage.authentication` are `accessKey` or `entraID`.
1637+
1638+
By default, this value is set to `accessKey`.
1639+
16301640
##### `distStorage.azureStorage.credentials.accessKey`
16311641

16321642
Type: String
16331643

16341644
By default, this value is set to `Azure Storage Account Access Key` and must be changed to a valid access key.
16351645

1636-
For Dremio to authenticate to the provided Azure Storage blob container, provide a valid access key.
1646+
For Dremio to authenticate to the provided Azure Storage blob container via access key, provide a valid access key.
1647+
1648+
##### `distStorage.azureStorage.credentials.clientId`
1649+
1650+
Type: String
1651+
1652+
By default, this value is set to `Azure Application Client ID` and must be changed to a valid application client ID.
1653+
1654+
For Dremio to authenticate to the provided Azure Storage blob container via Entra ID, provide a valid application client ID.
1655+
1656+
##### `distStorage.azureStorage.credentials.tokenEndpoint`
1657+
1658+
Type: String
1659+
1660+
By default, this value is set to `Azure Entra ID Token Endpoint` and must be changed to a valid token endpoint.
1661+
1662+
For Dremio to authenticate to the provided Azure Storage blob container via Entra ID, provide a valid token endpoint.
1663+
1664+
##### `distStorage.azureStorage.credentials.clientSecret`
1665+
1666+
Type: String
1667+
1668+
By default, this value is set to `Azure Application Client Secret` and must be changed to a valid client secret.
1669+
1670+
For Dremio to authenticate to the provided Azure Storage blob container via Entra ID, provide a valid client secret.
1671+
16371672

16381673
#### Advanced Configuration for Azure Storage Gen2
16391674

charts/dremio_v2/values.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,7 @@ distStorage:
362362
# local: (<21.0.0 only) Not recommended for production use. When using local, dist-caching is disabled.
363363
# aws: AWS S3, additional parameters required, see "aws" section.
364364
# azure: ADLS Gen 1, additional parameters required, see "azure" section.
365-
# azureStorage: Azure Storage Gen2, additional paramters required, see "azureStorage" section.
365+
# azureStorage: Azure Storage Gen2, additional parameters required, see "azureStorage" section.
366366
# gcp: Google Cloud Storage, additional parameters required, see "gcp" section.
367367
type: "local"
368368

@@ -468,15 +468,25 @@ distStorage:
468468
# https://docs.dremio.com/deployment/dist-store-config.html#azure-storage
469469
#
470470
# accountName: The name of the storage account.
471+
# authentication: Valid types are: accessKey or entraID
471472
# filesystem: The name of the blob container to use within the storage account.
472473
# path: The path, relative to the filesystem, to create Dremio's directories.
473474
# credentials:
474475
azureStorage:
475476
accountName: "Azure Storage Account Name"
477+
authentication: "accessKey"
476478
filesystem: "Azure Storage Account Blob Container"
477479
path: "/"
478480
credentials:
479-
accessKey: "Azure Storage Account Access Key"
481+
# If using accessKey for authentication against Azure Storage, uncomment the lines below and use the values
482+
# to configure the appropriate credentials.
483+
#accessKey: "Azure Storage Account Access Key"
484+
485+
# If using entraID for authentication against Azure Storage, uncomment the lines below and use the values
486+
# to configure the appropriate credentials.
487+
#clientId: "Azure Application Client ID"
488+
#tokenEndpoint: "Azure Entra ID Token Endpoint"
489+
#clientSecret: "Azure Application Client Secret"
480490

481491
# Extra Properties
482492
# Use the extra properties block to provide additional parameters to configure the distributed

0 commit comments

Comments
 (0)