You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: fix two incorrect Kernel claims in CONNECTION_PARAMETERS.md
Two rows disagreed with the code:
- `_tls_client_cert_key_password`: documented as honored on Kernel (✅),
but the kernel path raises `NotSupportedError` when it is set
(`_kernel_tls_kwargs`, src/databricks/sql/backend/kernel/client.py) — the
kernel has no surface for an encrypted client key. Marked ❌ and noted the
workaround (unencrypted key, or Thrift). Also caveated the section callout,
which had claimed all TLS options are honored on both backends.
- `username` / `password`: the "raises `ValueError`" note is Thrift-only.
That error is raised inside `get_python_sql_connector_auth_provider`
(src/databricks/sql/auth/auth.py), which the kernel path never calls, so on
Kernel the params are silently ignored rather than rejected.
Doc-only change.
Co-authored-by: Isaac
Copy file name to clipboardExpand all lines: CONNECTION_PARAMETERS.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,7 @@ to change without notice.
85
85
|`azure_client_id` / `azure_client_secret` / `azure_tenant_id`|`str`| ✅ | ✅ |`None`| Azure service-principal (Entra ID M2M), selected by `auth_type="azure-sp-m2m"`. On the kernel path the connector forwards these to the kernel, which owns Azure resolution (Entra v2.0 token endpoint + the Databricks-resource `.default` scope) (#919). **`azure_tenant_id` is optional on the kernel path too** — like Thrift, the kernel auto-discovers it from the workspace's `/aad/auth` redirect when omitted. |
86
86
|`azure_workspace_resource_id`|`str`| ✅ | ✅ |`None`| For `azure-sp-m2m`. When set, the SP **management token** (`X-Databricks-Azure-SP-Management-Token`) + `X-Databricks-Azure-Workspace-Resource-Id` header are sent, to authorize an SP that has an Azure RBAC role but is not a workspace member. Omit it for a workspace-member SP (the data token authenticates alone; no management token is fetched). Works on both the kernel and Thrift paths. |
87
87
|`_use_cert_as_auth` (+ `_tls_client_cert_file`) |`bool`| ✅ | ❌ |`False`| Authenticate with a TLS client certificate instead of a token. Thrift-only. |
88
-
|`username` / `password`|`str`| ❌ | ❌ |`None`|**Removed.** Basic auth is no longer supported; passing either raises `ValueError`. |
88
+
|`username` / `password`|`str`| ❌ | ❌ |`None`|**Removed.** Basic auth is no longer supported. On **Thrift**, passing either raises `ValueError`; on the **kernel** path it is silently ignored (the Thrift auth provider that raises is never built). |
89
89
90
90
## HTTP client, proxy, retries
91
91
@@ -117,8 +117,9 @@ to change without notice.
117
117
118
118
> TLS options are assembled into a single `SSLOptions` object in `session.py`
119
119
> and passed to **every** backend, so they are honored on both Thrift and
120
-
> Kernel. Verification is **on by default**; you must pass `_tls_no_verify=True`
121
-
> to disable it.
120
+
> Kernel — with one exception: `_tls_client_cert_key_password` is **not**
121
+
> supported on the kernel path (see below). Verification is **on by default**;
122
+
> you must pass `_tls_no_verify=True` to disable it.
122
123
123
124
| Option | Type | Thrift | Kernel | Default Value | Note |
|`_tls_client_cert_key_file`|`str`| ✅ | ✅ |`None`| Private key for the client certificate. |
130
-
|`_tls_client_cert_key_password`|`str`| ✅ |✅|`None`| Password for an encrypted client-key file. |
131
+
|`_tls_client_cert_key_password`|`str`| ✅ |❌|`None`| Password for an encrypted client-key file. **Kernel rejects this** with `NotSupportedError` — the kernel has no surface for an encrypted client key today; pass an unencrypted PEM key, or use the Thrift backend.|
0 commit comments