Skip to content

Releases: StyraInc/opa-kafka-plugin

v1.5.1

09 Mar 10:33
d2c7851
Compare
Choose a tag to compare
  • Move construction of request builder to AllowCallable call method to avoid it being shared between threads #47 (@xhl1988)

v1.5.0

10 Oct 12:50
8ed4606
Compare
Choose a tag to compare
  • Add configuration properties (opa.authorizer.truststore.*) for truststore for HTTPS connections to OPA (@iamatwork)

v1.4.0

11 Jan 07:17
Compare
Choose a tag to compare

v1.3.0

01 Dec 10:16
68bac6b
Compare
Choose a tag to compare
  • Fix issue where unimplemented acls method of authorizer would be called under certain conditions (@iamatwork)
  • Change package group from com.bisnode.kafka.authorization to org.openpolicyagent.kafka

v1.2.0

12 Oct 11:46
56bd5f0
Compare
Choose a tag to compare

Changes

  • Compatibility with Apache Kafka 3.0.0

v1.1.0

03 May 12:23
15d32fb
Compare
Choose a tag to compare

Changes

  • Update to Kafka library 2.8.0
    • Tested on Kafka 2.7.0 & 2.8.0

v1.0.0

29 Mar 09:37
b46db48
Compare
Choose a tag to compare

Changes

Breaking changes:

  • Update to use Scala 2.13
    • Requires a Kafka cluster running 2.13
  • Update to Kafka library 2.7.0
    • Requires Kafka 2.7.X
  • New input structure to OPA
    • You will need to adjust policies to work with the new input structure. See an example of the new structure down below. We suggest to update your policies before upgrading, to work with both the old and the new structure. Then upgrade the plugin and then remove the old policies.

New input structure:

{
    "action": {
        "logIfAllowed": true,
        "logIfDenied": true,
        "operation": "DESCRIBE",
        "resourcePattern": {
            "name": "alice-topic",
            "patternType": "LITERAL",
            "resourceType": "TOPIC",
            "unknown": false
        },
        "resourceReferenceCount": 1
    },
    "requestContext": {
        "clientAddress": "192.168.64.1",
        "clientInformation": {
            "softwareName": "unknown",
            "softwareVersion": "unknown"
        },
        "connectionId": "192.168.64.4:9092-192.168.64.1:58864-0",
        "header": {
            "data": {
                "clientId": "rdkafka",
                "correlationId": 5,
                "requestApiKey": 3,
                "requestApiVersion": 2
            },
            "headerVersion": 1
        },
        "listenerName": "SASL_PLAINTEXT",
        "principal": {
            "name": "alice-consumer",
            "principalType": "User"
        },
        "securityProtocol": "SASL_PLAINTEXT"
    }
}

Other changes

  • Include guava and paranamer in the shadowJar since it's been excluded from the Kafka installation
  • Update to use the new Kafka libraries to use the new API
  • Update OPA policy and tests to work with the new input structure
  • Update version on various dependencies
  • Add Maven information to README
  • Update changelog

v.0.4.2

20 Oct 12:42
Compare
Choose a tag to compare

v0.4.0

23 Apr 15:24
Compare
Choose a tag to compare
  • Allow super.users to bypass OPA authorizer checks - @scholzj
  • Fix wrong unit provided in docs on cache expiry - @kelvk

0.3.0

28 Nov 11:36
Compare
Choose a tag to compare
  • Update default cache settings.
  • Don't cache a negative decision when plugin fails to connect to OPA.