Remove policy default spec

Based on moving policy into code and documenting it, this spec is no
longer relevant:

  http://eavesdrop.openstack.org/meetings/keystone/2017/keystone.2017-03-07-18.01.log.html#l-252

Change-Id: I37d78d59450cc4c93a3f2277c241510bc35cf9bc
This commit is contained in:
Lance Bragstad 2017-03-07 19:00:46 +00:00
parent 3f1d3057e9
commit da2f53d0d2
1 changed files with 0 additions and 163 deletions

View File

@ -1,163 +0,0 @@
..
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.
http://creativecommons.org/licenses/by/3.0/legalcode
==========================================
Default Policy File
==========================================
`bp policy-default <https://blueprints.launchpad.net/keystone/+spec/policy-default>`_
If an endpoint requests a policy file and none is specified for it or for its
service, return a default policy file.
Problem Description
===================
When an endpoint needs to enforce policy, it has to get the policy rules file
from somewhere. Currently, the OpenStack projects maintain a policy file
in their own git repository. In order to make it possible for an endpoint to
fetch its policy from Keystone, Keystone needs to have an appropriate policy
file available. With the specification to merge the existing policy files into
a single, namespaced policy file, there will be an obvious default policy file
to return for services requesting policy from Keystone. This specification is
https://review.openstack.org/#/c/134656/
Proposed Change
===============
Allow the definition of a default policy file to be returned from the Keystone
policy GET API if there is no policy file that explicitly matches the service
or endpoint.
The Policy rules are all namespaced. For example, the identity services has
"identity:create_user". This means that multiple services can work off a
single, unified policy file. If the service requires a rule that does not
match and explicit rule, it will use the default rule.
Alternatives
------------
Keep the policy files split into their component parts by service and require
each service have a default policy file specified.
Security Impact
---------------
Describe any potential security impact on the system. Some of the items to
consider include:
* Does this change touch sensitive data such as tokens, keys, or user data?
* Yes, policy files used for RBAC
* Does this change alter the API in a way that may impact security, such as
a new way to access sensitive information or a new way to login?
* Yes, it provides a single unified policy file for most operations.
* Does this change involve cryptography or hashing?
* No
* Does this change require the use of sudo or any elevated privileges?
* No
* Does this change involve using or parsing user-provided data? This could
be directly at the API level or indirectly such as changes to a cache layer.
* No
* Can this change enable a resource exhaustion attack, such as allowing a
single API interaction to consume significant server resources? Some examples
of this include launching subprocesses for each connection, or entity
expansion attacks in XML.
* No
Notifications Impact
--------------------
Existing notifications for changes of policy should remain unchanged.
Other End User Impact
---------------------
Aside from the API, are there other ways a user will interact with this
feature?
* Does this change have an impact on python-keystoneclient? What does the user
interface there look like?
Performance Impact
------------------
This change alone should have no performance impact. The larger policy files
might lead to longer processing times of RBAC, but the changes should be
immaterial.
Other Deployer Impact
---------------------
Discuss things that will affect how you deploy and configure OpenStack
that have not already been mentioned, such as:
* Configuration:
* A single configuration value for default policy which will take a policy ID.
If the default policy ID is not set, existing behavior will continue.
* Is this a change that takes immediate effect after its merged, or is it
something that has to be explicitly enabled?
* Explicitly enabled
* Continuous deployment impact
* minimal
* Upgrades from the previous release
* not require upgrades
* Deprecations
* None
Developer Impact
----------------
Additional workflow is going to be required to maintain the default
configuration file in the face of a growing set of services.
Implementation
==============
Assignee(s)
-----------
Primary assignee:
Adam Young ayoung ayoung@redhat.com
Other contributors:
David Chen davechen <wei.d.chen@intel.com>
Work Items
----------
Should be performed in a single commit
* Create config option
* Add code to endpoint_policy extension to return default policy as needed
Dependencies
============
* Real deployment depends on a viable unified policy file.
Documentation Impact
====================
Configuration value will need to be documented.
References
==========