logstash-integration-kafka 11.6.0-java → 11.6.1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/docs/input-kafka.asciidoc +27 -0
- data/docs/output-kafka.asciidoc +27 -0
- data/lib/logstash/inputs/kafka.rb +3 -1
- data/lib/logstash/outputs/kafka.rb +2 -0
- data/lib/logstash/plugin_mixins/kafka/common.rb +1 -0
- data/logstash-integration-kafka.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dd14bd1f2219bc6c12f2e880648a3f5101a2735a0a6b5b223fd9c38b5979a6a
|
4
|
+
data.tar.gz: 80902b49827a7127b8b7b4e4e7266738624093cfed80d59fd4b840402df198c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9e51ace320c2c5505f9cce929e5b483e0d9d40193f4a629e337ddec7427fd9a1906b9cd9b4cdbf6a072a1add7ef85b7e8aa00035b1f983317559d3c832ce852
|
7
|
+
data.tar.gz: fd49cf285a490cc3b94371dadbca0301d7efea5e34348d908d5f84d4213a6ad77d4d4d0e96b7556518d60f71165af7054ce085eca4bf9c46be2bc95853c17e1c
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 11.6.1
|
2
|
+
- Expose the SASL client callback class setting to the Logstash configuration [#177](https://github.com/logstash-plugins/logstash-integration-kafka/pull/177)
|
3
|
+
- Adds a mechanism to load AWS IAM authentication as SASL client libraries at startup [#178](https://github.com/logstash-plugins/logstash-integration-kafka/pull/178)
|
4
|
+
|
1
5
|
## 11.6.0
|
2
6
|
- Support additional `oauth` and `sasl` configuration options for configuring kafka client [#189](https://github.com/logstash-plugins/logstash-integration-kafka/pull/189)
|
3
7
|
|
data/docs/input-kafka.asciidoc
CHANGED
@@ -65,6 +65,23 @@ For more information see https://kafka.apache.org/{kafka_client_doc}/documentati
|
|
65
65
|
|
66
66
|
Kafka consumer configuration: https://kafka.apache.org/{kafka_client_doc}/documentation.html#consumerconfigs
|
67
67
|
|
68
|
+
[id="plugins-{type}s-{plugin}-aws_msk_iam_auth"]
|
69
|
+
==== AWS MSK IAM authentication
|
70
|
+
If you use AWS MSK, the AWS MSK IAM access control enables you to handle both authentication and authorization for your MSK cluster with AWS IAM.
|
71
|
+
For more information on this AWS MSK feature see the https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html[AWS documentation].
|
72
|
+
|
73
|
+
To use this Kafka input with AWS MSK IAM authentication, download the uber jar which contains the client library for
|
74
|
+
this specific cloud vendor and all the transitive dependencies from this https://github.com/elastic/logstash-kafka-iams-packages/releases[repository].
|
75
|
+
Configure the following setting:
|
76
|
+
```
|
77
|
+
security_protocol => "SASL_SSL"
|
78
|
+
sasl_mechanism => "AWS_MSK_IAM"
|
79
|
+
sasl_iam_jar_paths => ["/path/to/aws_iam_uber.jar"]
|
80
|
+
sasl_jaas_config => "software.amazon.msk.auth.iam.IAMLoginModule required;"
|
81
|
+
sasl_client_callback_handler_class => "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
|
82
|
+
```
|
83
|
+
For more IAM authentication configurations, see the https://github.com/aws/aws-msk-iam-auth[AWS MSK IAM authentication library documentation].
|
84
|
+
|
68
85
|
==== Metadata fields
|
69
86
|
|
70
87
|
The following metadata from Kafka broker are added under the `[@metadata]` field:
|
@@ -133,6 +150,7 @@ See the https://kafka.apache.org/{kafka_client_doc}/documentation for more detai
|
|
133
150
|
| <<plugins-{type}s-{plugin}-sasl_client_callback_handler_class>> |<<string,string>>|No
|
134
151
|
| <<plugins-{type}s-{plugin}-sasl_oauthbearer_token_endpoint_url>> |<<string,string>>|No
|
135
152
|
| <<plugins-{type}s-{plugin}-sasl_oauthbearer_scope_claim_name>> |<<string,string>>|No
|
153
|
+
| <<plugins-{type}s-{plugin}-sasl_iam_jar_paths>> |<<array,array>>|No
|
136
154
|
| <<plugins-{type}s-{plugin}-sasl_login_callback_handler_class>> |<<string,string>>|No
|
137
155
|
| <<plugins-{type}s-{plugin}-sasl_login_connect_timeout_ms>> |<<number,number>>|No
|
138
156
|
| <<plugins-{type}s-{plugin}-sasl_login_read_timeout_ms>> |<<number,number>>|No
|
@@ -584,6 +602,14 @@ The URL for the OAuth 2.0 issuer token endpoint.
|
|
584
602
|
|
585
603
|
(optional) The override name of the scope claim.
|
586
604
|
|
605
|
+
[id="plugins-{type}s-{plugin}-sasl_iam_jar_paths"]
|
606
|
+
===== `sasl_iam_jar_paths`
|
607
|
+
* Value type is <<arrays,array>>
|
608
|
+
* There is no default value for this setting.
|
609
|
+
|
610
|
+
Contains the list of paths to jar libraries that contains cloud providers MSK IAM's clients.
|
611
|
+
There is one jar per provider and can be retrieved as described in <<"plugins-{type}s-{plugin}-aws_msk_iam_auth">>.
|
612
|
+
|
587
613
|
[id="plugins-{type}s-{plugin}-sasl_login_callback_handler_class"]
|
588
614
|
===== `sasl_login_callback_handler_class`
|
589
615
|
* Value type is <<string,string>>
|
@@ -654,6 +680,7 @@ This can be defined either in Kafka's JAAS config or in Kafka's config.
|
|
654
680
|
|
655
681
|
http://kafka.apache.org/documentation.html#security_sasl[SASL mechanism] used for client connections.
|
656
682
|
This may be any mechanism for which a security provider is available.
|
683
|
+
For AWS MSK IAM authentication use `AWS_MSK_IAM`.
|
657
684
|
GSSAPI is the default mechanism.
|
658
685
|
|
659
686
|
[id="plugins-{type}s-{plugin}-schema_registry_key"]
|
data/docs/output-kafka.asciidoc
CHANGED
@@ -66,6 +66,23 @@ https://kafka.apache.org/{kafka_client_doc}/documentation.html#producerconfigs
|
|
66
66
|
|
67
67
|
NOTE: This plugin does not support using a proxy when communicating to the Kafka broker.
|
68
68
|
|
69
|
+
[id="plugins-{type}s-{plugin}-aws_msk_iam_auth"]
|
70
|
+
==== AWS MSK IAM authentication
|
71
|
+
If you use AWS MSK, the AWS MSK IAM access control enables you to handle both authentication and authorization for your MSK cluster with AWS IAM.
|
72
|
+
For more information on this AWS MSK feature see the https://docs.aws.amazon.com/msk/latest/developerguide/iam-access-control.html[AWS documentation].
|
73
|
+
|
74
|
+
To use this Kafka input with AWS MSK IAM authentication, download the uber jar which contains the client library for
|
75
|
+
this specific cloud vendor and all the transitive dependencies from this https://github.com/elastic/logstash-kafka-iams-packages/releases[repository].
|
76
|
+
Configure the following setting:
|
77
|
+
```
|
78
|
+
security_protocol => "SASL_SSL"
|
79
|
+
sasl_mechanism => "AWS_MSK_IAM"
|
80
|
+
sasl_iam_jar_paths => ["/path/to/aws_iam_uber.jar"]
|
81
|
+
sasl_jaas_config => "software.amazon.msk.auth.iam.IAMLoginModule required;"
|
82
|
+
sasl_client_callback_handler_class => "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
|
83
|
+
```
|
84
|
+
For more IAM authentication configurations, see the https://github.com/aws/aws-msk-iam-auth[AWS MSK IAM authentication library documentation].
|
85
|
+
|
69
86
|
[id="plugins-{type}s-{plugin}-options"]
|
70
87
|
==== Kafka Output Configuration Options
|
71
88
|
|
@@ -104,6 +121,7 @@ See the https://kafka.apache.org/{kafka_client_doc}/documentation for more detai
|
|
104
121
|
| <<plugins-{type}s-{plugin}-sasl_client_callback_handler_class>> |<<string,string>>|No
|
105
122
|
| <<plugins-{type}s-{plugin}-sasl_oauthbearer_token_endpoint_url>> |<<string,string>>|No
|
106
123
|
| <<plugins-{type}s-{plugin}-sasl_oauthbearer_scope_claim_name>> |<<string,string>>|No
|
124
|
+
| <<plugins-{type}s-{plugin}-sasl_iam_jar_paths>> |<<array,array>>|No
|
107
125
|
| <<plugins-{type}s-{plugin}-sasl_login_callback_handler_class>> |<<string,string>>|No
|
108
126
|
| <<plugins-{type}s-{plugin}-sasl_login_connect_timeout_ms>> |<<number,number>>|No
|
109
127
|
| <<plugins-{type}s-{plugin}-sasl_login_read_timeout_ms>> |<<number,number>>|No
|
@@ -420,6 +438,14 @@ The URL for the OAuth 2.0 issuer token endpoint.
|
|
420
438
|
|
421
439
|
(optional) The override name of the scope claim.
|
422
440
|
|
441
|
+
[id="plugins-{type}s-{plugin}-sasl_iam_jar_paths"]
|
442
|
+
===== `sasl_iam_jar_paths`
|
443
|
+
* Value type is <<arrays,array>>
|
444
|
+
* There is no default value for this setting.
|
445
|
+
|
446
|
+
Contains the list of paths to jar libraries that contains cloud providers MSK IAM's clients.
|
447
|
+
There is one jar per provider and can be retrieved as described in <<"plugins-{type}s-{plugin}-aws_msk_iam_auth">>.
|
448
|
+
|
423
449
|
[id="plugins-{type}s-{plugin}-sasl_login_callback_handler_class"]
|
424
450
|
===== `sasl_login_callback_handler_class`
|
425
451
|
* Value type is <<string,string>>
|
@@ -490,6 +516,7 @@ This can be defined either in Kafka's JAAS config or in Kafka's config.
|
|
490
516
|
|
491
517
|
http://kafka.apache.org/documentation.html#security_sasl[SASL mechanism] used for client connections.
|
492
518
|
This may be any mechanism for which a security provider is available.
|
519
|
+
For AWS MSK IAM authentication use `AWS_MSK_IAM`.
|
493
520
|
GSSAPI is the default mechanism.
|
494
521
|
|
495
522
|
[id="plugins-{type}s-{plugin}-security_protocol"]
|
@@ -216,6 +216,8 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
|
|
216
216
|
config :sasl_oauthbearer_scope_claim_name, :validate => :string, :default => 'scope' # Kafka default
|
217
217
|
# SASL login callback handler class
|
218
218
|
config :sasl_login_callback_handler_class, :validate => :string
|
219
|
+
# Path to the jar containing client and all dependencies for SASL IAM authentication of specific cloud vendor
|
220
|
+
config :sasl_iam_jar_paths, :validate => :array
|
219
221
|
# (optional) The duration, in milliseconds, for HTTPS connect timeout
|
220
222
|
config :sasl_login_connect_timeout_ms, :validate => :number
|
221
223
|
# (optional) The duration, in milliseconds, for HTTPS read timeout.
|
@@ -224,7 +226,7 @@ class LogStash::Inputs::Kafka < LogStash::Inputs::Base
|
|
224
226
|
config :sasl_login_retry_backoff_ms, :validate => :number, :default => 100 # Kafka default
|
225
227
|
# (optional) The maximum duration, in milliseconds, for HTTPS call attempts.
|
226
228
|
config :sasl_login_retry_backoff_max_ms, :validate => :number, :default => 10000 # Kafka default
|
227
|
-
# http://kafka.apache.org/documentation.html#security_sasl[SASL mechanism] used for client connections.
|
229
|
+
# http://kafka.apache.org/documentation.html#security_sasl[SASL mechanism] used for client connections.
|
228
230
|
# This may be any mechanism for which a security provider is available.
|
229
231
|
# GSSAPI is the default mechanism.
|
230
232
|
config :sasl_mechanism, :validate => :string, :default => "GSSAPI"
|
@@ -149,6 +149,8 @@ class LogStash::Outputs::Kafka < LogStash::Outputs::Base
|
|
149
149
|
config :security_protocol, :validate => ["PLAINTEXT", "SSL", "SASL_PLAINTEXT", "SASL_SSL"], :default => "PLAINTEXT"
|
150
150
|
# SASL client callback handler class
|
151
151
|
config :sasl_client_callback_handler_class, :validate => :string
|
152
|
+
# Path to the jar containing client and all dependencies for SASL IAM authentication of specific cloud vendor
|
153
|
+
config :sasl_iam_jar_paths, :validate => :array
|
152
154
|
# The URL for the OAuth 2.0 issuer token endpoint.
|
153
155
|
config :sasl_oauthbearer_token_endpoint_url, :validate => :string
|
154
156
|
# (optional) The override name of the scope claim.
|
@@ -49,6 +49,7 @@ module LogStash module PluginMixins module Kafka
|
|
49
49
|
props.put("sasl.login.read.timeout.ms", sasl_login_read_timeout_ms.to_s) unless sasl_login_read_timeout_ms.nil?
|
50
50
|
props.put("sasl.login.retry.backoff.ms", sasl_login_retry_backoff_ms.to_s) unless sasl_login_retry_backoff_ms.nil?
|
51
51
|
props.put("sasl.login.retry.backoff.max.ms", sasl_login_retry_backoff_max_ms.to_s) unless sasl_login_retry_backoff_max_ms.nil?
|
52
|
+
sasl_iam_jar_paths&.each {|jar_path| require jar_path }
|
52
53
|
end
|
53
54
|
|
54
55
|
def reassign_dns_lookup
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'logstash-integration-kafka'
|
3
|
-
s.version = '11.6.
|
3
|
+
s.version = '11.6.1'
|
4
4
|
s.licenses = ['Apache-2.0']
|
5
5
|
s.summary = "Integration with Kafka - input and output plugins"
|
6
6
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline "+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-integration-kafka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 11.6.
|
4
|
+
version: 11.6.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|