[ 
https://issues.apache.org/jira/browse/SENTRY-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gergo Wilder updated SENTRY-2276:
---------------------------------
    Description: 
When sending AlterConfigs or DescribeConfigs requests using Kafka's AdminClient 
class to a Sentry-enabled Kafka broker, I noticed that the request would fail 
on the broker side with a NullPointerException in 
ResourceAuthorizationProvider::buildPermissions, the action being null.

However, other requests, such as DescribeTopics, would work fine. I discovered 
that these request type are not covered in Sentry's 
[KafkaActionFactory|https://github.com/apache/sentry/blob/branch-2.0/sentry-core/sentry-core-model-kafka/src/main/java/org/apache/sentry/core/model/kafka/KafkaActionFactory.java]
 which leads to null values being returned as Actions, e.g., from 
getActionByName.

Sentry's Kafka binding does not support the following actions that are defined 
by Kafka's authorization model:
 * AlterConfigs
 * DescribeConfigs
 * IdempotentWrite

It does not support the TransactionalId authorizable resource either that is 
required for using Kafka's transactional capabilities in combination with 
Sentry authorizer.

 

  was:
When sending AlterConfigs or DescribeConfigs requests using Kafka's AdminClient 
class to a Sentry-enabled Kafka broker, I noticed that the request would fail 
on the broker side with a NullPointerException in 
ResourceAuthorizationProvider::buildPermissions, the action being null.

However, other requests, such as DescribeTopics, would work fine. I discovered 
that these request type are not covered in Sentry's 
[KafkaActionFactory|https://github.com/apache/sentry/blob/branch-2.0/sentry-core/sentry-core-model-kafka/src/main/java/org/apache/sentry/core/model/kafka/KafkaActionFactory.java]
 which leads to null values being returned as Actions, e.g., from 
getActionByName.

Compare with Kafka's list of authenticable operations in 
[Operation.scala|https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/security/auth/Operation.scala]
 .

Though I don't know any details about it, the command "IdempotentWrite" also 
seems unsupported on the Sentry side.


> Sentry-Kafka integration does not support Kafka's Alter/DescribeConfigs and 
> IdempotentWrite operations
> ------------------------------------------------------------------------------------------------------
>
>                 Key: SENTRY-2276
>                 URL: https://issues.apache.org/jira/browse/SENTRY-2276
>             Project: Sentry
>          Issue Type: Bug
>          Components: kafka-integration
>         Environment: Cloudera's Kafka (CDK 3.1.0) and Sentry Distribution, as 
> included with CDH 5.13
>            Reporter: Julian Eberius
>            Assignee: Gergo Wilder
>            Priority: Minor
>
> When sending AlterConfigs or DescribeConfigs requests using Kafka's 
> AdminClient class to a Sentry-enabled Kafka broker, I noticed that the 
> request would fail on the broker side with a NullPointerException in 
> ResourceAuthorizationProvider::buildPermissions, the action being null.
> However, other requests, such as DescribeTopics, would work fine. I 
> discovered that these request type are not covered in Sentry's 
> [KafkaActionFactory|https://github.com/apache/sentry/blob/branch-2.0/sentry-core/sentry-core-model-kafka/src/main/java/org/apache/sentry/core/model/kafka/KafkaActionFactory.java]
>  which leads to null values being returned as Actions, e.g., from 
> getActionByName.
> Sentry's Kafka binding does not support the following actions that are 
> defined by Kafka's authorization model:
>  * AlterConfigs
>  * DescribeConfigs
>  * IdempotentWrite
> It does not support the TransactionalId authorizable resource either that is 
> required for using Kafka's transactional capabilities in combination with 
> Sentry authorizer.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to