Domain-specific domain ID resolution breaks with system-scoped tokens
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
High
|
Lance Bragstad | ||
Queens |
Fix Committed
|
High
|
Colleen Murphy | ||
Rocky |
Fix Committed
|
High
|
Matt Riedemann | ||
Stein |
Fix Committed
|
High
|
Lance Bragstad | ||
Train |
Fix Released
|
High
|
Lance Bragstad |
Bug Description
System-scope was introduced in Queens [0] but recently we discovered a weird case where system users aren't able to do things they should be able to with system-scoped tokens when domain-specific drivers are enabled.
For example, they are unable to list groups or users because the API logic for GET /v3/groups and GET /v3/users tries to resolve a domain ID from the request [1]. If domain-specific drivers are enabled and there isn't a domain ID associated to the request (either with a domain-scoped token or a project-scoped token) the API returns a 401, which makes no sense from the context of a system user [2].
You can recreate this locally by enabling domain-specific drivers in keystone.conf [3] and running the test_groups or test_users v3 protection tests using:
$ tox -e py37 -- keystone.
Observed failures: https:/
This isn't blocking the gate because domain-specific drivers are off by default and the logic short-circuits [4].
[0] http://
[1] https:/
[2] https:/
[3] https:/
[4] https:/
Changed in keystone: | |
status: | New → Triaged |
importance: | Undecided → High |
tags: | added: system |
tags: |
added: system-scope removed: system |
no longer affects: | keystone/stein |
no longer affects: | keystone/trunk |
Fix proposed to branch: master /review. opendev. org/681833
Review: https:/