keystone/keystone
Rafael Weingärtner 14ac08431f Keystone to honor the "domain" attribute mapping rules.
We propose to extend Keystone identity provider (IdP) attribute mapping
schema to make Keystone honor the `domain` configuration that we have
on it.

Currently, that configuration is only used to define a default domain
for groups (and then each group there, could override it). It is
interesting to expand this configuration (as long as it is in the root
of the attribute mapping) to be also applied for users and projects.

Moreover, to facilitate the development and extension concerning
attribute mappings for IdPs, we changed the way the attribute mapping
schema is handled. We introduce a new configuration
`federation_attribute_mapping_schema_version`, which defaults to "1.0".
This attribute mapping schema version will then be used to control the
validation of attribute mapping, and also the rule processors used to
process the attributes that come from the IdP. So far, with this PR,
we introduce the attribute mapping schema "2.0", which enables
operators to also define a domain for the projects they want to assign
users. If no domain is defined either in the project or in the global
domain definition for the attribute mapping, we take the IdP domain
as the default.

Change-Id: Ia9583a254336fad7b302430a38b538c84338d13d
Implements: https://bugs.launchpad.net/keystone/+bug/1887515
Closes-Bug: #1887515
2024-01-16 08:54:56 -03:00
..
api Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
application_credential db: Replace use of reverse cascades 2023-02-28 17:26:39 +00:00
assignment Stop pinning pep8 related packages 2023-10-02 15:41:36 -05:00
auth Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
catalog db: Replace use of Query.get() 2023-02-28 17:26:39 +00:00
cmd Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
common Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
conf Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
credential sql: Fix incorrect columns 2023-07-03 12:32:58 +01:00
endpoint_policy Remove six usage 2020-01-30 06:06:51 +00:00
federation Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
identity Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
limit Remove six usage 2020-01-30 06:06:51 +00:00
locale Imported Translations from Zanata 2023-08-26 03:38:27 +00:00
models OAuth 2.0 Mutual-TLS Support 2023-03-03 11:28:05 +09:00
oauth1 db: Replace use of Query.get() 2023-02-28 17:26:39 +00:00
oauth2 OAuth2.0 Client Credentials Grant Flow Support 2022-06-14 09:09:33 +00:00
policy db: Replace use of Query.get() 2023-02-28 17:26:39 +00:00
receipt Remove six usage 2020-01-30 06:06:51 +00:00
resource sql: Remove duplicate constraints 2023-04-06 11:23:03 +01:00
revoke requirements: Bump linter requirements 2022-10-26 15:14:21 +03:00
server Don't forget to check if authorization fails 2023-03-17 16:54:41 -05:00
tests Keystone to honor the "domain" attribute mapping rules. 2024-01-16 08:54:56 -03:00
token OAuth 2.0 Mutual-TLS Support 2023-03-03 11:28:05 +09:00
trust db: Replace use of Query.get() 2023-02-28 17:26:39 +00:00
__init__.py Revert "Disable eventlet monkey-patching of DNS" 2013-05-10 10:24:48 -04:00
exception.py OAuth2.0 Client Credentials Grant Flow Support 2022-06-14 09:09:33 +00:00
i18n.py Fix translated response 2019-08-19 14:49:37 +08:00
notifications.py Hide AccountLocked exception from end users 2021-04-23 13:43:42 -05:00
version.py Add expiring user group memberships on mapped authentication 2020-04-07 19:30:57 -04:00