Authentication configuration for Kafka Connect.
accessToken
object
Link to Kubernetes Secret containing the access token which was obtained from the authorization server.
key
string required
The key under which the secret value is stored in the Kubernetes Secret.
secretName
string required
The name of the Kubernetes Secret containing the secret value.
accessTokenIsJwt
boolean
Configure whether access token should be treated as JWT. This should be set to `false` if the authorization server returns opaque tokens. Defaults to `true`.
accessTokenLocation
string
Path to the token file containing an access token to be used for authentication.
audience
string
OAuth audience to use when authenticating against the authorization server. Some authorization servers require the audience to be explicitly set. The possible values depend on how the authorization server is configured. By default, `audience` is not specified when performing the token endpoint request.
certificateAndKey
object
Reference to the `Secret` which holds the certificate and private key pair.
certificate
string required
The name of the file certificate in the Secret.
key
string required
The name of the private key in the secret. The private key must be in unencrypted PKCS #8 format. For more information, see RFC 5208: https://datatracker.ietf.org/doc/html/rfc5208.
secretName
string required
The name of the Secret containing the certificate.
clientAssertion
object
Link to Kubernetes secret containing the client assertion which was manually configured for the client.
key
string required
The key under which the secret value is stored in the Kubernetes Secret.
secretName
string required
The name of the Kubernetes Secret containing the secret value.
clientAssertionLocation
string
Path to the file containing the client assertion to be used for authentication.
clientAssertionType
string
The client assertion type. If not set, and either `clientAssertion` or `clientAssertionLocation` is configured, this value defaults to `urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.
clientId
string
OAuth Client ID which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI.
clientSecret
object
Link to Kubernetes Secret containing the OAuth client secret which the Kafka client can use to authenticate against the OAuth server and use the token endpoint URI.
key
string required
The key under which the secret value is stored in the Kubernetes Secret.
secretName
string required
The name of the Kubernetes Secret containing the secret value.
config
object
Configuration for the custom authentication mechanism. Only properties with the `sasl.` and `ssl.keystore.` prefixes are allowed. Specify other options in the regular configuration section of the custom resource.
connectTimeoutSeconds
integer
The connect timeout in seconds when connecting to authorization server. If not set, the effective connect timeout is 60 seconds.
disableTlsHostnameVerification
boolean
Enable or disable TLS hostname verification. Default value is `false`.
enableMetrics
boolean
Enable or disable OAuth metrics. Default value is `false`.
grantType
string
A custom OAuth grant type to use when authenticating against the authorization server with `clientId` and one of `clientSecret` or `clientAssertion`. The value defaults to `client_credentials` in these cases. This is optional configuration, only used with custom authorization server implementations.
httpRetries
integer
The maximum number of retries to attempt if an initial HTTP request fails. If not set, the default is to not attempt any retries.
httpRetryPauseMs
integer
The pause to take before retrying a failed HTTP request. If not set, the default is to not pause at all but to immediately repeat a request.
includeAcceptHeader
boolean
Whether the Accept header should be set in requests to the authorization servers. The default value is `true`.
maxTokenExpirySeconds
integer
Set or limit time-to-live of the access tokens to the specified number of seconds. This should be set if the authorization server returns opaque tokens.
passwordSecret
object
Reference to the `Secret` which holds the password.
password
string required
The name of the key in the Secret under which the password is stored.
secretName
string required
The name of the Secret containing the password.
readTimeoutSeconds
integer
The read timeout in seconds when connecting to authorization server. If not set, the effective read timeout is 60 seconds.
refreshToken
object
Link to Kubernetes Secret containing the refresh token which can be used to obtain access token from the authorization server.
key
string required
The key under which the secret value is stored in the Kubernetes Secret.
secretName
string required
The name of the Kubernetes Secret containing the secret value.
sasl
boolean
Enable or disable SASL on this authentication mechanism.
saslExtensions
object
SASL extensions parameters.
scope
string
OAuth scope to use when authenticating against the authorization server. Some authorization servers require this to be set. The possible values depend on how authorization server is configured. By default `scope` is not specified when doing the token endpoint request.
tlsTrustedCertificates
[]object
Trusted certificates for TLS connection to the OAuth server.
certificate
string
The name of the file certificate in the secret.
pattern
string
Pattern for the certificate files in the secret. Use the link:https://en.wikipedia.org/wiki/Glob_(programming)[_glob syntax_] for the pattern. All files in the secret that match the pattern are used.
secretName
string required
The name of the Secret containing the certificate.
tokenEndpointUri
string
Authorization server token endpoint URI.
type
string required
Specifies the authentication type. Supported types are `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, 'oauth', and `custom`. `tls` uses TLS client authentication and is supported only over TLS connections. `scram-sha-256` and `scram-sha-512` use SASL SCRAM-SHA-256 and SASL SCRAM-SHA-512 authentication, respectively. `plain` uses SASL PLAIN authentication. `oauth` uses SASL OAUTHBEARER authentication. `custom` allows you to configure a custom authentication mechanism. As of Strimzi 0.49.0, `oauth` type is deprecated and will be removed in the `v1` API version. Please use `custom` type instead.
enum: tls, scram-sha-256, scram-sha-512, plain, oauth, custom
username
string
Username used for the authentication.