ironic-inspector/ironic_inspector/conf
Steve Baker 196c019771 Enable Basic HTTP authentication middleware.
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-inspector/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 basic authentication, the following can be done:

* Set ``/etc/ironic-inspector/inspector.conf`` ``DEFAULT`` ``auth_strategy``
  to ``http_basic``
* Populate the htpasswd file with entries, for example:
  ``htpasswd -nbB myName myPassword >> /etc/ironic-inspector/htpasswd``
* Make basic authenticated HTTP requests, for example:
  ``curl --user myName:myPassword http://localhost:6385/v1/introspection``

[1] https://httpd.apache.org/docs/current/misc/password_encryptions.html

Change-Id: If50dfbfc18445ad9fe27e17cb0ee1b317ff25a0b
Depends-On: https://review.opendev.org/729070
Story: 2007656
Task: 39826
2020-06-05 01:28:40 +12:00
..
__init__.py Port physical network CIDR map hook 2020-04-17 16:31:40 +02:00
capabilities.py Centralize config options 2018-01-04 20:43:58 -08:00
coordination.py Adds tooz locking driver 2019-08-02 09:58:10 +08:00
default.py Enable Basic HTTP authentication middleware. 2020-06-05 01:28:40 +12:00
discovery.py Use bmc ipv6 address while processing introspection data 2019-06-19 15:03:07 +03:00
dnsmasq_pxe_filter.py Centralize config options 2018-01-04 20:43:58 -08:00
iptables.py Support ip6tables for iptables pxe filter 2018-11-07 09:53:47 +08:00
ironic.py Remove deprecated authentication options for accessing ironic 2019-06-19 11:10:47 +02:00
opts.py Silence debug logging from oslo_messaging 2020-05-06 10:31:06 +02:00
pci_devices.py Centralize config options 2018-01-04 20:43:58 -08:00
port_physnet.py Port physical network CIDR map hook 2020-04-17 16:31:40 +02:00
processing.py Enable processing of active nodes 2019-07-03 20:10:12 +00:00
pxe_filter.py Clean up pxe_filter related deprecations 2018-08-06 13:42:01 +08:00
service_catalog.py Expose baremetal-introspection endpoint via mdns 2019-05-22 13:58:55 +02:00
swift.py Cleanup deprecated [swift]max_retries 2020-05-01 19:13:42 +09:00