keystone/keystone
Lance Bragstad f4162e3680 Add scope checks to common system role definitions
Until keystone defaults
``keystone.conf [oslo_policy] enforce_scope=True`` we really should
make sure we explicitly declare a system specific scope check in the
new system policies.

This is important because it prevents an authoritative regression when
operators upgrade. For example, if the identity:get_domain's current
check string is `rule:admin_require` and it's deprecated to be
`role:reader` with enforce_scope=True, then we've successfully exposed
more functionality to system users who have enforce_scope set to True.
If they don't, which is likely since enforce_scope defaults to False,
then it is possible for users with the reader role on a project to
access an API that was traditionally meant for only system
administrators. This is because oslo.policy will OR the old default
and the new default on upgrade to smooth the transition.

Note that the explicit scope checks in the actual check strings should
be removed once keystone sets enforce_scope = True by default. Until
then, we'll need to have something like this from opening up
administrative APIs.

Change-Id: I0e1f55dc6c18437b3356f9a2facfc95ecd1864e0
2018-12-18 21:20:29 +00:00
..
api Use request_body_json function 2018-12-10 15:48:23 +00:00
application_credential Remove unused logging module 2018-10-25 14:22:50 +08:00
assignment Remove message about circular role inferences 2018-12-11 21:22:51 -05:00
auth Emit CADF notifications on authentication for invalid users 2018-10-25 17:43:37 -07:00
catalog Region update extra support 2018-11-07 22:57:11 +00:00
cmd Fix an issue with double fernet key rotation 2018-11-05 22:34:03 +13:00
common Add scope checks to common system role definitions 2018-12-18 21:20:29 +00:00
conf Merge "Remove deprecated secure_proxy_ssl_header config" 2018-12-06 23:44:24 +00:00
credential Incorrect use of translation _() 2018-09-03 21:52:56 +05:30
endpoint_policy Convert policy API to flask 2018-08-31 07:14:32 +00:00
federation Add missing ws seperator between words 2018-11-19 14:36:40 +08:00
identity Move to password validation schema 2018-11-27 14:57:44 -06:00
limit Merge "Allow registered limit's region_id to be None" 2018-10-31 14:14:22 +00:00
locale Imported Translations from Zanata 2018-08-09 06:06:59 +00:00
models Add missing ws seperator between words 2018-11-19 14:36:40 +08:00
oauth1 Convert /v3/users to flask native dispatching 2018-10-11 15:27:45 -07:00
policy Convert policy API to flask 2018-08-31 07:14:32 +00:00
receipt Change __all__ list to tuple 2018-11-07 16:40:02 -06:00
resource Removing default_assigment_driver 2018-11-13 07:45:28 +00:00
revoke Remove unused revoke_by_user_and_project 2018-09-14 04:08:01 +00:00
server Remove i18n.enable_lazy() translation 2018-12-14 10:30:17 +00:00
tests Remove i18n.enable_lazy() translation 2018-12-14 10:30:17 +00:00
token Do not log token string 2018-08-16 21:29:11 +02:00
trust Add abstract method in trusts base.py 2018-11-07 08:43:39 +05:30
__init__.py Revert "Disable eventlet monkey-patching of DNS" 2013-05-10 10:24:48 -04:00
exception.py Implement auth receipts spec 2018-11-02 15:06:19 +01:00
i18n.py Update links in keystone 2017-09-12 15:18:13 +08:00
notifications.py Don't emit a notification for the root domain 2018-11-27 18:58:18 +00:00
version.py Update API version to 3.11 2018-10-16 16:32:29 +02:00