keystone.assignment.backends.sql 模块¶
- class keystone.assignment.backends.sql.Assignment[source]¶
-
- add_role_to_user_and_project(user_id, project_id, role_id)[source]¶
将角色添加到给定项目中的用户。
- 引发:
keystone.exception.Conflict – 如果存在重复的角色分配。
- 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 或引发异常
- check_system_grant(role_id, actor_id, target_id, inherited)[source]¶
检查用户或组是否在系统上具有特定角色。
- 参数:
role_id – 要授予用户的角色的唯一 ID
actor_id – 用户或组的唯一 ID
target_id – 目标的唯一 ID 或字符串
inherited – 一个布尔值,表示分配是否继承
- create_grant(role_id, user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]¶
创建一个新的分配/授权。
如果分配到域,则可以选择性地指定它继承到拥有的项目(这需要启用 OS-INHERIT 扩展)。
- 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 – 一个布尔值,表示分配是否继承
- delete_grant(role_id, user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]¶
删除分配/授权。
- 引发:
keystone.exception.RoleAssignmentNotFound – 如果角色分配不存在。
- delete_group_assignments(group_id)[source]¶
删除组的所有分配。
- 引发:
keystone.exception.RoleNotFound – 如果角色不存在。
- delete_project_assignments(project_id)[source]¶
删除项目的所有分配。
- 引发:
keystone.exception.ProjectNotFound – 如果项目不存在。
- delete_system_grant(role_id, actor_id, target_id, inherited)[source]¶
从用户或组中删除系统分配。
- 参数:
role_id – 要授予用户的角色的唯一 ID
actor_id – 用户或组的唯一 ID
target_id – 目标的唯一 ID 或字符串
inherited – 一个布尔值,表示分配是否继承
- delete_user_assignments(user_id)[source]¶
删除用户的所有分配。
- 引发:
keystone.exception.RoleNotFound – 如果角色不存在。
- list_grant_role_ids(user_id=None, group_id=None, domain_id=None, project_id=None, inherited_to_projects=False)[source]¶
列出分配/授权的角色 ID。
- list_role_assignments(role_id=None, user_id=None, group_ids=None, domain_id=None, project_ids=None, inherited_to_projects=None)[source]¶
返回参与者在目标上的角色分配列表。
可用的参数表示返回的角色分配属性需要过滤的值。
- list_system_grants(actor_id, target_id, assignment_type)[source]¶
返回特定实体的所有系统分配列表。
- 参数:
actor_id – 参与者的唯一 ID
target_id – 目标的唯一 ID
assignment_type – 要返回的分配类型
- remove_role_from_user_and_project(user_id, project_id, role_id)[source]¶
从给定项目中的用户中删除角色。
- 引发:
keystone.exception.RoleNotFound – 如果角色不存在。
- class keystone.assignment.backends.sql.AssignmentType[source]¶
基类:
object- GROUP_DOMAIN = 'GroupDomain'¶
- GROUP_PROJECT = 'GroupProject'¶
- USER_DOMAIN = 'UserDomain'¶
- USER_PROJECT = 'UserProject'¶
- class keystone.assignment.backends.sql.RoleAssignment(*args, **kwargs)[source]¶
基础:
Base,ModelDictMixin- actor_id¶
- attributes = ['type', 'actor_id', 'target_id', 'role_id', 'inherited']¶
- inherited¶
- role_id¶
- target_id¶
- type¶