Fix Octavia policies
* switch system scope policies to project scope * the legacy admin is still an admin Based on the governance goal document [0] [0] https://governance.openstack.org/tc/goals/selected/\ consistent-and-secure-rbac.html Change-Id: I43529ef6cba7febe44e11afb644d312b8ca26c81
This commit is contained in:
parent
b4b6e07fe0
commit
710e9105e1
@ -46,14 +46,14 @@ rules = [
|
|||||||
name='system-admin',
|
name='system-admin',
|
||||||
check_str='role:admin and '
|
check_str='role:admin and '
|
||||||
'system_scope:all',
|
'system_scope:all',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
# System scoped Reader
|
# System scoped Reader
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='system-reader',
|
name='system-reader',
|
||||||
check_str='role:reader and '
|
check_str='role:reader and '
|
||||||
'system_scope:all',
|
'system_scope:all',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
# Project scoped Member
|
# Project scoped Member
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
@ -91,9 +91,10 @@ rules = [
|
|||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='context_is_admin',
|
name='context_is_admin',
|
||||||
check_str='role:load-balancer_admin or '
|
check_str='role:load-balancer_admin or '
|
||||||
'rule:system-admin',
|
'rule:system-admin or '
|
||||||
|
'role:admin',
|
||||||
deprecated_rule=deprecated_context_is_admin,
|
deprecated_rule=deprecated_context_is_admin,
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
# Note: 'is_admin:True' is a policy rule that takes into account the
|
# Note: 'is_admin:True' is a policy rule that takes into account the
|
||||||
# auth_strategy == noauth configuration setting.
|
# auth_strategy == noauth configuration setting.
|
||||||
@ -116,7 +117,7 @@ rules = [
|
|||||||
name='load-balancer:global_observer',
|
name='load-balancer:global_observer',
|
||||||
check_str='role:load-balancer_global_observer or '
|
check_str='role:load-balancer_global_observer or '
|
||||||
'rule:system-reader',
|
'rule:system-reader',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:member_and_owner',
|
name='load-balancer:member_and_owner',
|
||||||
@ -131,8 +132,9 @@ rules = [
|
|||||||
name='load-balancer:admin',
|
name='load-balancer:admin',
|
||||||
check_str='is_admin:True or '
|
check_str='is_admin:True or '
|
||||||
'role:load-balancer_admin or '
|
'role:load-balancer_admin or '
|
||||||
'rule:system-admin',
|
'rule:system-admin or '
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
'role:admin',
|
||||||
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:read',
|
name='load-balancer:read',
|
||||||
@ -140,21 +142,19 @@ rules = [
|
|||||||
'rule:load-balancer:global_observer or '
|
'rule:load-balancer:global_observer or '
|
||||||
'rule:load-balancer:member_and_owner or '
|
'rule:load-balancer:member_and_owner or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_PROJECT,
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
constants.RBAC_SCOPE_SYSTEM]),
|
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:read-global',
|
name='load-balancer:read-global',
|
||||||
check_str='rule:load-balancer:global_observer or '
|
check_str='rule:load-balancer:global_observer or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:write',
|
name='load-balancer:write',
|
||||||
check_str='rule:load-balancer:member_and_owner or '
|
check_str='rule:load-balancer:member_and_owner or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_PROJECT,
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
constants.RBAC_SCOPE_SYSTEM]),
|
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:read-quota',
|
name='load-balancer:read-quota',
|
||||||
@ -163,21 +163,20 @@ rules = [
|
|||||||
'rule:load-balancer:member_and_owner or '
|
'rule:load-balancer:member_and_owner or '
|
||||||
'role:load-balancer_quota_admin or '
|
'role:load-balancer_quota_admin or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_PROJECT,
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
constants.RBAC_SCOPE_SYSTEM]),
|
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:read-quota-global',
|
name='load-balancer:read-quota-global',
|
||||||
check_str='rule:load-balancer:global_observer or '
|
check_str='rule:load-balancer:global_observer or '
|
||||||
'role:load-balancer_quota_admin or '
|
'role:load-balancer_quota_admin or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
|
|
||||||
policy.RuleDefault(
|
policy.RuleDefault(
|
||||||
name='load-balancer:write-quota',
|
name='load-balancer:write-quota',
|
||||||
check_str='role:load-balancer_quota_admin or '
|
check_str='role:load-balancer_quota_admin or '
|
||||||
'rule:load-balancer:admin',
|
'rule:load-balancer:admin',
|
||||||
scope_types=[constants.RBAC_SCOPE_SYSTEM]),
|
scope_types=[constants.RBAC_SCOPE_PROJECT]),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixed the policy of the legacy `admin` role, it is still an admin with sRBAC.
|
||||||
|
- |
|
||||||
|
Removed system scope policies, all the policies are now project scoped.
|
Loading…
Reference in New Issue
Block a user