Forgive me for the top post and also for asking the obvious (with my Operator hat on)
Relying on an external service for certificate store - is the best option - assuming of course that the certificate store is actually also highly available. Is that the case today with Barbican? According to the architecture docs [1] I see that they are using a relational database. MySQL? PostgreSQL? Does that now mean we have an additional database to maintain, backup, provide HA for as an Operator? The only real reference I can see to anything remotely HA is this [2] and this [3] An overall solution is highly available *only* if all of the parts it relies are also highly available as well. [1] http://docs.openstack.org/developer/barbican/contribute/architecture.html#overall-architecture [2] https://github.com/cloudkeep-ops/barbican-vagrant-zero [3] http://lists.openstack.org/pipermail/openstack/2014-March/006100.html Some food for thought -- Best Regards, Maish Saidel-Keesing On 03/18/16 17:18, Hongbin Lu wrote: > Douglas, > > I am not opposed to adopt Barbican in Magnum (In fact, we already adopted > Barbican). What I am opposed to is a Barbican lock-in, which already has a > negative impact on Magnum adoption based on our feedback. I also want to see > an increase of Barbican adoption in the future, and all our users have > Barbican installed in their clouds. If that happens, I have no problem to > have a hard dependency on Barbican. > > Best regards, > Hongbin > > -----Original Message----- > From: Douglas Mendizábal [mailto:douglas.mendiza...@rackspace.com] > Sent: March-18-16 9:45 AM > To: openstack-dev@lists.openstack.org > Subject: Re: [openstack-dev] [magnum] High Availability > > Hongbin, > > I think Adrian makes some excellent points regarding the adoption of > Barbican. As the PTL for Barbican, it's frustrating to me to constantly hear > from other projects that securing their sensitive data is a requirement but > then turn around and say that deploying Barbican is a problem. > > I guess I'm having a hard time understanding the operator persona that is > willing to deploy new services with security features but unwilling to also > deploy the service that is meant to secure sensitive data across all of > OpenStack. > > I understand one barrier to entry for Barbican is the high cost of Hardware > Security Modules, which we recommend as the best option for the Storage and > Crypto backends for Barbican. But there are also other options for securing > Barbican using open source software like DogTag or SoftHSM. > > I also expect Barbican adoption to increase in the future, and I was hoping > that Magnum would help drive that adoption. There are also other projects > that are actively developing security features like Swift Encryption, and > DNSSEC support in Desginate. Eventually these features will also require > Barbican, so I agree with Adrian that we as a community should be encouraging > deployers to adopt the best security practices. > > Regarding the Keystone solution, I'd like to hear the Keystone team's > feadback on that. It definitely sounds to me like you're trying to put a > square peg in a round hole. > > - Doug > > On 3/17/16 8:45 PM, Hongbin Lu wrote: >> Thanks Adrian, >> >> >> >> I think the Keystone approach will work. For others, please speak up >> if it doesn't work for you. >> >> >> >> Best regards, >> >> Hongbin >> >> >> >> *From:*Adrian Otto [mailto:adrian.o...@rackspace.com] >> *Sent:* March-17-16 9:28 PM >> *To:* OpenStack Development Mailing List (not for usage questions) >> *Subject:* Re: [openstack-dev] [magnum] High Availability >> >> >> >> Hongbin, >> >> >> >> I tweaked the blueprint in accordance with this approach, and approved >> it for Newton: >> >> https://blueprints.launchpad.net/magnum/+spec/barbican-alternative-sto >> re >> >> >> >> I think this is something we can all agree on as a middle ground, If >> not, I'm open to revisiting the discussion. >> >> >> >> Thanks, >> >> >> >> Adrian >> >> >> >> On Mar 17, 2016, at 6:13 PM, Adrian Otto <adrian.o...@rackspace.com >> <mailto:adrian.o...@rackspace.com>> wrote: >> >> >> >> Hongbin, >> >> One alternative we could discuss as an option for operators that >> have a good reason not to use Barbican, is to use Keystone. >> >> Keystone credentials store: >> >> http://specs.openstack.org/openstack/keystone-specs/api/v3/identity-ap >> i-v3.html#credentials-v3-credentials >> >> The contents are stored in plain text in the Keystone DB, so we >> would want to generate an encryption key per bay, encrypt the >> certificate and store it in keystone. We would then use the same key >> to decrypt it upon reading the key back. This might be an acceptable >> middle ground for clouds that will not or can not run Barbican. This >> should work for any OpenStack cloud since Grizzly. The total amount >> of code in Magnum would be small, as the API already exists. We >> would need a library function to encrypt and decrypt the data, and >> ideally a way to select different encryption algorithms in case one >> is judged weak at some point in the future, justifying the use of an >> alternate. >> >> Adrian >> >> >> On Mar 17, 2016, at 4:55 PM, Adrian Otto <adrian.o...@rackspace.com >> <mailto:adrian.o...@rackspace.com>> wrote: >> >> Hongbin, >> >> >> On Mar 17, 2016, at 2:25 PM, Hongbin Lu <hongbin...@huawei.com >> <mailto:hongbin...@huawei.com>> wrote: >> >> Adrian, >> >> I think we need a boarder set of inputs in this matter, so I moved >> the discussion from whiteboard back to here. Please check my replies >> inline. >> >> >> I would like to get a clear problem statement written for this. >> As I see it, the problem is that there is no safe place to put >> certificates in clouds that do not run Barbican. >> It seems the solution is to make it easy to add Barbican such that >> it's included in the setup for Magnum. >> >> No, the solution is to explore an non-Barbican solution to store >> certificates securely. >> >> >> I am seeking more clarity about why a non-Barbican solution is >> desired. Why is there resistance to adopting both Magnum and >> Barbican together? I think the answer is that people think they can >> make Magnum work with really old clouds that were set up before >> Barbican was introduced. That expectation is simply not reasonable. >> If there were a way to easily add Barbican to older clouds, perhaps >> this reluctance would melt away. >> >> >> Magnum should not be in the business of credential storage when >> there is an existing service focused on that need. >> >> Is there an issue with running Barbican on older clouds? >> Anyone can choose to use the builtin option with Magnum if hey >> don't have Barbican. >> A known limitation of that approach is that certificates are not >> replicated. >> >> I guess the *builtin* option you referred is simply placing the >> certificates to local file system. A few of us had concerns on this >> approach (In particular, Tom Cammann has gave -2 on the review [1]) >> because it cannot scale beyond a single conductor. Finally, we made >> a compromise to land this option and use it for testing/debugging >> only. In other words, this option is not for production. As a >> result, Barbican becomes the only option for production which is the >> root of the problem. It basically forces everyone to install >> Barbican in order to use Magnum. >> >> [1] https://review.openstack.org/#/c/212395/ >> >> >> It's probably a bad idea to replicate them. >> That's what Barbican is for. --adrian_otto >> >> Frankly, I am surprised that you disagreed here. Back to July 2015, >> we all agreed to have two phases of implementation and the statement >> was made by you [2]. >> >> ================================================================ >> #agreed Magnum will use Barbican for an initial implementation for >> certificate generation and secure storage/retrieval. We will commit >> to a second phase of development to eliminating the hard requirement >> on Barbican with an alternate implementation that implements the >> functional equivalent implemented in Magnum, which may depend on >> libraries, but not Barbican. >> ================================================================ >> >> [2] >> >> http://lists.openstack.org/pipermail/openstack-dev/2015-July/069130.ht >> ml >> >> >> The context there is important. Barbican was considered for two >> purposes: (1) CA signing capability, and (2) certificate storage. My >> willingness to implement an alternative was based on our need to get >> a certificate generation and signing solution that actually worked, >> as Barbican did not work for that at the time. I have always viewed >> Barbican as a suitable solution for certificate storage, as that was >> what it was first designed for. Since then, we have implemented >> certificate generation and signing logic within a library that does >> not depend on Barbican, and we can use that safely in production use >> cases. What we don't have built in is what Barbican is best at, >> secure storage for our certificates that will allow multi-conductor >> operation. >> >> I am opposed to the idea that Magnum should re-implement Barbican >> for certificate storage just because operators are reluctant to >> adopt it. If we need to ship a Barbican instance along with each >> Magnum control plane, so be it, but I don't see the value in >> re-inventing the wheel. I promised the OpenStack community that we >> were out to integrate with and enhance OpenStack not to replace it. >> >> Now, with all that said, I do recognize that not all clouds are >> motivated to use all available security best practices. They may be >> operating in environments that they believe are already secure >> (because of a secure perimeter), and that it's okay to run >> fundamentally insecure software within those environments. As >> misguided as this viewpoint may be, it's common. My belief is that >> it's best to offer the best practice by default, and only allow >> insecure operation when someone deliberately turns of fundamental >> security features. >> >> With all this said, I also care about Magnum adoption as much as all >> of us, so I'd like us to think creatively about how to strike the >> right balance between re-implementing existing technology, and >> making that technology easily accessible. >> >> Thanks, >> >> Adrian >> >> >> >> Best regards, >> Hongbin >> >> -----Original Message----- >> From: Adrian Otto [mailto:adrian.o...@rackspace.com] >> Sent: March-17-16 4:32 PM >> To: OpenStack Development Mailing List (not for usage questions) >> Subject: Re: [openstack-dev] [magnum] High Availability >> >> I have trouble understanding that blueprint. I will put some remarks >> on the whiteboard. Duplicating Barbican sounds like a mistake to me. >> >> -- >> Adrian >> >> >> On Mar 17, 2016, at 12:01 PM, Hongbin Lu <hongbin...@huawei.com >> <mailto:hongbin...@huawei.com>> wrote: >> >> The problem of missing Barbican alternative implementation has been >> raised several times by different people. IMO, this is a very >> serious issue that will hurt Magnum adoption. I created a blueprint >> for that [1] and set the PTL as approver. It will be picked up by a >> contributor once it is approved. >> >> [1] >> https://blueprints.launchpad.net/magnum/+spec/barbican-alternative-sto >> re >> >> Best regards, >> Hongbin >> >> -----Original Message----- >> From: Ricardo Rocha [mailto:rocha.po...@gmail.com] >> Sent: March-17-16 2:39 PM >> To: OpenStack Development Mailing List (not for usage questions) >> Subject: Re: [openstack-dev] [magnum] High Availability >> >> Hi. >> >> We're on the way, the API is using haproxy load balancing in the >> same way all openstack services do here - this part seems to work fine. >> >> For the conductor we're stopped due to bay certificates - we don't >> currently have barbican so local was the only option. To get them >> accessible on all nodes we're considering two options: >> - store bay certs in a shared filesystem, meaning a new set of >> credentials in the boxes (and a process to renew fs tokens) >> - deploy barbican (some bits of puppet missing we're sorting out) >> >> More news next week. >> >> Cheers, >> Ricardo >> >> >> On Thu, Mar 17, 2016 at 6:46 PM, Daneyon Hansen (danehans) >> <daneh...@cisco.com <mailto:daneh...@cisco.com>> wrote: >> All, >> >> Does anyone have experience deploying Magnum in a highly-available >> fashion? >> If so, I'm interested in learning from your experience. My biggest >> unknown is the Conductor service. Any insight you can provide is >> greatly appreciated. >> >> Regards, >> Daneyon Hansen >> >> _____________________________________________________________________ >> __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev