keystone.application_credential.backends.sql 模块

class keystone.application_credential.backends.sql.AccessRuleModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

application_credential
attributes = ['external_id', 'user_id', 'service', 'path', 'method']
external_id
id
method
path
service
user_id
class keystone.application_credential.backends.sql.ApplicationCredential[source]

基础: ApplicationCredentialDriverBase

authenticate(application_credential_id, secret)[source]

验证应用程序凭证。

参数:
  • application_credential_id (str) – 应用程序凭证 ID

  • secret (str) – 密钥

引发:

AssertionError – 如果 ID 或密钥无效。

create_application_credential(application_credential, roles, access_rules=None)[source]

创建一个新的应用程序凭证。

参数:
  • application_credential (dict) – 应用程序凭证数据

  • roles (list) – 应用于应用程序凭证的角色列表。

返回值:

一个新的应用程序凭证

delete_access_rule(access_rule_id)[source]

删除一个访问规则。

参数:

access_rule_id (str) – 访问规则 ID

delete_access_rules_for_user(user_id)[source]

删除用户的所有访问规则。

当用户本身被删除时调用此函数。

参数:

user_id (str) – 用户 ID

delete_application_credential(application_credential_id)[source]

删除单个应用程序凭证。

参数:

application_credential_id (str) – 要删除的应用程序凭证的 ID。

delete_application_credentials_for_user(user_id)[source]

删除用户的全部应用程序凭证。

参数:

user_id – 要删除其应用程序凭证的用户的 ID。

delete_application_credentials_for_user_on_project(user_id, project_id)[source]

删除给定项目上的用户的全部应用程序凭证。

参数:
  • user_id (str) – 要删除其应用程序凭证的用户的 ID。

  • project_id (str) – 用于筛选应用程序凭证的项目 ID。

get_access_rule(access_rule_id)[source]

按其 ID 获取访问规则。

参数:

access_rule_id (str) – 访问规则 ID

get_application_credential(application_credential_id)[source]

按凭证 ID 获取应用程序凭证。

参数:

application_credential_id (str) – 应用程序凭证 ID

list_access_rules_for_user(user_id, hints)[source]

列出用户创建的访问规则。

访问规则仅作为应用程序凭证的属性创建,不能独立创建。

参数:

user_id (str) – 用户 ID

list_application_credentials_for_user(user_id, hints)[source]

列出用户的应用程序凭据。

参数:
  • user_id (str) – 用户 ID

  • hints – 包含尚未满足的过滤器列表。此处满足的任何过滤器都将被删除,以便调用者知道是否仍有任何过滤器剩余。

class keystone.application_credential.backends.sql.ApplicationCredentialAccessRuleModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

access_rule_id
application_credential_id
attributes = ['application_credential_id', 'access_rule_id']
class keystone.application_credential.backends.sql.ApplicationCredentialModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

access_rules
attributes = ['internal_id', 'id', 'name', 'secret_hash', 'description', 'user_id', 'project_id', 'system', 'expires_at', 'unrestricted']
description
expires_at
id
internal_id
name
project_id
roles
secret_hash
system
unrestricted
user_id
class keystone.application_credential.backends.sql.ApplicationCredentialRoleModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

application_credential_id
attributes = ['application_credential_id', 'role_id']
role_id