diff --git a/crates/iceberg/src/io/storage_azdls.rs b/crates/iceberg/src/io/storage_azdls.rs index c3daa4f5b..fe12167f6 100644 --- a/crates/iceberg/src/io/storage_azdls.rs +++ b/crates/iceberg/src/io/storage_azdls.rs @@ -49,6 +49,11 @@ pub const ADLS_CLIENT_ID: &str = "adls.client-id"; /// The client-secret. pub const ADLS_CLIENT_SECRET: &str = "adls.client-secret"; +/// The authority host of the service principal. +/// - required for client_credentials authentication +/// - default value: `https://login.microsoftonline.com` +pub const ADLS_AUTHORITY_HOST: &str = "adls.authority-host"; + /// Parses adls.* prefixed configuration properties. pub(crate) fn azdls_config_parse(mut properties: HashMap) -> Result { let mut config = AzdlsConfig::default(); @@ -84,6 +89,10 @@ pub(crate) fn azdls_config_parse(mut properties: HashMap) -> Res config.client_secret = Some(client_secret); } + if let Some(authority_host) = properties.remove(ADLS_AUTHORITY_HOST) { + config.authority_host = Some(authority_host); + } + Ok(config) }