| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2026-04-07 | |||
| 20:33:31 | dansmith | ack | |
| 20:56:44 | sean-k-mooney | melwitt: by the way i belive there as a specic commit possibel as part fo there srbac work that change teh secrte to be owned by the proejct | |
| 20:57:36 | sean-k-mooney | melwitt: i dont exactly know why i feel tha tway but i think we talksed about it before | |
| 20:58:22 | melwitt | sean-k-mooney: I wondered if that could be a possibility. I'll take another gander | |
| 20:58:30 | sean-k-mooney | i.e. the fact that is not only accable by the user is someitng that i was vaugly aware of an that it was not alwasy that way | |
| 21:00:40 | melwitt | as far as I could find it goes down to the model and object level, so always been that way | |
| 21:01:15 | melwitt | (this was just me looking in the code) | |
| 21:01:30 | dansmith | yeah I really thought we were told that it was specific to the user and not the project | |
| 21:02:12 | sean-k-mooney | melwitt: maybe https://opendev.org/openstack/barbican/commit/cd9b0ba9f0b4606193858d3cf05acd413a66ba1e | |
| 21:02:34 | sean-k-mooney | they use to enforce _SECRET_CREATOR = "user_id:%(target.secret.creator_id)s" | |
| 21:03:09 | sean-k-mooney | ... storybaord 2010235 has more info | |
| 21:03:38 | sean-k-mooney | huh its actully working https://storyboard.openstack.org/#!/story/2010235 | |
| 21:03:47 | sean-k-mooney | i guess the bots doen know about story board | |
| 21:05:37 | sean-k-mooney | ya so in https://opendev.org/openstack/barbican/commit/cd9b0ba9f0b4606193858d3cf05acd413a66ba1e the allowed project member not jsut teh orgial secreat creator to decrpte the secrete adn basiclly mange it | |
| 21:06:24 | melwitt | lol storyboard | |
| 21:06:30 | sean-k-mooney | without the need for acls so that proably shoudl ahve at least had a release note... or a doc update.... | |
| 21:07:20 | sean-k-mooney | https://review.opendev.org/c/openstack/barbican/+/853680 apprently that was aslo cherry-picked which is qustionable | |
| 21:07:24 | melwitt | yeah that's a pretty major change | |
| 21:07:34 | sean-k-mooney | although i coudl eb misreading those polices but i dont think i am | |
| 21:08:00 | dansmith | but these are API policies - doesn't barbican also have a more robust internal ACL system? | |
| 21:08:03 | dansmith | I guess I thought that | |
| 21:08:12 | dansmith | is what we were talking about here and not just API policy | |
| 21:08:27 | melwitt | I guess the old rule had rule:secret_project_admin which allows project admin also | |
| 21:08:34 | sean-k-mooney | hum actully on gerrit i think i might be https://review.opendev.org/c/openstack/barbican/+/853680/9/barbican/common/policies/secrets.py#72 | |
| 21:09:15 | melwitt | secrets are not as secret as I had thought :P | |
| 21:09:26 | sean-k-mooney | im not familar with rule:secret_is_not_private | |
| 21:09:59 | melwitt | that's the project_access thing. project_access=false=private. at least that's how it is today | |
| 21:10:09 | sean-k-mooney | ah | |
| 21:10:33 | sean-k-mooney | so seperatly form the acl you can mark it as prive to a user or public to the project | |
| 21:11:05 | sean-k-mooney | i assume acls were an evoltion of that with more granualatiy or someitng in later release | |
| 21:11:08 | melwitt | no that is the ACL. i.e. if you want to change it, it's a PUT to the /acl API | |
| 21:11:28 | dansmith | so the api policy defines the default but I can still ACL individual secrets however I want? | |
| 21:12:11 | melwitt | as far as I can tell the default is hard-coded, I don't think you can change it | |
| 21:12:16 | melwitt | *don't think you can change the default | |
| 21:12:33 | melwitt | and you can't create a secret to have project_access=false from the get go | |
| 21:12:34 | sean-k-mooney | https://docs.openstack.org/barbican/latest/api/reference/acls.html | |
| 21:12:53 | sean-k-mooney | so apprenlty the acl is on tdefien on indeivual secrets but the contienr the sectes are contied in | |
| 21:13:10 | sean-k-mooney | it feels like this is not fully baked based on teh documantion warning | |
| 21:14:37 | sean-k-mooney | https://docs.openstack.org/api-guide/key-manager/acls.html#default-acl | |
| 21:14:37 | melwitt | yeah... kinda also why I was thinking cross-project at the ptg, to just get a sanity check from barbican experts if they are out there | |
| 21:15:02 | sean-k-mooney | { | |
| 21:15:04 | sean-k-mooney | "read":{ | |
| 21:15:06 | sean-k-mooney | "project-access": true | |
| 21:15:08 | sean-k-mooney | } | |
| 21:15:10 | sean-k-mooney | } | |
| 21:15:19 | sean-k-mooney | so that apprently the default os i guess whne they added acls it change the behvior | |
| 21:15:45 | melwitt | ok so you are saying before ACLs even existed, it was like private secrets? | |
| 21:17:13 | melwitt | vtpm was added in the victoria release which was in 2020 | |
| 21:17:37 | sean-k-mooney | im not sure | |
| 21:17:43 | sean-k-mooney | bu tjsut skiming ther eapi ref | |
| 21:17:56 | sean-k-mooney | i think if we anted to chagne teh bhvior we would need 3 calls minium | |
| 21:18:04 | sean-k-mooney | 1 to create a metadata only secrete | |
| 21:18:09 | sean-k-mooney | then to apply the acl to it | |
| 21:18:15 | sean-k-mooney | and finaly to upload the data | |
| 21:18:47 | sean-k-mooney | i would assume we are not doing that today | |
| 21:19:12 | melwitt | yeah that's exactly what I thought we would have to do and no we are not doing that today | |
| 21:19:18 | sean-k-mooney | so when we are creatign the "user" secreat its likely project scoped | |
| 21:19:34 | melwitt | secrets in nova have always been create with the default acl, so have always been open to project | |
| 21:20:16 | melwitt | I don't know why I thought they were private to a user :( | |
| 21:21:54 | sean-k-mooney | so its the secret:decrypt | |
| 21:22:00 | sean-k-mooney | polyc that we care about rahter then get | |
| 21:22:07 | sean-k-mooney | get is just the metadata | |
| 21:22:07 | melwitt | correct | |
| 21:22:19 | melwitt | yes | |
| 21:23:26 | melwitt | man the test_resize_reschedule_uses_host_lists_3_fails unit test is going crazy in CI | |
| 21:23:48 | sean-k-mooney | https://opendev.org/openstack/barbican/blame/commit/661386a517fac2f81d6b35706dd360b045955c3f/barbican/common/policies/secrets.py#L21 | |
| 21:24:03 | sean-k-mooney | so that acl rules has been there for at least 10 years | |
| 21:24:47 | sean-k-mooney | so in effect they have never been user scoped unless you change the acl | |
| 21:24:58 | melwitt | I don't think so right because of this https://opendev.org/openstack/barbican/src/commit/661386a517fac2f81d6b35706dd360b045955c3f/barbican/common/policies/base.py#L50-L52 | |
| 21:25:14 | melwitt | oh wait that's not decrypt | |
| 21:25:49 | sean-k-mooney | righ if you look at https://opendev.org/openstack/barbican/blame/commit/661386a517fac2f81d6b35706dd360b045955c3f/barbican/common/policies/secrets.py#L21 | |
| 21:26:03 | sean-k-mooney | that has the 'rule:secret_acl_read' rule alaready | |
| 21:26:03 | melwitt | https://opendev.org/openstack/barbican/src/commit/661386a517fac2f81d6b35706dd360b045955c3f/barbican/common/policies/base.py#L53-L55 | |
| 21:26:30 | melwitt | if I read that right it was allow project admin, project observer, project creator | |
| 21:26:44 | melwitt | so it's true it was not project member | |
| 21:26:55 | sean-k-mooney | right os creator was the old role they mapped to member | |
| 21:27:00 | sean-k-mooney | and observer i guess was reader | |
| 21:27:24 | sean-k-mooney | so before srbac to us babican at all admin had to assing you the creator role | |
| 21:30:21 | sean-k-mooney | melwitt: i think this is perhaps the relvent spec https://github.com/openstack/barbican-specs/blob/master/specs/kilo/add-creator-only-option.rst | |
| 21:30:50 | sean-k-mooney | well and https://github.com/openstack/barbican-specs/blob/master/specs/kilo/add-per-secret-policy.rst | |
| 21:31:34 | melwitt | ok yeah that is showing that private secrets was a new feature at the time. wasn't even possible originally | |
| 21:32:05 | sean-k-mooney | rigth so the second spec is the one that intouced tha acl api | |
| 21:32:33 | sean-k-mooney | and the first was specificly usignit for providign diffent options for the creator role | |
| 21:32:53 | melwitt | interesting. good to know | |
| 21:34:06 | sean-k-mooney | i hate to say this but.... this would allwo a 4 mode of operations | |
| 21:35:03 | sean-k-mooney | we could have a "delegated" for lack fo a beter term mode where the secret is owned by the end user isntead of the nova user but we just add an acl for ti when creating it for the nova user to be able to read it when needed | |
| 21:35:17 | sean-k-mooney | and do that only for the tpm secrets that we are cretaing on there behalf | |
| 21:35:58 | sean-k-mooney | that almost what the deployment mode is with the only delta being the secret remaisn owned by the project that owns the vm | |
| 21:36:11 | melwitt | yeah .. that would work I think | |
| 21:36:30 | sean-k-mooney | you coudl also upgrae to that by backfilling the ACL | |
| 21:36:56 | melwitt | honestly that seems easier because then the service project thing doesn't come up | |
| 21:37:33 | sean-k-mooney | although well it kind of does but only in the sense that what ever auth cred we are usign to talk to it need to be one form our config | |
| 21:37:51 | sean-k-mooney | but just lookign at master for a second | |
| 21:37:53 | sean-k-mooney | https://opendev.org/openstack/barbican/src/branch/master/barbican/common/policies/secrets.py#L19-L26 | |
| 21:38:08 | sean-k-mooney | rule:secret_project_admin | |
| 21:38:17 | melwitt | yeah but I mean if we do it by giving the nova user access via acl, then it's never open to the service project right | |
| 21:38:37 | sean-k-mooney | i asumem that is someone wiht the admin role that has a project scoped token for that project right | |
| 21:38:58 | melwitt | I think that's what that means, yes | |
| 21:39:06 | sean-k-mooney | oh well there may or may not be a shared service project | |
| 21:39:20 | sean-k-mooney | we do that in devstack but in our down stream we dont i belive | |