You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This pull request adds support for the OpenID Connect authentication
flow in Keystone and enables both ID and access token authentication
flows. The ID token configuration is designed to allow users to
authenticate via Horizon using an identity federation; whereas the
Access token is used to allow users to authenticate in the OpenStack CLI
using a federated user.
Without this PR, if one wants to configure OpenStack to use identity
federation, he/she needs to do a lot of configurations in the keystone,
Horizon, and register quite a good number of different parameters using
the CLI such as mappings, identity providers, federated protocols, and
so on. Therefore, with this PR, we propose a method for operators to
introduce/present the IdP's metadata to Kolla-ansible, and based on the
presented metadata, Kolla-ansible takes care of all of the
configurations to prepare OpenStack to work in a federated environment.
Implements: blueprint add-openid-support
Co-Authored-By: Jason Anderson <[email protected]>
Change-Id: I0203a3470d7f8f2a54d5e126d947f540d93b8210
(cherry picked from commit f3fbe83)
# Here we configure all of the IdPs meta informations that will be required to implement identity federation with OpenStack Keystone.
1206
+
# We require the administrator to enter the following metadata:
1207
+
# * name (internal name of the IdP in Keystone);
1208
+
# * openstack_domain (the domain in Keystone that the IdP belongs to)
1209
+
# * protocol (the federated protocol used by the IdP; e.g. openid or saml);
1210
+
# * identifier (the IdP identifier; e.g. https://accounts.google.com);
1211
+
# * public_name (the public name that will be shown for users in Horizon);
1212
+
# * attribute_mapping (the attribute mapping to be used for this IdP. This mapping is configured in the "keystone_identity_mappings" configuration);
1213
+
# * metadata_folder (folder containing all the identity provider metadata as jsons named as the identifier without the protocol
1214
+
# and with '/' escaped as %2F followed with '.provider' or '.client' or '.conf'; e.g. accounts.google.com.provider; PS, all .conf,
1215
+
# .provider and .client jsons must be in the folder, even if you dont override any conf in the .conf json, you must leave it as an empty json '{}');
1216
+
# * certificate_file (the path to the Identity Provider certificate file, the file must be named as 'certificate-key-id.pem';
1217
+
# e.g. LRVweuT51StjMdsna59jKfB3xw0r8Iz1d1J1HeAbmlw.pem; You can find the key-id in the Identity provider '.well-known/openid-configuration' jwks_uri as kid);
1218
+
#
1219
+
# The IdPs meta information are to be presented to Kolla-Ansible as the following example:
0 commit comments