RETIRED, Tempest plugin for testing and verifying RBAC policy enforcement.
Go to file
DavidPurcell b25f93df4a Fixed AT&T Copyright statements
Change-Id: Ic3a78bb5393e2fb11ea8382c6cfa6258d1ce4ad6
2017-01-27 12:46:27 -05:00
doc/source Removing rbac_roles from config.py. 2017-01-25 17:32:05 -05:00
patrole_tempest_plugin Fixed AT&T Copyright statements 2017-01-27 12:46:27 -05:00
releasenotes Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
tests Fixed AT&T Copyright statements 2017-01-27 12:46:27 -05:00
.coveragerc Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
.gitignore Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
.gitreview Added .gitreview 2016-12-21 08:20:20 +00:00
.mailmap Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
.testr.conf Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
CONTRIBUTING.rst Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
HACKING.rst Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
LICENSE Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
README.rst Improve documentation 2017-01-20 11:12:54 -05:00
babel.cfg Initial Cookiecutter commit 2017-01-04 15:11:34 -05:00
requirements.txt Switch to oslo_log 2017-01-19 14:41:13 +05:30
setup.cfg update homepage with developer documentation page 2017-01-19 13:43:10 +05:30
setup.py Fixed AT&T Copyright statements 2017-01-27 12:46:27 -05:00
test-requirements.txt Switch to oslo_log 2017-01-19 14:41:13 +05:30
tox.ini Initial functionality framework. 2017-01-13 11:37:30 -05:00

README.rst

patrole

Patrole is a tool for verifying that Role-Based Access Control is being enforced.

Patrole allows users to run API tests using specified RBAC roles. This allows deployments to verify that only intended roles have access to those APIs. This is critical to ensure security, especially in large deployments with custom roles.

Features

Patrole offers RBAC testing for various OpenStack RBAC policies. It includes a decorator that wraps around tests which verifies that when the test calls the corresponding api endpoint, access is only granted for correct roles.

There are several possible test flows.

If the rbac_test_role is allowed to access the endpoint
  • The test passes if no 403 forbidden or RbacActionFailed exception is raised.
If the rbac_test_role is not allowed to access the endpoint
  • If the endpoint returns a 403 forbidden exception the test will pass
  • If the endpoint returns something other than a 403 forbidden to indicate that the role is not allowed, the test will raise an RbacActionFailed exception.