DavidPurcell | 663aedf | 2017-01-03 10:01:14 -0500 | [diff] [blame] | 1 | ======= |
| 2 | patrole |
| 3 | ======= |
| 4 | |
| 5 | Patrole is a tool for verifying that Role-Based Access Control is being enforced. |
| 6 | |
| 7 | Patrole allows users to run API tests using specified RBAC roles. This allows |
| 8 | deployments to verify that only intended roles have access to those APIs. |
| 9 | This is critical to ensure security, especially in large deployments with |
| 10 | custom 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 | |
| 17 | Features |
| 18 | -------- |
| 19 | |
DavidPurcell | 45bc1a6 | 2017-01-19 17:21:27 -0500 | [diff] [blame] | 20 | Patrole offers RBAC testing for various OpenStack RBAC policies. It includes |
| 21 | a decorator that wraps around tests which verifies that when the test calls the |
| 22 | corresponding api endpoint, access is only granted for correct roles. |
| 23 | |
| 24 | There are several possible test flows. |
| 25 | |
| 26 | If the rbac_test_role is allowed to access the endpoint |
| 27 | - The test passes if no 403 forbidden or RbacActionFailed exception is raised. |
| 28 | |
| 29 | If 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. |