blob: d9a65076d44c03eea4dcea214b19a79ece7581c5 [file] [log] [blame]
DavidPurcell663aedf2017-01-03 10:01:14 -05001=======
2patrole
3=======
4
5Patrole is a tool for verifying that Role-Based Access Control is being enforced.
6
7Patrole allows users to run API tests using specified RBAC roles. This allows
8deployments to verify that only intended roles have access to those APIs.
9This is critical to ensure security, especially in large deployments with
10custom roles.
11
12* Free software: Apache license
13* Documentation: http://docs.openstack.org/developer/patrole
14* Source: http://git.openstack.org/cgit/openstack/patrole
15* Bugs: http://bugs.launchpad.net/patrole
16
17Features
18--------
19
DavidPurcell45bc1a62017-01-19 17:21:27 -050020Patrole offers RBAC testing for various OpenStack RBAC policies. It includes
21a decorator that wraps around tests which verifies that when the test calls the
22corresponding api endpoint, access is only granted for correct roles.
23
24There are several possible test flows.
25
26If the rbac_test_role is allowed to access the endpoint
27 - The test passes if no 403 forbidden or RbacActionFailed exception is raised.
28
29If the rbac_test_role is not allowed to access the endpoint
30 - If the endpoint returns a 403 forbidden exception the test will pass
31 - If the endpoint returns something other than a 403 forbidden to indicate
32 that the role is not allowed, the test will raise an RbacActionFailed exception.