keystone.federation.backends.sql 模块

class keystone.federation.backends.sql.Federation[source]

基类: FederationDriverBase

create_idp(idp_id, idp)[source]

创建身份提供程序。

参数:
  • idp_id (string) – IdP 对象的 ID

  • idp (dict) – idp 对象

返回值:

idp 引用

返回类型:

dict

create_mapping(mapping_id, mapping)[source]

创建一个映射。

参数:
  • mapping_id (string) – mapping 对象的 ID

  • mapping (dict) – 包含 mapping 名称的 mapping 引用

返回值:

mapping 引用

返回类型:

dict

create_protocol(idp_id, protocol_id, protocol)[source]

添加 IdP-协议配置。

参数:
  • idp_id (string) – IdP 对象的 ID

  • protocol_id (string) – 协议对象的 ID

  • protocol (dict) – 协议对象

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

返回值:

protocol 引用

返回类型:

dict

create_sp(sp_id, sp)[source]

创建服务提供程序。

参数:
  • sp_id (string) – 服务提供程序的 ID

  • sp (dict) – 服务提供程序对象

返回值:

服务提供程序引用

返回类型:

dict

delete_idp(idp_id)[source]

删除身份提供程序。

参数:

idp_id (string) – IdP 对象的 ID

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

delete_mapping(mapping_id)[source]

删除一个映射。

参数:

mapping_id – 要删除的 mapping 的 ID

返回值:

delete_protocol(idp_id, protocol_id)[source]

删除 IdP-协议配置。

参数:
  • idp_id (string) – IdP 对象的 ID

  • protocol_id (string) – 协议对象的 ID

引发:
delete_sp(sp_id)[source]

删除服务提供程序。

参数:

sp_id (string) – 服务提供程序的 ID

引发:

keystone.exception.ServiceProviderNotFound – 如果服务提供程序不存在。

get_enabled_service_providers()[source]

列出服务目录中启用的服务提供程序。

目录中的服务提供程序包含三个属性:idauth_urlsp_url,其中

  • id 是服务提供程序对象的唯一用户定义的标识符

  • auth_url 是远程 Keystone 的身份验证 URL

  • sp_url 是远程服务提供程序上可访问的 URL,SAML 断言在该 URL 上传输。

返回值:

包含启用服务提供程序的字典列表

返回类型:

字典列表

get_idp(idp_id)[source]

按 ID 获取身份提供程序。

参数:

idp_id (string) – IdP 对象的 ID

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

返回值:

idp 引用

返回类型:

dict

get_idp_from_remote_id(remote_id)[source]

按远程 ID 获取身份提供程序。

参数:

remote_id – 远程 IdP 的 ID

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

返回值:

idp 引用

返回类型:

dict

get_mapping(mapping_id)[source]

获取 mapping,根据 mapping_id 返回 mapping。

参数:

mapping_id – 要获取的 mapping 的 ID

引发:

keystone.exception.MappingNotFound – 如果找不到 mapping。

返回值:

mapping 引用

返回类型:

dict

get_mapping_from_idp_and_protocol(idp_id, protocol_id)[source]

根据 idp_id 和 protocol_id 获取 mapping。

参数:
  • idp_id (string) – 身份提供程序的 ID

  • protocol_id (string) – 协议的 ID

引发:
返回值:

mapping 引用

返回类型:

dict

get_protocol(idp_id, protocol_id)[source]

获取 IdP-协议配置。

参数:
  • idp_id (string) – IdP 对象的 ID

  • protocol_id (string) – 协议对象的 ID

引发:
返回值:

protocol 引用

返回类型:

dict

get_sp(sp_id)[source]

获取服务提供程序。

参数:

sp_id (string) – 服务提供程序的 ID

返回值:

服务提供程序引用

返回类型:

dict

引发:

keystone.exception.ServiceProviderNotFound – 如果服务提供程序不存在。

list_idps(hints=None)[source]

列出所有身份提供程序。

参数:

hints – 驱动程序如果可能应该实现的筛选提示。

返回值:

idp 引用列表

返回类型:

字典列表

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

list_mappings()[source]

列出所有 mapping。

返回值:

mapping 引用列表

返回类型:

字典列表

list_protocols(idp_id)[source]

列出 IdP 支持的协议。

参数:

idp_id (string) – IdP 对象的 ID

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

返回值:

protocol 引用列表

返回类型:

字典列表

list_sps(hints=None)[source]

列出所有服务提供程序。

参数:

hints – 驱动程序如果可能应该实现的筛选提示。

返回值:

服务提供程序引用对象列表

返回类型:

字典列表

引发:

keystone.exception.ServiceProviderNotFound – 如果 SP 不存在。

update_idp(idp_id, idp)[source]

按 ID 更新身份提供程序。

参数:
  • idp_id (string) – IdP 对象的 ID

  • idp (dict) – idp 对象

引发:

keystone.exception.IdentityProviderNotFound – 如果 IdP 不存在。

返回值:

idp 引用

返回类型:

dict

update_mapping(mapping_id, mapping)[source]

更新一个映射。

参数:
  • mapping_id (string) – 要更新的 mapping 的 ID

  • mapping_ref (dict) – 新的 mapping 引用

返回值:

mapping 引用

返回类型:

dict

update_protocol(idp_id, protocol_id, protocol)[source]

更改 IdP-协议配置。

参数:
  • idp_id (string) – IdP 对象的 ID

  • protocol_id (string) – 协议对象的 ID

  • protocol (dict) – 协议对象

引发:
返回值:

protocol 引用

返回类型:

dict

update_sp(sp_id, sp)[source]

更新一个服务提供者。

参数:
  • sp_id (string) – 服务提供程序的 ID

  • sp (dict) – 服务提供程序对象

返回值:

服务提供程序引用

返回类型:

dict

引发:

keystone.exception.ServiceProviderNotFound – 如果服务提供程序不存在。

class keystone.federation.backends.sql.FederationProtocolModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

attributes = ['id', 'idp_id', 'mapping_id', 'remote_id_attribute']
classmethod from_dict(dictionary)[source]

从字典返回模型实例。

id
idp_id
mapping_id
mutable_attributes = frozenset({'mapping_id', 'remote_id_attribute'})
remote_id_attribute
to_dict()[source]

返回包含模型属性的字典。

class keystone.federation.backends.sql.IdPRemoteIdsModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

attributes = ['idp_id', 'remote_id']
classmethod from_dict(dictionary)[source]

从字典返回模型实例。

idp_id
mutable_attributes = frozenset({'idp_id', 'remote_id'})
remote_id
to_dict()[source]

返回包含模型属性的字典。

class keystone.federation.backends.sql.IdentityProviderModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

attributes = ['id', 'domain_id', 'enabled', 'description', 'remote_ids', 'authorization_ttl']
authorization_ttl
description
domain_id
enabled
expiring_user_group_memberships
classmethod from_dict(dictionary)[source]

从字典返回模型实例。

id
mutable_attributes = frozenset({'authorization_ttl', 'description', 'enabled', 'remote_ids'})
remote_ids
to_dict()[source]

返回包含模型属性的字典。

class keystone.federation.backends.sql.MappingModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

attributes = ['id', 'rules', 'schema_version']
classmethod from_dict(dictionary)[source]

从字典返回模型实例。

id
rules
schema_version
to_dict()[source]

返回包含模型属性的字典。

class keystone.federation.backends.sql.ServiceProviderModel(*args, **kwargs)[source]

基础: Base, ModelDictMixin

attributes = ['auth_url', 'id', 'enabled', 'description', 'relay_state_prefix', 'sp_url']
auth_url
description
enabled
classmethod from_dict(dictionary)[source]

从字典返回模型实例。

id
mutable_attributes = frozenset({'auth_url', 'description', 'enabled', 'relay_state_prefix', 'sp_url'})
relay_state_prefix
sp_url
to_dict()[source]

返回包含模型属性的字典。