keystone.assignment.backends.base 模块

class keystone.assignment.backends.base.AssignmentDriverBase[source]

基类: object

abstract add_role_to_user_and_project(user_id, project_id, role_id)[source]

将角色添加到给定项目中的用户。

引发:

keystone.exception.Conflict – 如果存在重复的角色分配。

abstract check_grant_role_id(role_id, user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]

检查分配/授权的角色 ID。

引发:

keystone.exception.RoleAssignmentNotFound – 如果角色分配不存在。

返回值:

如果没有找到授权,则返回 None 或引发异常

abstract check_system_grant(role_id, actor_id, target_id, inherited)[source]

检查用户或组是否在系统上具有特定角色。

参数:
  • role_id – 要授予用户的角色的唯一 ID

  • actor_id – 用户或组的唯一 ID

  • target_id – 目标的唯一 ID 或字符串

  • inherited – 一个布尔值,表示分配是否继承

abstract create_grant(role_id, user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]

创建一个新的分配/授权。

如果分配到域,则可以选择性地指定它继承到拥有的项目(这需要启用 OS-INHERIT 扩展)。

abstract create_system_grant(role_id, actor_id, target_id, assignment_type, inherited)[source]

将角色授予系统中的用户或组。

参数:
  • role_id – 要授予用户的角色的唯一 ID

  • actor_id – 用户或组的唯一 ID

  • target_id – 目标的唯一 ID 或字符串

  • assignment_type – 描述分配关系的字符串

  • inherited – 一个布尔值,表示分配是否继承

abstract delete_domain_assignments(domain_id)[source]

删除域的所有分配。

abstract delete_grant(role_id, user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]

删除分配/授权。

引发:

keystone.exception.RoleAssignmentNotFound – 如果角色分配不存在。

abstract delete_group_assignments(group_id)[source]

删除组的所有分配。

引发:

keystone.exception.RoleNotFound – 如果角色不存在。

abstract delete_project_assignments(project_id)[source]

删除项目的所有分配。

引发:

keystone.exception.ProjectNotFound – 如果项目不存在。

abstract delete_role_assignments(role_id)[source]

删除角色的所有分配。

abstract delete_system_grant(role_id, actor_id, target_id, inherited)[source]

从用户或组中删除系统分配。

参数:
  • role_id – 要授予用户的角色的唯一 ID

  • actor_id – 用户或组的唯一 ID

  • target_id – 目标的唯一 ID 或字符串

  • inherited – 一个布尔值,表示分配是否继承

abstract delete_user_assignments(user_id)[source]

删除用户的所有分配。

引发:

keystone.exception.RoleNotFound – 如果角色不存在。

abstract list_grant_role_ids(user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]

列出分配/授权的角色 ID。

abstract list_role_assignments(role_id=None, user_id=None, group_ids=None, domain_id=None, project_ids=None, inherited_to_projects=None)[source]

返回参与者在目标上的角色分配列表。

可用的参数表示返回的角色分配属性需要过滤的值。

abstract list_system_grants(actor_id, target_id, assignment_type)[source]

返回特定实体的所有系统分配列表。

参数:
  • actor_id – 参与者的唯一 ID

  • target_id – 目标的唯一 ID

  • assignment_type – 要返回的分配类型

abstract list_system_grants_by_role(role_id)[source]

返回与角色关联的系统分配列表。

参数:

role_id – 要授予用户的角色的唯一 ID

abstract remove_role_from_user_and_project(user_id, project_id, role_id)[source]

从给定项目中的用户中删除角色。

引发:

keystone.exception.RoleNotFound – 如果角色不存在。