<div dir="ltr"><div>Hi Akhil,</div><div><br></div><div>Right now oslo.config is capable of loading configuration values from files (default), environment variables (env driver), command line arguments (default), remote files (remote_file driver) and castellan (castellan driver).</div><div><br></div><div>This gives you enough flexibility to come up with a hardening strategy according to the use case. If you have any questions on how to use each driver I'd be glad to answer as I wrote most of them.</div><div><br></div><div>Best regards,</div><div>Moisés Guimarães<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em ter, 9 de abr de 2019 às 14:43, Jeremy Stanley <<a href="mailto:fungi@yuggoth.org">fungi@yuggoth.org</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 2019-04-09 08:21:26 +0000 (+0000), Akhil Jayakumar (akjayaku) wrote:<br>
> Is there a way we can encrypt passwords in local.conf?<br>
> <br>
> If so could you please point me to the reference?<br>
<br>
[I've tagged the Oslo team and Security SIG in the subject of my<br>
reply to bring this to the attention of those audiences as well.]<br>
<br>
The problem with actually encrypting shared secrets in the<br>
configuration directly is that whatever reads that config needs<br>
access to the corresponding decryption key, so you haven't solved<br>
the problem only created a new secret you also need to encrypt...<br>
and it's turtles all the way down from there.<br>
<br>
The oslo.config module supports pointing at external configuration<br>
sources through the use of backend drivers[1]. One such optional<br>
driver is castellan[2] which is designed for (among other things)<br>
retrieving values from secure data storage applications like<br>
Barbican and Vault. The original specification[3] for this<br>
implementation in the Queens release a year ago describes the use<br>
case fairly well, as does this poster presentation[4] from<br>
EuroPython last year. Hope this helps!<br>
<br>
[1] <a href="https://docs.openstack.org/oslo.config/latest/reference/drivers.html" rel="noreferrer" target="_blank">https://docs.openstack.org/oslo.config/latest/reference/drivers.html</a><br>
[2] <a href="https://docs.openstack.org/castellan/latest/" rel="noreferrer" target="_blank">https://docs.openstack.org/castellan/latest/</a><br>
[3] <a href="https://specs.openstack.org/openstack/oslo-specs/specs/queens/oslo-config-drivers.html" rel="noreferrer" target="_blank">https://specs.openstack.org/openstack/oslo-specs/specs/queens/oslo-config-drivers.html</a><br>
[4] <a href="https://ep2018.europython.eu/media/conference/slides/mastering-applicationservice-configuration.pdf" rel="noreferrer" target="_blank">https://ep2018.europython.eu/media/conference/slides/mastering-applicationservice-configuration.pdf</a><br>
-- <br>
Jeremy Stanley<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Thanks,</div><div>Moisés Guimarães<br></div></div></div>