Identity¶
Identity API provided by Keystone service
versions¶
auth¶
New in version 3.3
This call returns the list of projects that are available to be scoped to based on the X-Auth-Token provided in the request.
The structure of the response is exactly the same as listing projects for a user.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_projects
Responses¶
200¶
Ok
403¶
Error
404¶
Error
New in version 3.3
This call returns the list of domains that are available to be scoped to based on the X-Auth-Token provided in the request.
The structure is the same as listing domains.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_domains
Responses¶
200¶
Ok
403¶
Error
404¶
Error
New in version 3.3
This call returns a service catalog for the X-Auth-Token provided in the request, even if the token does not contain a catalog itself (for example, if it was generated using ?nocatalog).
The structure of the catalog object is identical to that contained in a token.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_catalog
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Validates a token.
This call is similar to GET /auth/tokens
but no response body
is provided even in the X-Subject-Token
header.
The Identity API returns the same response as when the subject
token was issued by POST /auth/tokens
even if an error occurs
because the token is not valid. An HTTP 204
response code
indicates that the X-Subject-Token
is valid.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_tokens
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Validates and shows information for a token, including its expiration date and authorization scope.
Pass your own token in the X-Auth-Token
request header.
Pass the token that you want to validate in the X-Subject-Token
request header.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_tokens
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
A |
token.expires_at |
body |
string |
The date and time when the token expires. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss.sssZ
For example, A |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
A |
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
|
token.is_domain |
body |
boolean |
|
token.domain |
body |
object |
A domain object including the id and name representing the domain the token is scoped to. This is only included in tokens that are scoped to a domain. |
token.domain.id |
body |
string |
A domain UUID |
token.domain.name |
body |
string |
A domain name |
token.project |
body |
object |
A |
token.project.id |
body |
string |
A user domain UUID |
token.project.name |
body |
string |
A user domain name |
token.system |
body |
object |
A |
403¶
Error
404¶
Error
Authenticates an identity and generates a token. Uses the password authentication method. Authorization is unscoped.
The request body must include a payload that specifies the
authentication method, which is password
, and the user, by ID
or name, and password credentials.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_tokens
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
A |
token.expires_at |
body |
string |
The date and time when the token expires. The date and time stamp format is ISO 8601: CCYY-MM-DDThh:mm:ss.sssZ
For example, A |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
A |
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
|
token.is_domain |
body |
boolean |
|
token.domain |
body |
object |
A domain object including the id and name representing the domain the token is scoped to. This is only included in tokens that are scoped to a domain. |
token.domain.id |
body |
string |
A domain UUID |
token.domain.name |
body |
string |
A domain name |
token.project |
body |
object |
A |
token.project.id |
body |
string |
A user domain UUID |
token.project.name |
body |
string |
A user domain name |
token.system |
body |
object |
A |
401¶
Unauthorized
Name |
Location |
Type |
Description |
---|---|---|---|
receipt |
body |
object |
|
receipt.expires_at |
body |
string |
The date and time when the token expires. |
receipt.issues_at |
body |
string |
The date and time when the token was issued. |
receipt.user |
body |
object |
A user object |
receipt.user.id |
body |
string |
A user UUID |
receipt.user.name |
body |
string |
A user name |
receipt.user.domain |
body |
object |
|
receipt.user.domain.id |
body |
string |
A user domain UUID |
receipt.user.domain.name |
body |
string |
A user domain name |
receipt.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
receipt.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
Revokes a token.
This call is similar to the HEAD /auth/tokens
call except that
the X-Subject-Token
token is immediately not valid, regardless
of the expires_at
attribute value. An additional
X-Auth-Token
is not required.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/auth_tokens
Responses¶
204¶
Ok
403¶
Error
404¶
Error
A user may generate a SAML assertion document based on the scoped token that is used in the request.
Request Parameters:
To generate a SAML assertion, a user must provides a scoped token ID and Service Provider ID in the request body.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/saml2
Request¶
Responses¶
200¶
Ok
403¶
Error
404¶
Error
A user may generate a SAML assertion document to work with the Enhanced Client or Proxy (ECP) profile based on the scoped token that is used in the request.
Request Parameters:
To generate an ECP wrapped SAML assertion, a user must provides a scoped token ID and Service Provider ID in the request body.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/saml2/ecp
Request¶
Responses¶
200¶
Ok
403¶
Error
404¶
Error
GET operation on /v3/auth/OS-FEDERATION/websso/{protocol_id}
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
POST operation on /v3/auth/OS-FEDERATION/websso/{protocol_id}
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
GET operation on /v3/auth/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/websso
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
POST operation on /v3/auth/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/websso
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
OS-FEDERATION¶
Deprecated in v1.1. Use core GET /auth/projects
. This call has the same
response format.
Returns a collection of projects to which the federated user has authorization to access. To access this resource, an unscoped token is used, the user can then select a project and request a scoped token. Note that only enabled projects will be returned.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/projects
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Deprecated in v1.1. Use core GET /auth/domains
. This call has the same
response format.
Returns a collection of domains to which the federated user has authorization to access. To access this resource, an unscoped token is used, the user can then select a domain and request a scoped token. Note that only enabled domains will be returned.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/domains
Responses¶
200¶
Ok
403¶
Error
404¶
Error
A user may retrieve Metadata about an Identity Service acting as an Identity Provider.
The response will be a full document with Metadata properties. Note that for readability, this example certificate has been truncated.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/metadata
Responses¶
200¶
Ok
403¶
Error
404¶
Error
A federated ephemeral user may request an unscoped token, which can be used to get a scoped token.
If the user is mapped directly (mapped to an existing user), a standard, unscoped token will be issued.
Due to the fact that this part of authentication is strictly connected with the SAML2 authentication workflow, a client should not send any data, as the content may be lost when a client is being redirected between Service Provider and Identity Provider. Both HTTP methods - GET and POST should be allowed as Web Single Sign-On (WebSSO) and Enhanced Client Proxy (ECP) mechanisms have different authentication workflows and use different HTTP methods while accessing protected endpoints.
The returned token will contain information about the groups to which the federated user belongs.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol_auth
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
Authenticate from dedicated uri endpoint.
POST /OS-FEDERATION/identity_providers/ {idp_id}/protocols/{protocol_id}/auth
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
token |
body |
object |
Federation unscoped token containing methods and user information |
token.expires_at |
body |
string |
The date and time when the token expires. |
token.issues_at |
body |
string |
The date and time when the token was issued. |
token.user |
body |
object |
A user object |
token.user.id |
body |
string |
A user UUID |
token.user.name |
body |
string |
A user name |
token.user.domain |
body |
object |
|
token.user.domain.id |
body |
string |
A user domain UUID |
token.user.domain.name |
body |
string |
A user domain name |
token.user.password_expires_at |
body |
string |
DateTime of the user password expiration |
token.user.OS-FEDERATION |
body |
object |
403¶
Error
404¶
Error
Get registered identity providers.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
identity_provider |
body |
object |
|
identity_provider.id |
body |
string |
The Identity Provider unique ID |
identity_provider.description |
body |
string |
The Identity Provider description |
identity_provider.domain_id |
body |
string |
The ID of a domain that is associated with the Identity Provider. Federated users that authenticate with the Identity Provider will be created under the domain specified. |
identity_provider.authorization_ttl |
body |
integer |
The length of validity in minutes for group memberships carried over through mapping and persisted in the database. If left unset, the default value configured in keystone will be used, if enabled. |
identity_provider.enabled |
body |
boolean |
Whether the Identity Provider is enabled or not |
403¶
Error
404¶
Error
Register an identity provider to be used to authenticate federated users.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
identity_provider |
body |
object |
|
identity_provider.id |
body |
string |
The Identity Provider unique ID |
identity_provider.description |
body |
string |
The Identity Provider description |
identity_provider.domain_id |
body |
string |
The ID of a domain that is associated with the Identity Provider. Federated users that authenticate with the Identity Provider will be created under the domain specified. |
identity_provider.authorization_ttl |
body |
integer |
The length of validity in minutes for group memberships carried over through mapping and persisted in the database. If left unset, the default value configured in keystone will be used, if enabled. |
identity_provider.enabled |
body |
boolean |
Whether the Identity Provider is enabled or not |
403¶
Error
404¶
Error
Get a protocol and attribute mapping for an identity provider.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
protocol |
body |
object |
The Federation Protocol object |
protocol.id |
body |
string |
The federation protocol ID |
protocol.mapping_id |
body |
string |
|
protocol.remote_id_attribute |
body |
string |
403¶
Error
404¶
Error
Add a protocol and attribute mapping to an identity provider.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/identity_provider_protocol
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
protocol |
body |
object |
The Federation Protocol object |
protocol.id |
body |
string |
The federation protocol ID |
protocol.mapping_id |
body |
string |
|
protocol.remote_id_attribute |
body |
string |
403¶
Error
404¶
Error
Get a specific federated mapping.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/mapping
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
mapping |
body |
object |
|
mapping.id |
body |
string |
The Federation Mapping unique ID |
mapping.schema_version |
body |
string |
Mapping schema version |
403¶
Error
404¶
Error
Create a federated mapping.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/mapping
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
mapping |
body |
object |
|
mapping.id |
body |
string |
The Federation Mapping unique ID |
mapping.schema_version |
body |
string |
Mapping schema version |
403¶
Error
404¶
Error
Get a specific service provider reference.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/service_provider
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
service_provider |
body |
object |
|
service_provider.auth_url |
body |
string |
The URL to authenticate against |
service_provider.description |
body |
[‘string’, ‘null’] |
The description of the Service Provider |
service_provider.id |
body |
string |
The Service Provider unique ID |
service_provider.enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
service_provider.relay_state_prefix |
body |
[‘string’, ‘null’] |
The prefix of the RelayState SAML attribute |
service_provider.sp_url |
body |
string |
The Service Provider’s URL |
403¶
Error
404¶
Error
Create a service provider entity.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-FEDERATION/1.0/rel/service_provider
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
service_provider |
body |
object |
|
service_provider.auth_url |
body |
string |
The URL to authenticate against |
service_provider.description |
body |
[‘string’, ‘null’] |
The description of the Service Provider |
service_provider.id |
body |
string |
The Service Provider unique ID |
service_provider.enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
service_provider.relay_state_prefix |
body |
[‘string’, ‘null’] |
The prefix of the RelayState SAML attribute |
service_provider.sp_url |
body |
string |
The Service Provider’s URL |
403¶
Error
404¶
Error
credentials¶
Creates a credential.
The following example shows how to create an EC2-style credential.
The credential blob is a string that contains a JSON-serialized
dictionary with the access
and secret
keys. This format is
required when you specify the ec2
type. To specify other
credentials, such as access_key
, change the type and contents
of the data blob.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/credentials
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
application_credential |
body |
object |
|
application_credential.id |
body |
string |
The UUID for the credential. |
application_credential.project_id |
body |
string |
The ID for the project. |
application_credential.name |
body |
string |
|
application_credential.description |
body |
[‘string’, ‘null’] |
|
application_credential.expires_at |
body |
[‘null’, ‘string’] |
|
application_credential.unrestricted |
body |
boolean |
|
application_credential.secret |
body |
string |
The secret for the application credential, either generated by the server or provided by the user. This is only ever shown once in the response to a create request. It is not stored nor ever shown again. If the secret is lost, a new application credential must be created. |
403¶
Error
404¶
Error
domains¶
Shows details for a domain.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domains
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
id |
body |
string |
The ID of the domain. |
description |
body |
[‘string’, ‘null’] |
The description of the domain. |
enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
name |
body |
string |
The name of the project. |
403¶
Error
404¶
Error
Deletes a domain. To minimize the risk of accidentally deleting a domain, you must first disable the domain by using the update domain method.
When you delete a domain, this call also deletes all entities owned by it, such as users, groups, and projects, and any credentials and granted roles that relate to those entities.
If you try to delete an enabled domain, this call returns the
Forbidden (403)
response code.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domain
Responses¶
204¶
Ok
403¶
Error
404¶
Error
Creates a domain.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domains
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
id |
body |
string |
The ID of the domain. |
description |
body |
[‘string’, ‘null’] |
The description of the domain. |
enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
name |
body |
string |
The name of the project. |
403¶
Error
404¶
Error
Shows details for a domain configuration.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domain_config
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
config |
body |
object |
A |
config.identity |
body |
object |
An |
config.identity.driver |
body |
string |
The Identity backend driver. |
config.ldap |
body |
object |
An |
config.ldap.url |
body |
string |
The LDAP URL. |
config.ldap.user_tree_dn |
body |
string |
The base distinguished name (DN) of LDAP, from
where all users can be reached. For example,
|
403¶
Error
404¶
Error
Creates a domain configuration.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domain_config
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
config |
body |
object |
A |
config.identity |
body |
object |
An |
config.identity.driver |
body |
string |
The Identity backend driver. |
config.ldap |
body |
object |
An |
config.ldap.url |
body |
string |
The LDAP URL. |
config.ldap.user_tree_dn |
body |
string |
The base distinguished name (DN) of LDAP, from
where all users can be reached. For example,
|
403¶
Error
404¶
Error
Shows details for a domain group option configuration.
The API supports only the identity
and ldap
groups. For the
ldap
group, a valid value is url
or user_tree_dn
. For
the identity
group, a valid value is driver
.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domain_config_default
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Deletes a domain group option configuration.
The API supports only the identity
and ldap
groups. For the
ldap
group, a valid value is url
or user_tree_dn
. For
the identity
group, a valid value is driver
.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/domain_config_default
Responses¶
204¶
Ok
403¶
Error
404¶
Error
The default configuration settings for the options that can be overridden can be retrieved.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/rel/domain_config_default
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
config |
body |
object |
A |
config.identity |
body |
object |
An |
config.identity.driver |
body |
string |
The Identity backend driver. |
config.ldap |
body |
object |
An |
config.ldap.url |
body |
string |
The LDAP URL. |
config.ldap.user_tree_dn |
body |
string |
The base distinguished name (DN) of LDAP, from
where all users can be reached. For example,
|
403¶
Error
404¶
Error
Reads the default configuration settings for a specific group.
The API supports only the identity
and ldap
groups.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/rel/domain_config_default
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
config |
body |
object |
A |
config.identity |
body |
object |
An |
config.identity.driver |
body |
string |
The Identity backend driver. |
config.ldap |
body |
object |
An |
config.ldap.url |
body |
string |
The LDAP URL. |
config.ldap.user_tree_dn |
body |
string |
The base distinguished name (DN) of LDAP, from
where all users can be reached. For example,
|
403¶
Error
404¶
Error
Reads the default configuration setting for an option within a group.
The API supports only the identity
and ldap
groups. For the
ldap
group, a valid value is url
or user_tree_dn
. For
the identity
group, a valid value is driver
.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/rel/domain_config_default
Responses¶
200¶
Ok
403¶
Error
404¶
Error
ec2tokens¶
endpoints¶
Shows details for an endpoint.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/endpoints
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
endpoint |
body |
object |
An |
endpoint.enabled |
body |
boolean |
Indicates whether the endpoint appears in the
service catalog: - |
endpoint.id |
body |
string |
The endpoint ID. |
endpoint.interface |
body |
string |
The interface type, which describes the
visibility of the endpoint. Value is: - |
endpoint.region |
body |
string |
(Deprecated in v3.2) The geographic location of
the service endpoint. |
endpoint.region_id |
body |
string |
(Since v3.2) The ID of the region that contains
the service endpoint. |
endpoint.service_id |
body |
string |
The UUID of the service to which the endpoint belongs. |
endpoint.url |
body |
string |
The endpoint URL. |
403¶
Error
404¶
Error
Creates an endpoint.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/endpoints
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
endpoint |
body |
object |
An |
endpoint.enabled |
body |
boolean |
Indicates whether the endpoint appears in the
service catalog: - |
endpoint.id |
body |
string |
The endpoint ID. |
endpoint.interface |
body |
string |
The interface type, which describes the
visibility of the endpoint. Value is: - |
endpoint.region |
body |
string |
(Deprecated in v3.2) The geographic location of
the service endpoint. |
endpoint.region_id |
body |
string |
(Since v3.2) The ID of the region that contains
the service endpoint. |
endpoint.service_id |
body |
string |
The UUID of the service to which the endpoint belongs. |
endpoint.url |
body |
string |
The endpoint URL. |
403¶
Error
404¶
Error
Returns the policy that is currently associated with the given endpoint, by working through the ordered sequence of methods of association. The first association that is found will be returned. If the region of the endpoint has a parent, then region associations will be examined up the region tree in ascending order.
A HEAD version of this API is also supported.
Responses¶
200¶
Ok
403¶
Error
404¶
Error
groups¶
Shows details for a group.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/group
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A |
group.id |
body |
string |
The ID of the group. |
group.description |
body |
[‘string’, ‘null’] |
The description of the group. |
group.domain_id |
body |
string |
The ID of the domain. |
group.name |
body |
string |
The user name. Must be unique within the owning domain. |
403¶
Error
404¶
Error
Creates a group.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/groups
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
group |
body |
object |
A |
group.id |
body |
string |
The ID of the group. |
group.description |
body |
[‘string’, ‘null’] |
The description of the group. |
group.domain_id |
body |
string |
The ID of the domain. |
group.name |
body |
string |
The user name. Must be unique within the owning domain. |
403¶
Error
404¶
Error
limits¶
OS-EP-FILTER¶
OS-INHERIT¶
The inherited role is only applied to the owned projects (both existing and future projects), and will not appear as a role in a domain scoped token.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/domain_group_role_inherited_to_projects
Request¶
Responses¶
201¶
Ok
403¶
Error
404¶
Error
The list only contains those role assignments to the domain that were specified as being inherited to projects within that domain.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/domain_group_roles_inherited_to_projects
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Assigns a role to a user in projects owned by a domain.
The inherited role is only applied to the owned projects (both existing and future projects), and will not appear as a role in a domain scoped token.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/domain_user_role_inherited_to_projects
Request¶
Responses¶
201¶
Ok
403¶
Error
404¶
Error
The list only contains those role assignments to the domain that were specified as being inherited to projects within that domain.
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/domain_user_roles_inherited_to_projects
Responses¶
200¶
Ok
403¶
Error
404¶
Error
The inherited role assignment is anchored to a project and applied to its subtree in the projects hierarchy (both existing and future projects).
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/project_user_role_inherited_to_projects
Request¶
Responses¶
201¶
Ok
403¶
Error
404¶
Error
The inherited role assignment is anchored to a project and applied to its subtree in the projects hierarchy (both existing and future projects).
Relationship:
https://docs.openstack.org/api/openstack-identity/3/ext/OS-INHERIT/1.0/rel/project_group_role_inherited_to_projects
Request¶
Responses¶
201¶
Ok
403¶
Error
404¶
Error
OS-OAUTH1¶
Enables a consumer to get an unauthorized request token.
Supported signature methods: HMAC-SHA1
The consumer must provide all required OAuth parameters in the request. See Consumer Obtains a Request Token.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-OAUTH1/1.0/rel/request_tokens
Request¶
Responses¶
200¶
Ok
403¶
Error
404¶
Error
Enables a consumer to obtain an access token by exchanging a request token.
After a user authorizes the request token, the consumer exchanges the authorized request token and OAuth verifier for an access token.
Supported signature methods: HMAC-SHA1
The consumer must provide all required OAuth parameters in the request. See Consumer Requests an Access Token.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-OAUTH1/1.0/rel/access_tokens
Request¶
Responses¶
200¶
Ok
403¶
Error
404¶
Error
To authorize the Request Token, the authorizing user must have access to the requested project. Upon successful authorization, an OAuth Verifier code is returned. The Consumer receives the OAuth Verifier from the User out-of-band.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-OAUTH1/1.0/rel/authorize_request_token
OS-OAUTH2¶
OS-REVOKE¶
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-REVOKE/1.0/rel/events
List revocation events.
The HTTP Date header returned in the response reflects the timestamp of the most recently issued revocation event. Clients can then use this value in the since query parameter to limit the list of events in subsequent requests.
Responses¶
200¶
Ok
403¶
Error
404¶
Error
OS-SIMPLE-CERT¶
policies¶
projects¶
Shows details for a project.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/project
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
project |
body |
object |
A |
project.id |
body |
string |
The ID for the project. |
project.description |
body |
[‘string’, ‘null’] |
The description of the project. |
project.domain_id |
body |
[‘string’, ‘null’] |
The ID of the domain for the project. |
project.enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
project.is_domain |
body |
boolean |
Whether the Service Provider is enabled or not |
project.parent_id |
body |
[‘string’, ‘null’] |
The ID of the parent for the project. New in version 3.4 |
project.name |
body |
string |
The name of the project. |
project.options |
body |
object |
The resource options for the project. Available resource options are
|
project.options.immutable |
body |
[‘boolean’, ‘null’] |
403¶
Error
404¶
Error
Creates a project, where the project may act as a domain.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
project |
body |
object |
A |
project.id |
body |
string |
The ID for the project. |
project.description |
body |
[‘string’, ‘null’] |
The description of the project. |
project.domain_id |
body |
[‘string’, ‘null’] |
The ID of the domain for the project. |
project.enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
project.is_domain |
body |
boolean |
Whether the Service Provider is enabled or not |
project.parent_id |
body |
[‘string’, ‘null’] |
The ID of the parent for the project. New in version 3.4 |
project.name |
body |
string |
The name of the project. |
project.options |
body |
object |
The resource options for the project. Available resource options are
|
project.options.immutable |
body |
[‘boolean’, ‘null’] |
403¶
Error
404¶
Error
List tags associated with a given project.
GET /v3/projects/{project_id}/tags
Lists all tags within a project.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Modifies the tags for a project. Any existing tags not specified will be deleted.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Remove all tags from a given project.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Get information for a single tag associated with a given project.
GET /v3/projects/{project_id}/tags/{value}
Checks if a project contains the specified tag.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Creates the specified tag and adds it to the list of tags in the project.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
Remove a single tag from a project.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/projects
regions¶
Shows details for a region, by ID.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/regions
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
region |
body |
object |
A |
region.description |
body |
string |
The region description. |
region.id |
body |
string |
The ID for the region. |
region.parent_id |
body |
string |
To make this region a child of another region, set this parameter to the ID of the parent region. |
403¶
Error
404¶
Error
Creates a region.
When you create the region, you can optionally specify a region ID. If you include characters in the region ID that are not allowed in a URI, you must URL-encode the ID. If you omit an ID, the API assigns an ID to the region.
The following errors might occur:
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/regions
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
region |
body |
object |
A |
region.description |
body |
string |
The region description. |
region.id |
body |
string |
The ID for the region. |
region.parent_id |
body |
string |
To make this region a child of another region, set this parameter to the ID of the parent region. |
403¶
Error
404¶
Error
registered_limits¶
role_assignments¶
Get a list of role assignments.
If no query parameters are specified, then this API will return a list of all role assignments.
Since this list is likely to be very long, this API would typically always be used with one of more of the filter queries. Some typical examples are:
GET /v3/role_assignments?user.id={user_id}
would list all role assignments
involving the specified user.
GET /v3/role_assignments?scope.project.id={project_id}
would list all role
assignments involving the specified project.
It is also possible to list all role assignments within
a tree of projects:
GET /v3/role_assignments?scope.project.id={project_id}&include_subtree=true
would list all role assignments involving the specified project and all
sub-projects. include_subtree=true
can only be specified in conjunction
with scope.project.id
, specifying it without this will result in an
HTTP 400 Bad Request being returned.
Each role assignment entity in the collection contains a link to the assignment that gave rise to this entity.
The scope section in the list response is extended to allow the representation of role assignments that are inherited to projects.
The query filter scope.OS-INHERIT:inherited_to
can be used to filter based
on role assignments that are inherited. The only value of
scope.OS-INHERIT:inherited_to
that is currently supported is projects
,
indicating that this role is inherited to all projects of the owning domain or
parent project.
If the query parameter effective
is specified, rather than simply returning
a list of role assignments that have been made, the API returns a list of
effective assignments at the user, project and domain level, having allowed for
the effects of group membership, role inference rules as well as inheritance
from the parent domain or project. Since the effects of group membership have
already been allowed for, the group role assignment entities themselves will
not be returned in the collection. Likewise, since the effects of inheritance
have already been allowed for, the role assignment entities themselves that
specify the inheritance will also not be returned in the collection. This
represents the effective role assignments that would be included in a scoped
token. The same set of query parameters can also be used in combination with
the effective
parameter.
For example:
GET /v3/role_assignments?user.id={user_id}&effective
would, in other words,
answer the question “what can this user actually do?”.
GET /v3/role_assignments?user.id={user_id}&scope.project.id={project_id}&effective
would return the equivalent set of role assignments that would be included in
the token response of a project scoped token.
An example response for an API call with the query parameter effective
specified is given below:
The entity links
section of a response using the effective
query
parameter also contains, for entities that are included by virtue of group
membership, a url that can be used to access the membership of the group.
If the query parameter include_names
is specified, rather than simply
returning the entity IDs in the role assignments, the collection will
additionally include the names of the entities. For example:
GET /v3/role_assignments?user.id={user_id}&effective&include_names=true
would return:
Relationship:
https://docs.openstack.org/api/openstack-identity/3/rel/role_assignments
Responses¶
200¶
Ok
403¶
Error
404¶
Error
role_inferences¶
roles¶
Shows details for a role.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/role
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
role |
body |
object |
A |
role.id |
body |
string |
The role ID. |
role.links |
body |
object |
The link to the resources in question. |
role.name |
body |
string |
The role name. |
role.description |
body |
string |
The role description. |
role.options |
body |
object |
The resource options for the role. Available resource options are
|
role.options.immutable |
body |
[‘boolean’, ‘null’] |
403¶
Error
404¶
Error
Creates a role.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/roles
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
role |
body |
object |
A |
role.id |
body |
string |
The role ID. |
role.links |
body |
object |
The link to the resources in question. |
role.name |
body |
string |
The role name. |
role.description |
body |
string |
The role description. |
role.options |
body |
object |
The resource options for the role. Available resource options are
|
role.options.immutable |
body |
[‘boolean’, ‘null’] |
403¶
Error
404¶
Error
Lists implied (inference) roles for a role.
Relationship:
https://developer.openstack.org/api-ref/identity/v3/#list-implied-roles-for-role
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
role_inference |
body |
object |
Role inference object that contains |
role_inference.prior_role |
body |
object |
A prior role object. |
role_inference.prior_role.id |
body |
string |
The role ID. |
role_inference.prior_role.name |
body |
string |
The role name. |
role_inference.prior_role.description |
body |
string |
The role description. |
role_inference.prior_role.links |
body |
object |
The link to the resources in question. |
role_inference.prior_role.links.self |
body |
string |
The link to the resource in question. |
403¶
Error
404¶
Error
Gets a role inference rule.
Relationship:
https://developer.openstack.org/api-ref/identity/v3/#get-role-inference-rule
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
role_inference |
body |
object |
Role inference object that contains |
role_inference.prior_role |
body |
object |
A prior role object. |
role_inference.prior_role.id |
body |
string |
The role ID. |
role_inference.prior_role.name |
body |
string |
The role name. |
role_inference.prior_role.description |
body |
string |
The role description. |
role_inference.prior_role.links |
body |
object |
The link to the resources in question. |
role_inference.prior_role.links.self |
body |
string |
The link to the resource in question. |
role_inference.implies |
body |
object |
A prior role object. |
role_inference.implies.id |
body |
string |
The role ID. |
role_inference.implies.name |
body |
string |
The role name. |
role_inference.implies.description |
body |
string |
The role description. |
role_inference.implies.links |
body |
object |
The link to the resources in question. |
role_inference.implies.links.self |
body |
string |
The link to the resource in question. |
403¶
Error
404¶
Error
Creates a role inference rule.
Relationship:
https://developer.openstack.org/api-ref/identity/v3/#create-role-inference-rule
Request¶
Responses¶
201¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
role_inference |
body |
object |
Role inference object that contains |
role_inference.prior_role |
body |
object |
A prior role object. |
role_inference.prior_role.id |
body |
string |
The role ID. |
role_inference.prior_role.name |
body |
string |
The role name. |
role_inference.prior_role.description |
body |
string |
The role description. |
role_inference.prior_role.links |
body |
object |
The link to the resources in question. |
role_inference.prior_role.links.self |
body |
string |
The link to the resource in question. |
role_inference.implies |
body |
object |
A prior role object. |
role_inference.implies.id |
body |
string |
The role ID. |
role_inference.implies.name |
body |
string |
The role name. |
role_inference.implies.description |
body |
string |
The role description. |
role_inference.implies.links |
body |
object |
The link to the resources in question. |
role_inference.implies.links.self |
body |
string |
The link to the resource in question. |
403¶
Error
404¶
Error
s3tokens¶
services¶
Shows details for a service.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/service
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
service |
body |
object |
A |
service.description |
body |
string |
The service description. |
service.enabled |
body |
boolean |
Defines whether the service and its endpoints
appear in the service catalog: - |
service.id |
body |
string |
The UUID of the service to which the endpoint belongs. |
service.name |
body |
string |
The service name. |
service.type |
body |
string |
The service type, which describes the API
implemented by the service. Value is |
403¶
Error
404¶
Error
Creates a service.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/services
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
service |
body |
object |
A |
service.description |
body |
string |
The service description. |
service.enabled |
body |
boolean |
Defines whether the service and its endpoints
appear in the service catalog: - |
service.id |
body |
string |
The UUID of the service to which the endpoint belongs. |
service.name |
body |
string |
The service name. |
service.type |
body |
string |
The service type, which describes the API
implemented by the service. Value is |
403¶
Error
404¶
Error
system¶
OS-TRUST¶
users¶
Shows details for a user.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/user
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
user |
body |
object |
A |
user.id |
body |
string |
The user ID. |
user.default_project_id |
body |
[‘string’, ‘null’] |
The ID of the default project for the user. |
user.description |
body |
[‘string’, ‘null’] |
|
user.domain_id |
body |
string |
The ID of the domain. |
user.enabled |
body |
boolean |
Whether the Service Provider is enabled or not |
user.name |
body |
string |
The user name. Must be unique within the owning domain. |
user.password |
body |
[‘string’, ‘null’] |
The new password for the user. |
user.options |
body |
object |
The resource options for the user. Available resource options are
|
user.options.ignore_change_password_upon_first_use |
body |
[‘boolean’, ‘null’] |
|
user.options.ignore_password_expiry |
body |
[‘boolean’, ‘null’] |
|
user.options.ignore_lockout_failure_attempts |
body |
[‘boolean’, ‘null’] |
|
user.options.lock_password |
body |
[‘boolean’, ‘null’] |
|
user.options.ignore_user_inactivity |
body |
[‘boolean’, ‘null’] |
|
user.options.multi_factor_auth_rules |
body |
[‘array’, ‘null’] |
|
user.options.multi_factor_auth_enabled |
body |
[‘boolean’, ‘null’] |
403¶
Error
404¶
Error
Enables a user to revoke an access token, which prevents the consumer from requesting new Identity Service API tokens. Also, revokes any Identity Service API tokens that were issued to the consumer through that access token.
Relationship: https://docs.openstack.org/api/openstack-identity/3/ext/OS-OAUTH1/1.0/rel/user_access_token
Responses¶
204¶
Ok
403¶
Error
404¶
Error
Creates an application credential for a user on the project to which the current token is scoped.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/application_credentials
Request¶
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
application_credential |
body |
object |
|
application_credential.id |
body |
string |
The UUID for the credential. |
application_credential.project_id |
body |
string |
The ID for the project. |
application_credential.name |
body |
string |
|
application_credential.description |
body |
[‘string’, ‘null’] |
|
application_credential.expires_at |
body |
[‘null’, ‘string’] |
|
application_credential.unrestricted |
body |
boolean |
|
application_credential.secret |
body |
string |
The secret for the application credential, either generated by the server or provided by the user. This is only ever shown once in the response to a create request. It is not stored nor ever shown again. If the secret is lost, a new application credential must be created. |
403¶
Error
404¶
Error
Show details of an application credential.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/application_credentials
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
application_credential |
body |
object |
|
application_credential.id |
body |
string |
The ID of the application credential. |
application_credential.project_id |
body |
string |
The ID of the project the application credential was created for and that authentication requests using this application credential will be scoped to. |
application_credential.name |
body |
string |
|
application_credential.description |
body |
[‘string’, ‘null’] |
|
application_credential.expires_at |
body |
[‘null’, ‘string’] |
|
application_credential.unrestricted |
body |
boolean |
403¶
Error
404¶
Error
Show details of an access rule.
Relationship: https://docs.openstack.org/api/openstack-identity/3/rel/access_rules
Responses¶
200¶
Ok
Name |
Location |
Type |
Description |
---|---|---|---|
access_rule |
body |
object |
|
access_rule.path |
body |
string |
|
access_rule.method |
body |
string |
|
access_rule.service |
body |
string |
|
access_rule.id |
body |
string |
403¶
Error
404¶
Error