78장. KafkaClientAuthenticationOAuth schema reference
사용 위치: KafkaBridgeSpec, KafkaConnectSpec, KafkaMirrorMaker2ClusterSpec, KafkaMirrorMakerConsumerSpec, KafkaMirrorMakerProducerSpec
KafkaClientAuthenticationOAuth 스키마 속성의 전체 목록
OAuth 클라이언트 인증을 구성하려면 type 속성을 oauth 로 설정합니다.
OAuth 인증은 다음 옵션 중 하나를 사용하여 구성할 수 있습니다.
- 클라이언트 ID 및 시크릿
- 클라이언트 ID 및 새로 고침 토큰
- 액세스 토큰
- 사용자 이름 및 암호
- TLS
클라이언트 ID 및 시크릿
tokenEndpointUri 속성에서 권한 부여 서버의 주소를 인증에 사용되는 클라이언트 ID 및 클라이언트 시크릿과 함께 구성할 수 있습니다. OAuth 클라이언트는 OAuth 서버에 연결하고, 클라이언트 ID 및 시크릿을 사용하여 인증하며 Kafka 브로커로 인증하는 데 사용할 액세스 토큰을 가져옵니다. client 속성에서 클라이언트 보안이 포함된 보안에 대한 링크를 지정합니다.
Secret
클라이언트 ID 및 클라이언트 시크릿을 사용한 OAuth 클라이언트 인증의 예
필요한 경우 범위 및 대상 을 선택적으로 지정할 수 있습니다.
클라이언트 ID 및 새로 고침 토큰
OAuth 클라이언트 ID 및 새로 고침 토큰과 함께 tokenEndpointUri 속성에서 OAuth 서버의 주소를 구성할 수 있습니다. OAuth 클라이언트는 OAuth 서버에 연결하고, 클라이언트 ID 및 새로 고침 토큰을 사용하여 인증하고 Kafka 브로커로 인증하는 데 사용할 액세스 토큰을 가져옵니다. refreshToken 속성에서 새로 고침 토큰이 포함된 보안에 대한 링크를 지정합니다.
클라이언트 ID 및 새로 고침 토큰을 사용한 OAuth 클라이언트 인증 예
액세스 토큰
Kafka 브로커로 인증에 사용되는 액세스 토큰을 직접 구성할 수 있습니다. 이 경우 tokenEndpointUri 를 지정하지 않습니다. accessToken 속성에서 액세스 토큰이 포함된 시크릿에 대한 링크를 지정합니다.
액세스 토큰만 사용하는 OAuth 클라이언트 인증의 예
authentication:
type: oauth
accessToken:
secretName: my-access-token-secret
key: access-token
authentication:
type: oauth
accessToken:
secretName: my-access-token-secret
key: access-token
사용자 이름 및 암호
OAuth 사용자 이름 및 암호 구성은 OAuth 리소스 소유자 암호 권한 부여 메커니즘을 사용합니다. 이 메커니즘은 더 이상 사용되지 않으며 클라이언트 인증 정보(ID 및 시크릿)를 사용할 수 없는 환경에서의 통합을 활성화하는 경우에만 지원됩니다. 액세스 관리 시스템에서 다른 접근 방식을 지원하지 않거나 인증에 사용자 계정이 필요한 경우 사용자 계정을 사용해야 할 수 있습니다.
일반적인 접근 방식은 클라이언트 애플리케이션을 나타내는 권한 부여 서버에 특수 사용자 계정을 생성하는 것입니다. 그런 다음 계정에 무작위로 생성된 암호와 매우 제한된 권한 세트를 지정합니다. 예를 들어 계정은 Kafka 클러스터에만 연결할 수 있지만 다른 서비스를 사용하거나 사용자 인터페이스에 로그인할 수는 없습니다.
먼저 새로 고침 토큰 메커니즘을 사용하는 것이 좋습니다.
tokenEndpointUri 속성에서 클라이언트 ID, 사용자 이름 및 인증에 사용되는 암호와 함께 권한 부여 서버의 주소를 구성할 수 있습니다. OAuth 클라이언트는 OAuth 서버에 연결하고, 사용자 이름, 암호, 클라이언트 ID를 사용하여 인증하며, Kafka 브로커로 인증하는 데 사용할 액세스 토큰을 가져오는 데 필요한 경우 클라이언트 시크릿도 가져옵니다.
password 속성에서 암호가 포함된 보안에 대한 링크를 지정합니다.
Secret
일반적으로 공용 OAuth 클라이언트를 사용하여 clientId 도 구성해야 합니다. 기밀 OAuth 클라이언트를 사용하는 경우 clientSecret 도 구성해야 합니다.
공용 클라이언트가 있는 암호 및 사용자 이름을 사용한 OAuth 클라이언트 인증의 예
기밀 클라이언트가 있는 암호와 사용자 이름을 사용한 OAuth 클라이언트 인증의 예
필요한 경우 범위 및 대상 을 선택적으로 지정할 수 있습니다.
TLS
HTTPS 프로토콜을 사용하여 OAuth 서버에 액세스하면 해당 인증서가 신뢰할 수 있는 인증 기관에서 서명한 TLS 인증서가 인증서에 나열되어 있는 한 추가 구성이 필요하지 않습니다.
OAuth 서버에서 자체 서명된 인증서를 사용하거나 신뢰할 수 없는 인증 기관에서 서명한 인증서를 사용하는 경우 사용자 정의 리소스에서 신뢰할 수 있는 인증서 목록을 구성할 수 있습니다. tlsTrustedCertificates 속성에는 인증서가 저장되는 키 이름이 있는 보안 목록이 포함되어 있습니다. 인증서는 X509 형식으로 저장해야 합니다.
제공된 TLS 인증서의 예
OAuth 클라이언트는 기본적으로 OAuth 서버의 호스트 이름이 인증서 제목 또는 대체 DNS 이름 중 하나와 일치하는지 확인합니다. 필요하지 않은 경우 호스트 이름 확인을 비활성화할 수 있습니다.
비활성화된 TLS 호스트 이름 확인의 예
78.1. KafkaClientAuthenticationOAuth 스키마 속성 링크 복사링크가 클립보드에 복사되었습니다!
type 속성은 KafkaClientAuthenticationOAuth 유형과 KafkaClientAuthenticationOAuth 유형, KafkaClientAuthentication ScramSha256, KafkaClientAuthenticationScramSha512, KafkaClientAuthenticationPlain. KafkaClientAuthenticationOAuth 유형의 oauth 값이 있어야 합니다.
| 속성 | 속성 유형 | 설명 |
|---|---|---|
| accessToken | 권한 부여 서버에서 가져온 액세스 토큰이 포함된 OpenShift 보안에 대한 링크입니다. | |
| accessTokenIsJwt | boolean |
액세스 토큰을 JWT로 처리해야 하는지 여부를 구성합니다. 권한 부여 서버가 불투명 토큰을 반환하면 |
| 대상 | string |
권한 부여 서버에 대해 인증할 때 사용할 OAuth 대상입니다. 일부 권한 부여 서버에서는 대상을 명시적으로 설정해야 합니다. 가능한 값은 권한 부여 서버 구성 방법에 따라 달라집니다. 기본적으로 토큰 끝점 요청을 수행할 때 |
| clientId | string | Kafka 클라이언트가 OAuth 서버에 대해 인증하고 토큰 엔드포인트 URI를 사용하는 데 사용할 수 있는 OAuth 클라이언트 ID입니다. |
| clientSecret | Kafka 클라이언트가 OAuth 서버에 대해 인증하는 데 사용할 수 있는 OAuth 클라이언트 시크릿이 포함된 OpenShift 보안에 연결하고 토큰 엔드포인트 URI를 사용합니다. | |
| connectTimeoutSeconds | integer | 권한 부여 서버에 연결할 때 연결 시간(초)입니다. 설정되지 않은 경우 유효 연결 시간 제한은 60 초입니다. |
| disableTlsHostnameVerification | boolean |
TLS 호스트 이름 확인을 활성화하거나 비활성화합니다. 기본값은 |
| enableMetrics | boolean |
OAuth 메트릭을 활성화하거나 비활성화합니다. 기본값은 |
| httpRetries | integer | 초기 HTTP 요청이 실패하는 경우 시도할 최대 재시도 횟수입니다. 설정되지 않은 경우 기본값은 재시도를 시도하지 않는 것입니다. |
| httpRetryPauseMs | integer | 실패한 HTTP 요청을 다시 시도하기 전에 수행할 일시 중지입니다. 설정되지 않은 경우 기본값은 일시 중지되지 않고 즉시 요청을 반복하는 것입니다. |
| includeAcceptHeader | boolean |
승인 서버에 대한 요청에 Accept 헤더를 설정해야 하는지 여부입니다. 기본값은 |
| maxTokenExpirySeconds | integer | 액세스 토큰의 time-to-live를 지정된 초 수로 설정하거나 제한합니다. 권한 부여 서버가 불투명 토큰을 반환하는 경우 설정해야 합니다. |
| passwordSecret |
암호가 있는 | |
| readTimeoutSeconds | integer | 권한 부여 서버에 연결할 때 읽기 제한 시간(초)입니다. 설정되지 않은 경우 유효 읽기 제한 시간은 60 초입니다. |
| refreshToken | 권한 부여 서버에서 액세스 토큰을 가져오는 데 사용할 수 있는 새로 고침 토큰이 포함된 OpenShift 보안에 대한 링크입니다. | |
| scope | string |
권한 부여 서버에 대해 인증할 때 사용할 OAuth 범위입니다. 일부 권한 부여 서버를 설정해야 합니다. 가능한 값은 권한 부여 서버 구성 방법에 따라 달라집니다. 토큰 끝점 요청을 수행할 때 기본적으로 |
| tlsTrustedCertificates |
| OAuth 서버에 대한 TLS 연결에 대한 신뢰할 수 있는 인증서입니다. |
| tokenEndpointUri | string | 권한 부여 서버 토큰 엔드포인트 URI입니다. |
| type | string |
|
| 사용자 이름 | string | 인증에 사용되는 사용자 이름입니다. |