Skip to content

Commit 2efcb74

Browse files
kbatuigasJakeSCahillFeediver1micheleRPweeco
authored
New Iceberg catalog authentication properties (#1054)
Co-authored-by: Jake Cahill <[email protected]> Co-authored-by: Joyce Fee <[email protected]> Co-authored-by: Joyce Fee <[email protected]> Co-authored-by: JakeSCahill <[email protected]> Co-authored-by: Michele Cyran <[email protected]> Co-authored-by: Martin Schneppenheim <[email protected]> Co-authored-by: hyperlint-ai[bot] <154288675+hyperlint-ai[bot]@users.noreply.github.com> Co-authored-by: David Yu <[email protected]> Co-authored-by: Angela Simms <[email protected]> Co-authored-by: Rogger Vasquez <[email protected]> Co-authored-by: Yaniv Ben Hemo <[email protected]> Co-authored-by: Paulo Borges <[email protected]> Co-authored-by: Bill Chambers <[email protected]> Co-authored-by: Stephan Dollberg <[email protected]> Co-authored-by: Willem Kaufmann <[email protected]> Co-authored-by: Andrew Stucki <[email protected]> Co-authored-by: Chris Seto <[email protected]> Co-authored-by: Suslik Da-Rete <[email protected]>
1 parent 19479ea commit 2efcb74

File tree

3 files changed

+19
-8
lines changed

3 files changed

+19
-8
lines changed

modules/manage/pages/iceberg/redpanda-topics-iceberg-snowflake-catalog.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ To configure your Redpanda cluster to enable Iceberg on a topic and integrate wi
6565
iceberg_enabled: true
6666
iceberg_catalog_type: rest
6767
iceberg_rest_catalog_endpoint: https://<snowflake-orgname>-<open-catalog-account-name>.snowflakecomputing.com/polaris/api/catalog
68+
iceberg_rest_catalog_authentication_mode: oauth2
6869
iceberg_rest_catalog_client_id: <open-catalog-connection-client-id>
6970
iceberg_rest_catalog_client_secret: <open-catalog-connection-client-secret>
7071
iceberg_rest_catalog_prefix: <open-catalog-name>

modules/manage/partials/iceberg/use-iceberg-catalogs.adoc

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,17 @@ To connect to a REST catalog, set the following cluster configuration properties
2020

2121
* config_ref:iceberg_catalog_type,true,properties/cluster-properties[`iceberg_catalog_type`]: `rest`
2222
* config_ref:iceberg_rest_catalog_endpoint,true,properties/cluster-properties[`iceberg_rest_catalog_endpoint`]: The endpoint URL for your Iceberg catalog, which you either manage directly, or is managed by an external catalog service.
23-
* config_ref:iceberg_rest_catalog_client_id,true,properties/cluster-properties[`iceberg_rest_catalog_client_id`]: The ID to connect to the REST catalog.
24-
* config_ref:iceberg_rest_catalog_client_secret,true,properties/cluster-properties[`iceberg_rest_catalog_client_secret`]: The secret data to connect to the REST catalog.
23+
* config_ref:iceberg_rest_catalog_authentication_mode,true,properties/cluster-properties[`iceberg_rest_catalog_authentication_mode`]: The authentication mode to use for the REST catalog. Choose from `oauth2`, `bearer`, or `none` (default).
24+
** For `oauth2`, also configure the following properties:
25+
+
26+
--
27+
* config_ref:iceberg_rest_catalog_oauth2_server_uri,true,properties/cluster-properties[`iceberg_rest_catalog_oauth2_server_uri`]: The OAuth endpoint URI used to retrieve tokens for REST catalog authentication. If left unset, the deprecated catalog endpoint `/v1/oauth/tokens` is used as the token endpoint instead.
28+
* config_ref:iceberg_rest_catalog_client_id,true,properties/cluster-properties[`iceberg_rest_catalog_client_id`]: The ID used to query the OAuth token endpoint for REST catalog authentication.
29+
* config_ref:iceberg_rest_catalog_client_secret,true,properties/cluster-properties[`iceberg_rest_catalog_client_secret`]: The secret used with the client ID to query the OAuth token endpoint for REST catalog authentication.
30+
--
31+
** For `bearer`, configure the config_ref:iceberg_rest_catalog_token,true,properties/cluster-properties[`iceberg_rest_catalog_token`] property with your bearer token.
32+
+
33+
Redpanda uses the bearer token unconditionally and does not attempt to refresh the token. Only use the bearer authentication mode for ad hoc or testing purposes.
2534
2635
For REST catalogs that use self-signed certificates, also configure these properties:
2736

@@ -37,9 +46,10 @@ For example, if you have Redpanda cluster configuration properties set to connec
3746
[,yaml]
3847
----
3948
iceberg_catalog_type: rest
40-
iceberg_rest_catalog_endpoint: http://catalog-service:8181
41-
iceberg_rest_catalog_client_id: <rest-connection-user>
42-
iceberg_rest_catalog_client_secret: <rest-connection-password>
49+
iceberg_rest_catalog_endpoint: http://catalog-service:8181
50+
iceberg_rest_catalog_authentication_mode: oauth2
51+
iceberg_rest_catalog_client_id: <rest-connection-id>
52+
iceberg_rest_catalog_client_secret: <rest-connection-secret>
4353
----
4454

4555
And you use Apache Spark as a processing engine, configured to use a catalog named `streaming`:

modules/reference/pages/properties/cluster-properties.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1898,7 +1898,7 @@ The authentication mode for client requests made to the Iceberg catalog. Choose
18981898

18991899
=== iceberg_rest_catalog_client_id
19001900

1901-
Iceberg REST catalog user ID. This ID is used to query the catalog API for the OAuth token. Required if catalog type is set to `rest`.
1901+
The client ID used to query the REST catalog API for the OAuth token. Required if catalog type is set to `rest`.
19021902

19031903
*Requires restart:* Yes
19041904

@@ -1918,7 +1918,7 @@ Iceberg REST catalog user ID. This ID is used to query the catalog API for the O
19181918

19191919
=== iceberg_rest_catalog_client_secret
19201920

1921-
Secret to authenticate against Iceberg REST catalog. Required if catalog type is set to `rest` and `iceberg_rest_catalog_authentication_mode` is set to `oauth2`.
1921+
Secret used with the client ID to query the OAuth token endpoint for Iceberg REST catalog authentication. Required if catalog type is set to `rest` and `iceberg_rest_catalog_authentication_mode` is set to `oauth2`.
19221922

19231923
*Requires restart:* Yes
19241924

@@ -1992,7 +1992,7 @@ URL of Iceberg REST catalog endpoint.
19921992

19931993
=== iceberg_rest_catalog_oauth2_server_uri
19941994

1995-
The OAuth URI used to retrieve access tokens for Iceberg catalog authentication. If left undefined, the deprecated Iceberg catalog endpoint `/v1/oauth/tokens` is used instead.
1995+
The OAuth URI used to retrieve access tokens for Iceberg REST catalog authentication. If left undefined, the deprecated Iceberg catalog endpoint `/v1/oauth/tokens` is used instead.
19961996

19971997
*Requires restart:* Yes
19981998

0 commit comments

Comments
 (0)