Skip to content

Commit 81b783a

Browse files
committed
do not default to the Public role
1 parent 95a92ad commit 81b783a

File tree

2 files changed

+2
-19
lines changed

2 files changed

+2
-19
lines changed

superset/stackable/opa-authorizer/opa_authorizer/opa_manager.py

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ class OpaSupersetSecurityManager(SupersetSecurityManager):
2626
AUTH_OPA_REQUEST_TIMEOUT_DEFAULT = 10
2727
AUTH_OPA_PACKAGE_DEFAULT = "superset"
2828
AUTH_OPA_RULE_DEFAULT = "user_roles"
29-
AUTH_USER_REGISTRATION_ROLE_DEFAULT = "Public"
3029

3130
def __init__(self, appbuilder):
3231
super().__init__(appbuilder)
@@ -54,10 +53,6 @@ def __init__(self, appbuilder):
5453
self.auth_opa_request_timeout: int = current_app.config.get(
5554
"AUTH_OPA_REQUEST_TIMEOUT", self.AUTH_OPA_REQUEST_TIMEOUT_DEFAULT
5655
)
57-
# Cannot name this "auth_auth_user_registration_role" because it clashes with some super() property constraints
58-
self.user_registration_role: str = config.get(
59-
"AUTH_USER_REGISTRATION_ROLE", self.AUTH_USER_REGISTRATION_ROLE_DEFAULT
60-
)
6156
self.opa_session = requests.Session()
6257

6358
@override
@@ -77,17 +72,7 @@ def get_user_roles(self, user: Optional[User] = None) -> list[Role]:
7772
log.error(
7873
f"No OPA roles for user [{user.username}], defaulting to role AUTH_USER_REGISTRATION_ROLE"
7974
)
80-
default_role = self.resolve_role(self.user_registration_role)
81-
if not default_role:
82-
log.error(
83-
f"Failed to resolve default role name {self.user_registration_role} for user [{user.username}]. User will have no roles."
84-
)
85-
return []
86-
else:
87-
log.info(
88-
f"User [{user.username}] will only have default role [{self.user_registration_role}]"
89-
)
90-
return [default_role]
75+
return []
9176

9277
user_role_set = set(user.roles)
9378
log.debug(f"Superset roles for user [{user.username}]: {user_role_set}")

superset/stackable/opa-authorizer/tests/opa_manager_test.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,7 @@ def test_no_roles(
145145
wraps=mock_resolve_role,
146146
)
147147

148-
assert set(
149-
map(lambda r: r.name, opa_security_manager.get_user_roles(user))
150-
) == {"Public"}
148+
assert opa_security_manager.get_user_roles(user) == []
151149

152150

153151
def test_get_opa_roles(

0 commit comments

Comments
 (0)