c6112b01c3
When the config option ``auth_strategy`` is set to ``http_basic`` then non-public API calls require a valid HTTP Basic authentication header to be set. The config option ``http_basic_auth_user_file`` defaults to ``/etc/ironic/htpasswd`` and points to a file which supports the Apache htpasswd syntax[1]. This file is read for every request, so no service restart is required when changes are made. The only password digest supported is bcrypt, and the ``bcrypt`` python library is used for password checks since it supports ``$2y$`` prefixed bcrypt passwords as generated by the Apache htpasswd utility. To try HTTP basic authentication, the following can be done: * Set ``/etc/ironic/ironic.conf`` ``DEFAULT`` ``auth_strategy`` to ``http_basic`` * Populate the htpasswd file with entries, for example: ``htpasswd -nbB myName myPassword >> /etc/ironic/htpasswd`` * Make basic authenticated HTTP requests, for example: ``curl --user myName:myPassword http://localhost:6385/v1/drivers`` [1] https://httpd.apache.org/docs/current/misc/password_encryptions.html Change-Id: I7b89155d8bbd2f48e186c12adea9d6932cd0bfe2 Story: 2007656 Task: 39825 Depends-On: https://review.opendev.org/729070
48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
# The order of packages is significant, because pip processes them in the order
|
|
# of appearance. Changing the order has an impact on the overall integration
|
|
# process, which may cause wedges in the gate later.
|
|
pbr!=2.1.0,>=2.0.0 # Apache-2.0
|
|
SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
|
|
alembic>=0.9.6 # MIT
|
|
automaton>=1.9.0 # Apache-2.0
|
|
eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
|
|
WebOb>=1.7.1 # MIT
|
|
python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0
|
|
python-neutronclient>=6.7.0 # Apache-2.0
|
|
python-glanceclient>=2.8.0 # Apache-2.0
|
|
keystoneauth1>=3.18.0 # Apache-2.0
|
|
ironic-lib>=4.3.0 # Apache-2.0
|
|
python-swiftclient>=3.2.0 # Apache-2.0
|
|
pytz>=2013.6 # MIT
|
|
stevedore>=1.20.0 # Apache-2.0
|
|
pysendfile>=2.0.0;sys_platform!='win32' # MIT
|
|
oslo.concurrency>=3.26.0 # Apache-2.0
|
|
oslo.config>=5.2.0 # Apache-2.0
|
|
oslo.context>=2.19.2 # Apache-2.0
|
|
oslo.db>=4.40.0 # Apache-2.0
|
|
oslo.rootwrap>=5.8.0 # Apache-2.0
|
|
oslo.log>=3.36.0 # Apache-2.0
|
|
oslo.middleware>=3.31.0 # Apache-2.0
|
|
oslo.policy>=1.30.0 # Apache-2.0
|
|
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
|
|
oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
|
|
oslo.upgradecheck>=0.1.0 # Apache-2.0
|
|
oslo.utils>=3.38.0 # Apache-2.0
|
|
osprofiler>=1.5.0 # Apache-2.0
|
|
os-traits>=0.4.0 # Apache-2.0
|
|
pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
|
|
requests>=2.14.2 # Apache-2.0
|
|
rfc3986>=0.3.1 # Apache-2.0
|
|
jsonpatch!=1.20,>=1.16 # BSD
|
|
WSME>=0.9.3 # MIT
|
|
Jinja2>=2.10 # BSD License (3 clause)
|
|
keystonemiddleware>=4.17.0 # Apache-2.0
|
|
oslo.messaging>=5.29.0 # Apache-2.0
|
|
retrying!=1.3.0,>=1.2.3 # Apache-2.0
|
|
oslo.versionedobjects>=1.31.2 # Apache-2.0
|
|
jsonschema>=3.2.0 # MIT
|
|
psutil>=3.2.2 # BSD
|
|
futurist>=1.2.0 # Apache-2.0
|
|
tooz>=1.58.0 # Apache-2.0
|
|
openstacksdk>=0.37.0 # Apache-2.0
|