Policy configuration

Warning

JSON formatted policy file is deprecated since Keystone 19.0.0 (Wallaby). This oslopolicy-convert-json-to-yaml tool will migrate your existing JSON-formatted policy file to YAML in a backward-compatible way.

Configuration

The following is an overview of all available policies in Keystone.

For a sample configuration file, refer to policy.yaml.

keystone

admin_required
Default:

role:admin or is_admin:1

(no description provided)

service_role
Default:

role:service

(no description provided)

service_or_admin
Default:

rule:admin_required or rule:service_role

(no description provided)

owner
Default:

user_id:%(user_id)s

(no description provided)

admin_or_owner
Default:

rule:admin_required or rule:owner

(no description provided)

token_subject
Default:

user_id:%(target.token.user_id)s

(no description provided)

admin_or_token_subject
Default:

rule:admin_required or rule:token_subject

(no description provided)

service_admin_or_token_subject
Default:

rule:service_or_admin or rule:token_subject

(no description provided)

domain_managed_target_role
Default:

'manager':%(target.role.name)s or 'member':%(target.role.name)s or 'reader':%(target.role.name)s

(no description provided)

identity:get_access_rule
Default:

(role:reader and system_scope:all) or user_id:%(target.user.id)s

Operations:
  • GET /v3/users/{user_id}/access_rules/{access_rule_id}

  • HEAD /v3/users/{user_id}/access_rules/{access_rule_id}

Scope Types:
  • system

  • project

Show access rule details.

identity:list_access_rules
Default:

(role:reader and system_scope:all) or user_id:%(target.user.id)s

Operations:
  • GET /v3/users/{user_id}/access_rules

  • HEAD /v3/users/{user_id}/access_rules

Scope Types:
  • system

  • project

List access rules for a user.

identity:delete_access_rule
Default:

(role:admin and system_scope:all) or user_id:%(target.user.id)s

Operations:
  • DELETE /v3/users/{user_id}/access_rules/{access_rule_id}

Scope Types:
  • system

  • project

Delete an access_rule.

identity:authorize_request_token
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-OAUTH1/authorize/{request_token_id}

Scope Types:
  • project

Authorize OAUTH1 request token.

identity:get_access_token
Default:

rule:admin_required

Operations:
  • GET /v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}

Scope Types:
  • project

Get OAUTH1 access token for user by access token ID.

identity:get_access_token_role
Default:

rule:admin_required

Operations:
  • GET /v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles/{role_id}

Scope Types:
  • project

Get role for user OAUTH1 access token.

identity:list_access_tokens
Default:

rule:admin_required

Operations:
  • GET /v3/users/{user_id}/OS-OAUTH1/access_tokens

Scope Types:
  • project

List OAUTH1 access tokens for user.

identity:list_access_token_roles
Default:

rule:admin_required

Operations:
  • GET /v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}/roles

Scope Types:
  • project

List OAUTH1 access token roles.

identity:delete_access_token
Default:

rule:admin_required

Operations:
  • DELETE /v3/users/{user_id}/OS-OAUTH1/access_tokens/{access_token_id}

Scope Types:
  • project

Delete OAUTH1 access token.

identity:get_application_credential
Default:

(rule:admin_required) or (role:reader and system_scope:all) or rule:owner

Operations:
  • GET /v3/users/{user_id}/application_credentials/{application_credential_id}

  • HEAD /v3/users/{user_id}/application_credentials/{application_credential_id}

Scope Types:
  • system

  • project

Show application credential details.

identity:list_application_credentials
Default:

(rule:admin_required) or (role:reader and system_scope:all) or rule:owner

Operations:
  • GET /v3/users/{user_id}/application_credentials

  • HEAD /v3/users/{user_id}/application_credentials

Scope Types:
  • system

  • project

List application credentials for a user.

identity:create_application_credential
Default:

user_id:%(user_id)s

Operations:
  • POST /v3/users/{user_id}/application_credentials

Scope Types:
  • project

Create an application credential.

identity:delete_application_credential
Default:

rule:admin_or_owner

Operations:
  • DELETE /v3/users/{user_id}/application_credentials/{application_credential_id}

Scope Types:
  • system

  • project

Delete an application credential.

identity:get_auth_catalog
Default:

<empty string>

Operations:
  • GET /v3/auth/catalog

  • HEAD /v3/auth/catalog

Get service catalog.

identity:get_auth_projects
Default:

<empty string>

Operations:
  • GET /v3/auth/projects

  • HEAD /v3/auth/projects

List all projects a user has access to via role assignments.

identity:get_auth_domains
Default:

<empty string>

Operations:
  • GET /v3/auth/domains

  • HEAD /v3/auth/domains

List all domains a user has access to via role assignments.

identity:get_auth_system
Default:

<empty string>

Operations:
  • GET /v3/auth/system

  • HEAD /v3/auth/system

List systems a user has access to via role assignments.

identity:get_consumer
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-OAUTH1/consumers/{consumer_id}

Scope Types:
  • system

  • project

Show OAUTH1 consumer details.

identity:list_consumers
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-OAUTH1/consumers

Scope Types:
  • system

  • project

List OAUTH1 consumers.

identity:create_consumer
Default:

rule:admin_required

Operations:
  • POST /v3/OS-OAUTH1/consumers

Scope Types:
  • system

  • project

Create OAUTH1 consumer.

identity:update_consumer
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-OAUTH1/consumers/{consumer_id}

Scope Types:
  • system

  • project

Update OAUTH1 consumer.

identity:delete_consumer
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-OAUTH1/consumers/{consumer_id}

Scope Types:
  • system

  • project

Delete OAUTH1 consumer.

identity:get_credential
Default:

(rule:admin_required) or (role:reader and system_scope:all) or user_id:%(target.credential.user_id)s

Operations:
  • GET /v3/credentials/{credential_id}

Scope Types:
  • system

  • domain

  • project

Show credentials details.

identity:list_credentials
Default:

(rule:admin_required) or (role:reader and system_scope:all) or user_id:%(target.credential.user_id)s

Operations:
  • GET /v3/credentials

Scope Types:
  • system

  • domain

  • project

List credentials.

identity:create_credential
Default:

(rule:admin_required) or user_id:%(target.credential.user_id)s

Operations:
  • POST /v3/credentials

Scope Types:
  • system

  • domain

  • project

Create credential.

identity:update_credential
Default:

(rule:admin_required) or user_id:%(target.credential.user_id)s

Operations:
  • PATCH /v3/credentials/{credential_id}

Scope Types:
  • system

  • domain

  • project

Update credential.

identity:delete_credential
Default:

(rule:admin_required) or user_id:%(target.credential.user_id)s

Operations:
  • DELETE /v3/credentials/{credential_id}

Scope Types:
  • system

  • domain

  • project

Delete credential.

identity:get_domain
Default:

rule:admin_required or (role:reader and system_scope:all) or token.domain.id:%(target.domain.id)s or token.project.domain.id:%(target.domain.id)s

Operations:
  • GET /v3/domains/{domain_id}

Scope Types:
  • system

  • domain

  • project

Show domain details.

identity:list_domains
Default:

rule:admin_required or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain.id)s)

Operations:
  • GET /v3/domains

Scope Types:
  • system

  • domain

  • project

List domains.

identity:create_domain
Default:

rule:admin_required

Operations:
  • POST /v3/domains

Scope Types:
  • system

  • project

Create domain.

identity:update_domain
Default:

rule:admin_required

Operations:
  • PATCH /v3/domains/{domain_id}

Scope Types:
  • system

  • project

Update domain.

identity:delete_domain
Default:

rule:admin_required

Operations:
  • DELETE /v3/domains/{domain_id}

Scope Types:
  • system

  • project

Delete domain.

identity:create_domain_config
Default:

rule:admin_required

Operations:
  • PUT /v3/domains/{domain_id}/config

Scope Types:
  • system

  • project

Create domain configuration.

identity:get_domain_config
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/domains/{domain_id}/config

  • HEAD /v3/domains/{domain_id}/config

  • GET /v3/domains/{domain_id}/config/{group}

  • HEAD /v3/domains/{domain_id}/config/{group}

  • GET /v3/domains/{domain_id}/config/{group}/{option}

  • HEAD /v3/domains/{domain_id}/config/{group}/{option}

Scope Types:
  • system

  • project

Get the entire domain configuration for a domain, an option group within a domain, or a specific configuration option within a group for a domain.

identity:get_security_compliance_domain_config
Default:

<empty string>

Operations:
  • GET /v3/domains/{domain_id}/config/security_compliance

  • HEAD /v3/domains/{domain_id}/config/security_compliance

  • GET /v3/domains/{domain_id}/config/security_compliance/{option}

  • HEAD /v3/domains/{domain_id}/config/security_compliance/{option}

Scope Types:
  • system

  • domain

  • project

Get security compliance domain configuration for either a domain or a specific option in a domain.

identity:update_domain_config
Default:

rule:admin_required

Operations:
  • PATCH /v3/domains/{domain_id}/config

  • PATCH /v3/domains/{domain_id}/config/{group}

  • PATCH /v3/domains/{domain_id}/config/{group}/{option}

Scope Types:
  • system

  • project

Update domain configuration for either a domain, specific group or a specific option in a group.

identity:delete_domain_config
Default:

rule:admin_required

Operations:
  • DELETE /v3/domains/{domain_id}/config

  • DELETE /v3/domains/{domain_id}/config/{group}

  • DELETE /v3/domains/{domain_id}/config/{group}/{option}

Scope Types:
  • system

  • project

Delete domain configuration for either a domain, specific group or a specific option in a group.

identity:get_domain_config_default
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/domains/config/default

  • HEAD /v3/domains/config/default

  • GET /v3/domains/config/{group}/default

  • HEAD /v3/domains/config/{group}/default

  • GET /v3/domains/config/{group}/{option}/default

  • HEAD /v3/domains/config/{group}/{option}/default

Scope Types:
  • system

  • project

Get domain configuration default for either a domain, specific group or a specific option in a group.

identity:ec2_get_credential
Default:

(rule:admin_required) or (role:reader and system_scope:all) or user_id:%(target.credential.user_id)s

Operations:
  • GET /v3/users/{user_id}/credentials/OS-EC2/{credential_id}

Scope Types:
  • system

  • project

Show ec2 credential details.

identity:ec2_list_credentials
Default:

(rule:admin_required) or (role:reader and system_scope:all) or rule:owner

Operations:
  • GET /v3/users/{user_id}/credentials/OS-EC2

Scope Types:
  • system

  • project

List ec2 credentials.

identity:ec2_create_credential
Default:

rule:admin_or_owner

Operations:
  • POST /v3/users/{user_id}/credentials/OS-EC2

Scope Types:
  • system

  • project

Create ec2 credential.

identity:ec2_delete_credential
Default:

(rule:admin_required) or user_id:%(target.credential.user_id)s

Operations:
  • DELETE /v3/users/{user_id}/credentials/OS-EC2/{credential_id}

Scope Types:
  • system

  • project

Delete ec2 credential.

identity:get_endpoint
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Show endpoint details.

identity:list_endpoints
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/endpoints

Scope Types:
  • system

  • project

List endpoints.

identity:create_endpoint
Default:

rule:admin_required

Operations:
  • POST /v3/endpoints

Scope Types:
  • system

  • project

Create endpoint.

identity:update_endpoint
Default:

rule:admin_required

Operations:
  • PATCH /v3/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Update endpoint.

identity:delete_endpoint
Default:

rule:admin_required

Operations:
  • DELETE /v3/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Delete endpoint.

identity:create_endpoint_group
Default:

rule:admin_required

Operations:
  • POST /v3/OS-EP-FILTER/endpoint_groups

Scope Types:
  • system

  • project

Create endpoint group.

identity:list_endpoint_groups
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoint_groups

Scope Types:
  • system

  • project

List endpoint groups.

identity:get_endpoint_group
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}

  • HEAD /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}

Scope Types:
  • system

  • project

Get endpoint group.

identity:update_endpoint_group
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}

Scope Types:
  • system

  • project

Update endpoint group.

identity:delete_endpoint_group
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}

Scope Types:
  • system

  • project

Delete endpoint group.

identity:list_projects_associated_with_endpoint_group
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects

Scope Types:
  • system

  • project

List all projects associated with a specific endpoint group.

identity:list_endpoints_associated_with_endpoint_group
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/endpoints

Scope Types:
  • system

  • project

List all endpoints associated with an endpoint group.

identity:get_endpoint_group_in_project
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects/{project_id}

  • HEAD /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects/{project_id}

Scope Types:
  • system

  • project

Check if an endpoint group is associated with a project.

identity:list_endpoint_groups_for_project
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/projects/{project_id}/endpoint_groups

Scope Types:
  • system

  • project

List endpoint groups associated with a specific project.

identity:add_endpoint_group_to_project
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects/{project_id}

Scope Types:
  • system

  • project

Allow a project to access an endpoint group.

identity:remove_endpoint_group_from_project
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-EP-FILTER/endpoint_groups/{endpoint_group_id}/projects/{project_id}

Scope Types:
  • system

  • project

Remove endpoint group from project.

identity:check_grant
Default:

(rule:admin_required) or ((role:reader and system_scope:all) or ((role:reader and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:reader and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:reader and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:reader and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s)) and (domain_id:%(target.role.domain_id)s or None:%(target.role.domain_id)s))

Operations:
  • HEAD /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

  • GET /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

  • HEAD /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

  • GET /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

  • HEAD /v3/domains/{domain_id}/users/{user_id}/roles/{role_id}

  • GET /v3/domains/{domain_id}/users/{user_id}/roles/{role_id}

  • HEAD /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

  • GET /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

  • HEAD /v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • GET /v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • HEAD /v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

  • GET /v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

  • HEAD /v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • GET /v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • HEAD /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

  • GET /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

Scope Types:
  • system

  • domain

  • project

Check a role grant between a target and an actor. A target can be either a domain or a project. An actor can be either a user or a group. These terms also apply to the OS-INHERIT APIs, where grants on the target are inherited to all projects in the subtree, if applicable.

identity:list_grants
Default:

(rule:admin_required) or ((role:reader and system_scope:all) or (role:reader and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:reader and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:reader and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:reader and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s))

Operations:
  • GET /v3/projects/{project_id}/users/{user_id}/roles

  • HEAD /v3/projects/{project_id}/users/{user_id}/roles

  • GET /v3/projects/{project_id}/groups/{group_id}/roles

  • HEAD /v3/projects/{project_id}/groups/{group_id}/roles

  • GET /v3/domains/{domain_id}/users/{user_id}/roles

  • HEAD /v3/domains/{domain_id}/users/{user_id}/roles

  • GET /v3/domains/{domain_id}/groups/{group_id}/roles

  • HEAD /v3/domains/{domain_id}/groups/{group_id}/roles

  • GET /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/inherited_to_projects

  • GET /v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/inherited_to_projects

Scope Types:
  • system

  • domain

  • project

List roles granted to an actor on a target. A target can be either a domain or a project. An actor can be either a user or a group. For the OS-INHERIT APIs, it is possible to list inherited role grants for actors on domains, where grants are inherited to all projects in the specified domain.

identity:create_grant
Default:

(rule:admin_required) or ((role:admin and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:admin and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:admin and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:admin and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s)) and (domain_id:%(target.role.domain_id)s or None:%(target.role.domain_id)s) or ((role:manager and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:manager and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s)) and rule:domain_managed_target_role

Operations:
  • PUT /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

  • PUT /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

  • PUT /v3/domains/{domain_id}/users/{user_id}/roles/{role_id}

  • PUT /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

  • PUT /v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • PUT /v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

  • PUT /v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • PUT /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

Scope Types:
  • system

  • domain

  • project

Create a role grant between a target and an actor. A target can be either a domain or a project. An actor can be either a user or a group. These terms also apply to the OS-INHERIT APIs, where grants on the target are inherited to all projects in the subtree, if applicable.

identity:revoke_grant
Default:

(rule:admin_required) or ((role:admin and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:admin and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:admin and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:admin and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s)) and (domain_id:%(target.role.domain_id)s or None:%(target.role.domain_id)s) or ((role:manager and domain_id:%(target.user.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:manager and domain_id:%(target.user.domain_id)s and domain_id:%(target.domain.id)s) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.project.domain_id)s) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.domain.id)s)) and rule:domain_managed_target_role

Operations:
  • DELETE /v3/projects/{project_id}/users/{user_id}/roles/{role_id}

  • DELETE /v3/projects/{project_id}/groups/{group_id}/roles/{role_id}

  • DELETE /v3/domains/{domain_id}/users/{user_id}/roles/{role_id}

  • DELETE /v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}

  • DELETE /v3/OS-INHERIT/projects/{project_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • DELETE /v3/OS-INHERIT/projects/{project_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

  • DELETE /v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles/{role_id}/inherited_to_projects

  • DELETE /v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects

Scope Types:
  • system

  • domain

  • project

Revoke a role grant between a target and an actor. A target can be either a domain or a project. An actor can be either a user or a group. These terms also apply to the OS-INHERIT APIs, where grants on the target are inherited to all projects in the subtree, if applicable. In that case, revoking the role grant in the target would remove the logical effect of inheriting it to the target’s projects subtree.

identity:list_system_grants_for_user
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • [‘HEAD’, ‘GET’] /v3/system/users/{user_id}/roles

Scope Types:
  • system

  • project

List all grants a specific user has on the system.

identity:check_system_grant_for_user
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • [‘HEAD’, ‘GET’] /v3/system/users/{user_id}/roles/{role_id}

Scope Types:
  • system

  • project

Check if a user has a role on the system.

identity:create_system_grant_for_user
Default:

rule:admin_required

Operations:
  • [‘PUT’] /v3/system/users/{user_id}/roles/{role_id}

Scope Types:
  • system

  • project

Grant a user a role on the system.

identity:revoke_system_grant_for_user
Default:

rule:admin_required

Operations:
  • [‘DELETE’] /v3/system/users/{user_id}/roles/{role_id}

Scope Types:
  • system

  • project

Remove a role from a user on the system.

identity:list_system_grants_for_group
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • [‘HEAD’, ‘GET’] /v3/system/groups/{group_id}/roles

Scope Types:
  • system

  • project

List all grants a specific group has on the system.

identity:check_system_grant_for_group
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • [‘HEAD’, ‘GET’] /v3/system/groups/{group_id}/roles/{role_id}

Scope Types:
  • system

  • project

Check if a group has a role on the system.

identity:create_system_grant_for_group
Default:

rule:admin_required

Operations:
  • [‘PUT’] /v3/system/groups/{group_id}/roles/{role_id}

Scope Types:
  • system

  • project

Grant a group a role on the system.

identity:revoke_system_grant_for_group
Default:

rule:admin_required

Operations:
  • [‘DELETE’] /v3/system/groups/{group_id}/roles/{role_id}

Scope Types:
  • system

  • project

Remove a role from a group on the system.

identity:get_group
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.group.domain_id)s)

Operations:
  • GET /v3/groups/{group_id}

  • HEAD /v3/groups/{group_id}

Scope Types:
  • system

  • domain

  • project

Show group details.

identity:list_groups
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.group.domain_id)s)

Operations:
  • GET /v3/groups

  • HEAD /v3/groups

Scope Types:
  • system

  • domain

  • project

List groups.

identity:list_groups_for_user
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.user.domain_id)s) or user_id:%(user_id)s

Operations:
  • GET /v3/users/{user_id}/groups

  • HEAD /v3/users/{user_id}/groups

Scope Types:
  • system

  • domain

  • project

List groups to which a user belongs.

identity:create_group
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.group.domain_id)s)

Operations:
  • POST /v3/groups

Scope Types:
  • system

  • domain

  • project

Create group.

identity:update_group
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.group.domain_id)s)

Operations:
  • PATCH /v3/groups/{group_id}

Scope Types:
  • system

  • domain

  • project

Update group.

identity:delete_group
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.group.domain_id)s)

Operations:
  • DELETE /v3/groups/{group_id}

Scope Types:
  • system

  • domain

  • project

Delete group.

identity:list_users_in_group
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.group.domain_id)s)

Operations:
  • GET /v3/groups/{group_id}/users

  • HEAD /v3/groups/{group_id}/users

Scope Types:
  • system

  • domain

  • project

List members of a specific group.

identity:remove_user_from_group
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.user.domain_id)s)

Operations:
  • DELETE /v3/groups/{group_id}/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Remove user from group.

identity:check_user_in_group
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.group.domain_id)s and domain_id:%(target.user.domain_id)s)

Operations:
  • HEAD /v3/groups/{group_id}/users/{user_id}

  • GET /v3/groups/{group_id}/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Check whether a user is a member of a group.

identity:add_user_to_group
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.group.domain_id)s and domain_id:%(target.user.domain_id)s)

Operations:
  • PUT /v3/groups/{group_id}/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Add user to group.

identity:create_identity_provider
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-FEDERATION/identity_providers/{idp_id}

Scope Types:
  • system

  • project

Create identity provider.

identity:list_identity_providers
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/identity_providers

  • HEAD /v3/OS-FEDERATION/identity_providers

Scope Types:
  • system

  • project

List identity providers.

identity:get_identity_provider
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/identity_providers/{idp_id}

  • HEAD /v3/OS-FEDERATION/identity_providers/{idp_id}

Scope Types:
  • system

  • project

Get identity provider.

identity:update_identity_provider
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-FEDERATION/identity_providers/{idp_id}

Scope Types:
  • system

  • project

Update identity provider.

identity:delete_identity_provider
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-FEDERATION/identity_providers/{idp_id}

Scope Types:
  • system

  • project

Delete identity provider.

identity:get_implied_role
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/roles/{prior_role_id}/implies/{implied_role_id}

Scope Types:
  • system

  • project

Get information about an association between two roles. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role.

identity:list_implied_roles
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/roles/{prior_role_id}/implies

  • HEAD /v3/roles/{prior_role_id}/implies

Scope Types:
  • system

  • project

List associations between two roles. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role. This will return all the implied roles that would be assumed by the user who gets the specified prior role.

identity:create_implied_role
Default:

rule:admin_required

Operations:
  • PUT /v3/roles/{prior_role_id}/implies/{implied_role_id}

Scope Types:
  • system

  • project

Create an association between two roles. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role.

identity:delete_implied_role
Default:

rule:admin_required

Operations:
  • DELETE /v3/roles/{prior_role_id}/implies/{implied_role_id}

Scope Types:
  • system

  • project

Delete the association between two roles. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role. Removing the association will cause that effect to be eliminated.

identity:list_role_inference_rules
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/role_inferences

  • HEAD /v3/role_inferences

Scope Types:
  • system

  • project

List all associations between two roles in the system. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role.

identity:check_implied_role
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • HEAD /v3/roles/{prior_role_id}/implies/{implied_role_id}

Scope Types:
  • system

  • project

Check an association between two roles. When a relationship exists between a prior role and an implied role and the prior role is assigned to a user, the user also assumes the implied role.

identity:get_limit_model
Default:

<empty string>

Operations:
  • GET /v3/limits/model

  • HEAD /v3/limits/model

Scope Types:
  • system

  • domain

  • project

Get limit enforcement model.

identity:get_limit
Default:

rule:admin_required or (role:reader and system_scope:all) or (domain_id:%(target.limit.domain.id)s or domain_id:%(target.limit.project.domain_id)s) or (project_id:%(target.limit.project_id)s and not None:%(target.limit.project_id)s)

Operations:
  • GET /v3/limits/{limit_id}

  • HEAD /v3/limits/{limit_id}

Scope Types:
  • system

  • domain

  • project

Show limit details.

identity:list_limits
Default:

<empty string>

Operations:
  • GET /v3/limits

  • HEAD /v3/limits

Scope Types:
  • system

  • domain

  • project

List limits.

identity:create_limits
Default:

rule:admin_required

Operations:
  • POST /v3/limits

Scope Types:
  • system

  • project

Create limits.

identity:update_limit
Default:

rule:admin_required

Operations:
  • PATCH /v3/limits/{limit_id}

Scope Types:
  • system

  • project

Update limit.

identity:delete_limit
Default:

rule:admin_required

Operations:
  • DELETE /v3/limits/{limit_id}

Scope Types:
  • system

  • project

Delete limit.

identity:create_mapping
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-FEDERATION/mappings/{mapping_id}

Scope Types:
  • system

  • project

Create a new federated mapping containing one or more sets of rules.

identity:get_mapping
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/mappings/{mapping_id}

  • HEAD /v3/OS-FEDERATION/mappings/{mapping_id}

Scope Types:
  • system

  • project

Get a federated mapping.

identity:list_mappings
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/mappings

  • HEAD /v3/OS-FEDERATION/mappings

Scope Types:
  • system

  • project

List federated mappings.

identity:delete_mapping
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-FEDERATION/mappings/{mapping_id}

Scope Types:
  • system

  • project

Delete a federated mapping.

identity:update_mapping
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-FEDERATION/mappings/{mapping_id}

Scope Types:
  • system

  • project

Update a federated mapping.

identity:get_policy
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies/{policy_id}

Scope Types:
  • system

  • project

Show policy details.

identity:list_policies
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies

Scope Types:
  • system

  • project

List policies.

identity:create_policy
Default:

rule:admin_required

Operations:
  • POST /v3/policies

Scope Types:
  • system

  • project

Create policy.

identity:update_policy
Default:

rule:admin_required

Operations:
  • PATCH /v3/policies/{policy_id}

Scope Types:
  • system

  • project

Update policy.

identity:delete_policy
Default:

rule:admin_required

Operations:
  • DELETE /v3/policies/{policy_id}

Scope Types:
  • system

  • project

Delete policy.

identity:create_policy_association_for_endpoint
Default:

rule:admin_required

Operations:
  • PUT /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Associate a policy to a specific endpoint.

identity:check_policy_association_for_endpoint
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints/{endpoint_id}

  • HEAD /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Check policy association for endpoint.

identity:delete_policy_association_for_endpoint
Default:

rule:admin_required

Operations:
  • DELETE /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Delete policy association for endpoint.

identity:create_policy_association_for_service
Default:

rule:admin_required

Operations:
  • PUT /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}

Scope Types:
  • system

  • project

Associate a policy to a specific service.

identity:check_policy_association_for_service
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}

  • HEAD /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}

Scope Types:
  • system

  • project

Check policy association for service.

identity:delete_policy_association_for_service
Default:

rule:admin_required

Operations:
  • DELETE /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}

Scope Types:
  • system

  • project

Delete policy association for service.

identity:create_policy_association_for_region_and_service
Default:

rule:admin_required

Operations:
  • PUT /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}/regions/{region_id}

Scope Types:
  • system

  • project

Associate a policy to a specific region and service combination.

identity:check_policy_association_for_region_and_service
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}/regions/{region_id}

  • HEAD /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}/regions/{region_id}

Scope Types:
  • system

  • project

Check policy association for region and service.

identity:delete_policy_association_for_region_and_service
Default:

rule:admin_required

Operations:
  • DELETE /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/services/{service_id}/regions/{region_id}

Scope Types:
  • system

  • project

Delete policy association for region and service.

identity:get_policy_for_endpoint
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/endpoints/{endpoint_id}/OS-ENDPOINT-POLICY/policy

  • HEAD /v3/endpoints/{endpoint_id}/OS-ENDPOINT-POLICY/policy

Scope Types:
  • system

  • project

Get policy for endpoint.

identity:list_endpoints_for_policy
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/policies/{policy_id}/OS-ENDPOINT-POLICY/endpoints

Scope Types:
  • system

  • project

List endpoints for policy.

identity:get_project
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.project.domain_id)s) or project_id:%(target.project.id)s

Operations:
  • GET /v3/projects/{project_id}

Scope Types:
  • system

  • domain

  • project

Show project details.

identity:list_projects
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain_id)s)

Operations:
  • GET /v3/projects

Scope Types:
  • system

  • domain

  • project

List projects.

identity:list_user_projects
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.user.domain_id)s) or user_id:%(target.user.id)s

Operations:
  • GET /v3/users/{user_id}/projects

Scope Types:
  • system

  • domain

  • project

List projects for user.

identity:create_project
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • POST /v3/projects

Scope Types:
  • system

  • domain

  • project

Create project.

identity:update_project
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • PATCH /v3/projects/{project_id}

Scope Types:
  • system

  • domain

  • project

Update project.

identity:delete_project
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • DELETE /v3/projects/{project_id}

Scope Types:
  • system

  • domain

  • project

Delete project.

identity:list_project_tags
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.project.domain_id)s) or project_id:%(target.project.id)s

Operations:
  • GET /v3/projects/{project_id}/tags

  • HEAD /v3/projects/{project_id}/tags

Scope Types:
  • system

  • domain

  • project

List tags for a project.

identity:get_project_tag
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.project.domain_id)s) or project_id:%(target.project.id)s

Operations:
  • GET /v3/projects/{project_id}/tags/{value}

  • HEAD /v3/projects/{project_id}/tags/{value}

Scope Types:
  • system

  • domain

  • project

Check if project contains a tag.

identity:update_project_tags
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • PUT /v3/projects/{project_id}/tags

Scope Types:
  • system

  • domain

  • project

Replace all tags on a project with the new set of tags.

identity:create_project_tag
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • PUT /v3/projects/{project_id}/tags/{value}

Scope Types:
  • system

  • domain

  • project

Add a single tag to a project.

identity:delete_project_tags
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • DELETE /v3/projects/{project_id}/tags

Scope Types:
  • system

  • domain

  • project

Remove all tags from a project.

identity:delete_project_tag
Default:

(rule:admin_required) or (role:manager and domain_id:%(target.project.domain_id)s)

Operations:
  • DELETE /v3/projects/{project_id}/tags/{value}

Scope Types:
  • system

  • domain

  • project

Delete a specified tag from project.

identity:list_projects_for_endpoint
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/endpoints/{endpoint_id}/projects

Scope Types:
  • system

  • project

List projects allowed to access an endpoint.

identity:add_endpoint_to_project
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Allow project to access an endpoint.

identity:check_endpoint_in_project
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}

  • HEAD /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Check if a project is allowed to access an endpoint.

identity:list_endpoints_for_project
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-EP-FILTER/projects/{project_id}/endpoints

Scope Types:
  • system

  • project

List the endpoints a project is allowed to access.

identity:remove_endpoint_from_project
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-EP-FILTER/projects/{project_id}/endpoints/{endpoint_id}

Scope Types:
  • system

  • project

Remove access to an endpoint from a project that has previously been given explicit access.

identity:create_protocol
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}

Scope Types:
  • system

  • project

Create federated protocol.

identity:update_protocol
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}

Scope Types:
  • system

  • project

Update federated protocol.

identity:get_protocol
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}

Scope Types:
  • system

  • project

Get federated protocol.

identity:list_protocols
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols

Scope Types:
  • system

  • project

List federated protocols.

identity:delete_protocol
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}

Scope Types:
  • system

  • project

Delete federated protocol.

identity:get_region
Default:

<empty string>

Operations:
  • GET /v3/regions/{region_id}

  • HEAD /v3/regions/{region_id}

Scope Types:
  • system

  • domain

  • project

Show region details.

identity:list_regions
Default:

<empty string>

Operations:
  • GET /v3/regions

  • HEAD /v3/regions

Scope Types:
  • system

  • domain

  • project

List regions.

identity:create_region
Default:

rule:admin_required

Operations:
  • POST /v3/regions

  • PUT /v3/regions/{region_id}

Scope Types:
  • system

  • project

Create region.

identity:update_region
Default:

rule:admin_required

Operations:
  • PATCH /v3/regions/{region_id}

Scope Types:
  • system

  • project

Update region.

identity:delete_region
Default:

rule:admin_required

Operations:
  • DELETE /v3/regions/{region_id}

Scope Types:
  • system

  • project

Delete region.

identity:get_registered_limit
Default:

<empty string>

Operations:
  • GET /v3/registered_limits/{registered_limit_id}

  • HEAD /v3/registered_limits/{registered_limit_id}

Scope Types:
  • system

  • domain

  • project

Show registered limit details.

identity:list_registered_limits
Default:

<empty string>

Operations:
  • GET /v3/registered_limits

  • HEAD /v3/registered_limits

Scope Types:
  • system

  • domain

  • project

List registered limits.

identity:create_registered_limits
Default:

rule:admin_required

Operations:
  • POST /v3/registered_limits

Scope Types:
  • system

  • project

Create registered limits.

identity:update_registered_limit
Default:

rule:admin_required

Operations:
  • PATCH /v3/registered_limits/{registered_limit_id}

Scope Types:
  • system

  • project

Update registered limit.

identity:delete_registered_limit
Default:

rule:admin_required

Operations:
  • DELETE /v3/registered_limits/{registered_limit_id}

Scope Types:
  • system

  • project

Delete registered limit.

identity:list_revoke_events
Default:

rule:service_or_admin

Operations:
  • GET /v3/OS-REVOKE/events

Scope Types:
  • system

  • project

List revocation events.

identity:get_role
Default:

(rule:admin_required or (role:reader and system_scope:all)) or (role:manager and rule:domain_managed_target_role)

Operations:
  • GET /v3/roles/{role_id}

  • HEAD /v3/roles/{role_id}

Scope Types:
  • system

  • domain

  • project

Show role details.

identity:list_roles
Default:

(rule:admin_required or (role:reader and system_scope:all)) or (role:manager and not domain_id:None)

Operations:
  • GET /v3/roles

  • HEAD /v3/roles

Scope Types:
  • system

  • domain

  • project

List roles.

identity:create_role
Default:

rule:admin_required

Operations:
  • POST /v3/roles

Scope Types:
  • system

  • project

Create role.

identity:update_role
Default:

rule:admin_required

Operations:
  • PATCH /v3/roles/{role_id}

Scope Types:
  • system

  • project

Update role.

identity:delete_role
Default:

rule:admin_required

Operations:
  • DELETE /v3/roles/{role_id}

Scope Types:
  • system

  • project

Delete role.

identity:get_domain_role
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/roles/{role_id}

  • HEAD /v3/roles/{role_id}

Scope Types:
  • system

  • project

Show domain role.

identity:list_domain_roles
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/roles?domain_id={domain_id}

  • HEAD /v3/roles?domain_id={domain_id}

Scope Types:
  • system

  • project

List domain roles.

identity:create_domain_role
Default:

rule:admin_required

Operations:
  • POST /v3/roles

Scope Types:
  • system

  • project

Create domain role.

identity:update_domain_role
Default:

rule:admin_required

Operations:
  • PATCH /v3/roles/{role_id}

Scope Types:
  • system

  • project

Update domain role.

identity:delete_domain_role
Default:

rule:admin_required

Operations:
  • DELETE /v3/roles/{role_id}

Scope Types:
  • system

  • project

Delete domain role.

identity:list_role_assignments
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain_id)s)

Operations:
  • GET /v3/role_assignments

  • HEAD /v3/role_assignments

Scope Types:
  • system

  • domain

  • project

List role assignments.

identity:list_role_assignments_for_tree
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain_id)s)

Operations:
  • GET /v3/role_assignments?include_subtree

  • HEAD /v3/role_assignments?include_subtree

Scope Types:
  • system

  • domain

  • project

List all role assignments for a given tree of hierarchical projects.

identity:get_service
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/services/{service_id}

Scope Types:
  • system

  • project

Show service details.

identity:list_services
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/services

Scope Types:
  • system

  • project

List services.

identity:create_service
Default:

rule:admin_required

Operations:
  • POST /v3/services

Scope Types:
  • system

  • project

Create service.

identity:update_service
Default:

rule:admin_required

Operations:
  • PATCH /v3/services/{service_id}

Scope Types:
  • system

  • project

Update service.

identity:delete_service
Default:

rule:admin_required

Operations:
  • DELETE /v3/services/{service_id}

Scope Types:
  • system

  • project

Delete service.

identity:create_service_provider
Default:

rule:admin_required

Operations:
  • PUT /v3/OS-FEDERATION/service_providers/{service_provider_id}

Scope Types:
  • system

  • project

Create federated service provider.

identity:list_service_providers
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/service_providers

  • HEAD /v3/OS-FEDERATION/service_providers

Scope Types:
  • system

  • project

List federated service providers.

identity:get_service_provider
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-FEDERATION/service_providers/{service_provider_id}

  • HEAD /v3/OS-FEDERATION/service_providers/{service_provider_id}

Scope Types:
  • system

  • project

Get federated service provider.

identity:update_service_provider
Default:

rule:admin_required

Operations:
  • PATCH /v3/OS-FEDERATION/service_providers/{service_provider_id}

Scope Types:
  • system

  • project

Update federated service provider.

identity:delete_service_provider
Default:

rule:admin_required

Operations:
  • DELETE /v3/OS-FEDERATION/service_providers/{service_provider_id}

Scope Types:
  • system

  • project

Delete federated service provider.

identity:revocation_list
Default:

rule:service_or_admin

Operations:
  • GET /v3/auth/tokens/OS-PKI/revoked

Scope Types:
  • system

  • project

List revoked PKI tokens.

identity:check_token
Default:

rule:admin_required or (role:reader and system_scope:all) or rule:token_subject

Operations:
  • HEAD /v3/auth/tokens

Scope Types:
  • system

  • domain

  • project

Check a token.

identity:validate_token
Default:

rule:admin_required or (role:reader and system_scope:all) or rule:service_role or rule:token_subject

Operations:
  • GET /v3/auth/tokens

Scope Types:
  • system

  • domain

  • project

Validate a token.

identity:revoke_token
Default:

rule:admin_required or rule:token_subject

Operations:
  • DELETE /v3/auth/tokens

Scope Types:
  • system

  • domain

  • project

Revoke a token.

identity:create_trust
Default:

user_id:%(trust.trustor_user_id)s

Operations:
  • POST /v3/OS-TRUST/trusts

Scope Types:
  • project

Create trust.

identity:list_trusts
Default:

rule:admin_required or (role:reader and system_scope:all)

Operations:
  • GET /v3/OS-TRUST/trusts

  • HEAD /v3/OS-TRUST/trusts

Scope Types:
  • system

  • project

List trusts.

identity:list_trusts_for_trustor
Default:

(rule:admin_required) or (role:reader and system_scope:all or user_id:%(target.trust.trustor_user_id)s)

Operations:
  • GET /v3/OS-TRUST/trusts?trustor_user_id={trustor_user_id}

  • HEAD /v3/OS-TRUST/trusts?trustor_user_id={trustor_user_id}

Scope Types:
  • system

  • project

List trusts for trustor.

identity:list_trusts_for_trustee
Default:

(rule:admin_required) or (role:reader and system_scope:all or user_id:%(target.trust.trustee_user_id)s)

Operations:
  • GET /v3/OS-TRUST/trusts?trustee_user_id={trustee_user_id}

  • HEAD /v3/OS-TRUST/trusts?trustee_user_id={trustee_user_id}

Scope Types:
  • system

  • project

List trusts for trustee.

identity:list_roles_for_trust
Default:

(rule:admin_required) or (role:reader and system_scope:all or user_id:%(target.trust.trustor_user_id)s or user_id:%(target.trust.trustee_user_id)s)

Operations:
  • GET /v3/OS-TRUST/trusts/{trust_id}/roles

  • HEAD /v3/OS-TRUST/trusts/{trust_id}/roles

Scope Types:
  • system

  • project

List roles delegated by a trust.

identity:get_role_for_trust
Default:

(rule:admin_required) or (role:reader and system_scope:all or user_id:%(target.trust.trustor_user_id)s or user_id:%(target.trust.trustee_user_id)s)

Operations:
  • GET /v3/OS-TRUST/trusts/{trust_id}/roles/{role_id}

  • HEAD /v3/OS-TRUST/trusts/{trust_id}/roles/{role_id}

Scope Types:
  • system

  • project

Check if trust delegates a particular role.

identity:delete_trust
Default:

rule:admin_required or user_id:%(target.trust.trustor_user_id)s

Operations:
  • DELETE /v3/OS-TRUST/trusts/{trust_id}

Scope Types:
  • system

  • project

Revoke trust.

identity:get_trust
Default:

(rule:admin_required) or (role:reader and system_scope:all or user_id:%(target.trust.trustor_user_id)s or user_id:%(target.trust.trustee_user_id)s)

Operations:
  • GET /v3/OS-TRUST/trusts/{trust_id}

  • HEAD /v3/OS-TRUST/trusts/{trust_id}

Scope Types:
  • system

  • project

Get trust.

identity:get_user
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and token.domain.id:%(target.user.domain_id)s) or user_id:%(target.user.id)s

Operations:
  • GET /v3/users/{user_id}

  • HEAD /v3/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Show user details.

identity:list_users
Default:

(rule:admin_required) or (role:reader and system_scope:all) or (role:reader and domain_id:%(target.domain_id)s)

Operations:
  • GET /v3/users

  • HEAD /v3/users

Scope Types:
  • system

  • domain

  • project

List users.

identity:list_projects_for_user
Default:

<empty string>

Operations:
  • GET `` /v3/auth/projects``

List all projects a user has access to via role assignments.

identity:list_domains_for_user
Default:

<empty string>

Operations:
  • GET /v3/auth/domains

List all domains a user has access to via role assignments.

identity:create_user
Default:

(rule:admin_required) or (role:manager and token.domain.id:%(target.user.domain_id)s)

Operations:
  • POST /v3/users

Scope Types:
  • system

  • domain

  • project

Create a user.

identity:update_user
Default:

(rule:admin_required) or (role:manager and token.domain.id:%(target.user.domain_id)s)

Operations:
  • PATCH /v3/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Update a user, including administrative password resets.

identity:delete_user
Default:

(rule:admin_required) or (role:manager and token.domain.id:%(target.user.domain_id)s)

Operations:
  • DELETE /v3/users/{user_id}

Scope Types:
  • system

  • domain

  • project

Delete a user.