Skip to content

Conversation

@sijie
Copy link
Member

@sijie sijie commented Aug 10, 2020

Motivation

In 2.6.0, allowTopicOperationAsync checks if topic operations are allowed for the original role. But it checks if the proxy role is a super-user by mistake. It should check if the original role is a super-user.

Modifications

Fix the allowTopicOperationAsync to checks if the original role is a super-user role or topic operations are allowed.

The current authorization provider interface is also confused. Because some of the interfaces verify both the proxy role and original role and some don't. The authorization provider doesn't have to care about the proxy role and original role. Hence this pull request refactors the authorization provider to authorize a given role and move the logic of verifying proxy and original roles to AuthorizationService.

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test
@wolfstudy wolfstudy merged commit 48f5a2f into apache:master Aug 12, 2020
wolfstudy pushed a commit that referenced this pull request Aug 13, 2020
…#1355) (#7788)

* Fix allowTopicOperationAsync logic (#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior

(cherry picked from commit 48f5a2f)
huangdx0726 pushed a commit to huangdx0726/pulsar that referenced this pull request Aug 24, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior
jerrypeng pushed a commit to jerrypeng/incubator-pulsar that referenced this pull request Aug 24, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior
lbenc135 pushed a commit to lbenc135/pulsar that referenced this pull request Sep 5, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior
lbenc135 pushed a commit to lbenc135/pulsar that referenced this pull request Sep 5, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior
lbenc135 pushed a commit to lbenc135/pulsar that referenced this pull request Sep 5, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior
abhilashmandaliya pushed a commit to ashishshinde/pulsar that referenced this pull request Nov 19, 2020
…apache#1355) (apache#7788)

* Fix allowTopicOperationAsync logic (apache#1355)

*Modifications*

- We should use the original role to verify if it is allowed for a given topic operation
- use the original authentication data
- Authz provider doesn't have to be aware of proxyRole
- Fix authorization test

* Refactor authorize logic to provide a uniform authorization behavior

(cherry picked from commit 48f5a2f)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants