In keystone-to-keystone federation (k2k), the IdP and SP keystone instances exchange information securely to enable a user on the IdP cloud to access resources of the SP cloud.
Important
This section applies only to federation between keystone IdP and keystone SP. It does not apply to non-keystone IdP.
The k2k authentication flow involves the following steps:
The following steps above involve manually sending API requests.
Note
The infrastructure for the command line utilities that performs these steps for the user does not exist.
To obtain access to a SP cloud, OpenStack-Ansible provides a script that wraps the above steps. The script is called federated-login.sh and is used as follows:
# ./scripts/federated-login.sh -p project [-d domain] sp_id
The script outputs the results of all the steps in the authentication flow to the console. At the end, it prints the available endpoints from the catalog and the scoped token provided by the SP.
Use the endpoints and token with the openstack command line client as follows:
# openstack --os-token=<token> --os-url=<service-endpoint> [options]
Or, alternatively:
# export OS_TOKEN=<token>
# export OS_URL=<service-endpoint>
# openstack [options]
Ensure you select the appropriate endpoint for your operation. For example, if you want to work with servers, the OS_URL argument must be set to the compute endpoint.
Note
At this time, the OpenStack client is unable to find endpoints in the service catalog when using a federated login.