RETIRED, Generic Key Manager interface UI plugin for Horizon
Go to file
Kaitlin Farr c1ba5aa7af Update README
Update the castellan-ui README with a
Features section and Troubleshooting
section.

Change-Id: I8939abfac71536eb277b97b0d998155c4501f4bd
2018-06-15 13:18:03 -04:00
castellan_ui Add Passphrase Panel 2018-02-27 21:27:32 +00:00
devstack Add devstack directory 2018-01-16 13:20:14 -05:00
doc Avoid tox-install.sh 2018-05-30 11:36:04 -04:00
releasenotes Remove setting of version/release from releasenotes 2017-11-16 20:07:04 +01:00
.gitignore Delete unused files and clean up cookie cutter files 2017-12-12 11:27:39 -05:00
.gitreview Added .gitreview 2017-07-11 08:03:45 +00:00
CONTRIBUTING.rst Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
HACKING.rst Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
LICENSE Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
MANIFEST.in Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
README.rst Update README 2018-06-15 13:18:03 -04:00
babel-django.cfg Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
babel-djangojs.cfg Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
manage.py Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
package.json Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
requirements.txt Avoid tox-install.sh 2018-05-30 11:36:04 -04:00
setup.cfg Delete unused files and clean up cookie cutter files 2017-12-12 11:27:39 -05:00
setup.py Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
test-requirements.txt Avoid tox-install.sh 2018-05-30 11:36:04 -04:00
test-shim.js Initial ui cookiecutter commit 2017-08-01 10:46:29 -04:00
tox.ini Avoid tox-install.sh 2018-05-30 11:36:04 -04:00

README.rst

Castellan UI

Generic Key Manager UI Plugin for Horizon

Features

--------------------+------------------+---------------------------+---------------+-----------+--------------+ | | Import from file | Import using direct input | Download | Delete | Generate [1] | ====================+==================+===========================+===============+===========+==============+ | X.509 Certificates | supported [2] | supported [2] | supported [2] | supported | N/A | --------------------+------------------+---------------------------+---------------+-----------+--------------+ | Private Keys | supported [2] | supported [2] | supported [2] | supported | supported | --------------------+------------------+---------------------------+---------------+-----------+--------------+ | Public Keys | supported [2] | supported [2] | supported [2] | supported | supported | --------------------+------------------+---------------------------+---------------+-----------+--------------+ | Symmetric Keys | supported [3] | supported [4] | supported [3] | supported | supported | --------------------+------------------+---------------------------+---------------+-----------+--------------+ | Opaque Data | supported [3] | supported [4] | supported [3] | supported | N/A | --------------------+------------------+---------------------------+---------------+-----------+--------------+ | Passphrases [5] | X | supported | X | supported | N/A | --------------------+------------------+---------------------------+---------------+-----------+--------------+

  1. Key managers typically support generating keys only and do not generate other types of objects. Private and public keys will be generated as a key pair, and symmetric keys can be generated individually.
  2. Supports Privacy-enhanced Electronic Mail (PEM) formatted objects.
  3. Raw bytes represent the object.
  4. Object bytes are represented using hex characters.
  5. Because passphrases are typically not saved to files, passphrases are imported through a form on the web page and are not downloadable, only viewed through the web page.

Enabling in DevStack

Add this repo as an external repository into your local.conf file:

[[local|localrc]]
enable_plugin castellan-ui https://github.com/openstack/castellan-ui

Manual Installation

Begin by cloning the Horizon and Castellan UI repositories:

git clone https://github.com/openstack/horizon
git clone https://github.com/openstack/castellan-ui

Create a virtual environment and install Horizon dependencies:

cd horizon
virtualenv horizon_dev
. horizon_dev/bin/activate
pip install -r requirements.txt

Set up your local_settings.py file:

cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py

Open up the copied local_settings.py file in your preferred text editor. You will want to customize several settings:

  • OPENSTACK_HOST should be configured with the hostname of your OpenStack server. Verify that the OPENSTACK_KEYSTONE_URL and OPENSTACK_KEYSTONE_DEFAULT_ROLE settings are correct for your environment. (They should be correct unless you modified your OpenStack server to change them.)

Install Castellan UI with all dependencies in your virtual environment:

. horizon_dev/bin/activate
pip install -e ../castellan-ui/

And enable it in Horizon (use full paths instead of relative paths):

ln -s ../castellan-ui/castellan_ui/enabled/_90_project_key_manager_panelgroup.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_91_project_key_manager_x509_certificates_panel.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_92_project_key_manager_private_key_panel.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_93_project_key_manager_public_key_panel.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_94_project_key_manager_symmetric_key_panel.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_95_project_key_manager_opaque_data_panel.py openstack_dashboard/local/enabled
ln -s ../castellan-ui/castellan_ui/enabled/_96_project_key_manager_passphrase_panel.py openstack_dashboard/local/enabled

To run horizon with the newly enabled Castellan UI plugin run:

python manage.py runserver -- 0.0.0.0:8080

to have the application start on port 8080 and the horizon dashboard will be available in your browser at http://localhost:8080/

Troubleshooting Tips

If you are using Barbican plugin for Castellan, be sure to note that Barbican requires the 'admin' or 'creator' role be assigned to a user before the user can list or create key manager objects. The error message that appears if this is not the case is as follows:

Could not list objects: Key manager error: Forbidden: Secret(s) retrieval attempt not allowed - please review your user/project privileges

To add the appropriate role for a non-admin user, use the following command (as an admin) :

openstack role add --user <username> --project <project name> creator

See Also