Spark connector supports simple oauth2 and kerberos authentication when accessing Gravitino server.
| Property | Type | Default Value | Description | Required | Since Version |
|---|---|---|---|---|---|
| spark.sql.gravitino.authType | string | simple | The authentication mechanisms when communicating with Gravitino server, supports simple, oauth2 and kerberos. | No | 0.7.0-incubating |
In the simple mode, the username originates from Spark, and is obtained using the following sequences:
SPARK_USERHADOOP_USER_NAMEIn the OAuth2 mode, you could use the following configuration to fetch an OAuth2 token to access Gravitino server.
| Property | Type | Default Value | Description | Required | Since Version |
|---|---|---|---|---|---|
| spark.sql.gravitino.oauth2.serverUri | string | None | The OAuth2 server uri address. | Yes, for OAuth2 mode | 0.7.0-incubating |
| spark.sql.gravitino.oauth2.tokenPath | string | None | The path of token interface in OAuth2 server. | Yes, for OAuth2 mode | 0.7.0-incubating |
| spark.sql.gravitino.oauth2.credential | string | None | The credential to request the OAuth2 token. | Yes, for OAuth2 mode | 0.7.0-incubating |
| spark.sql.gravitino.oauth2.scope | string | None | The scope to request the OAuth2 token. | Yes, for OAuth2 mode | 0.7.0-incubating |
In kerberos mode, you could use the Spark kerberos configuration to fetch a kerberos ticket to access Gravitino server, use spark.kerberos.principal, spark.kerberos.keytab to specify kerberos principal and keytab.
The principal of Gravitino server is like HTTP/$host@$realm, please keep the $host consistent with the host in Gravitino server uri address. Please make sure krb5.conf is accessible by Spark, like by specifying the configuration spark.driver.extraJavaOptions="-Djava.security.krb5.conf=/xx/krb5.conf".