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
[#9564] feat(flink): Flink connector supports user authentication (#9565)
### What changes were proposed in this pull request?
Flink connector supports user authentication.
### Why are the changes needed?
Fix: #9564
### Does this PR introduce _any_ user-facing change?
Add the documents.
### How was this patch tested?
Add integration tests.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| table.catalog-store.gravitino.gravitino.client.auth.type | string | (none) | When explicitly set, only `oauth` is supported. If unset, Flink selects Kerberos or simple authentication based on its security settings. | No | 1.2.0 |
15
+
16
+
## Simple mode
17
+
18
+
In simple mode, the username originates from Flink. The resolution order is:
19
+
1.`HADOOP_USER_NAME` environment variable
20
+
2. The logged-in OS user
21
+
22
+
## OAuth2 mode
23
+
24
+
In OAuth2 mode, configure the following settings to fetch an OAuth2 token to access the Gravitino server:
25
+
26
+
| Property | Type | Default Value | Description | Required | Since Version |
| table.catalog-store.gravitino.gravitino.client.oauth2.serverUri | string | (none) | The OAuth2 server URI. | Yes, for OAuth2 mode | 1.2.0 |
29
+
| table.catalog-store.gravitino.gravitino.client.oauth2.tokenPath | string | (none) | The token endpoint path on the OAuth2 server. | Yes, for OAuth2 mode | 1.2.0 |
30
+
| table.catalog-store.gravitino.gravitino.client.oauth2.credential | string | (none) | The credential used to request the OAuth2 token. | Yes, for OAuth2 mode | 1.2.0 |
31
+
| table.catalog-store.gravitino.gravitino.client.oauth2.scope | string | (none) | The scope used to request the OAuth2 token. | Yes, for OAuth2 mode | 1.2.0 |
In Kerberos mode, use Flink security configurations to obtain a Kerberos ticket for accessing the Gravitino server. Configure `security.kerberos.login.principal` and `security.kerberos.login.keytab` for the Kerberos principal and keytab.
49
+
50
+
The Gravitino server principal follows the pattern `HTTP/$host@$realm`; ensure `$host` matches the host specified in the Gravitino server URI. Ensure `krb5.conf` is available to Flink, for example via `-Djava.security.krb5.conf=/path/to/krb5.conf` in Flink JVM options.
0 commit comments