keystoneclient.v3.contrib.federation 包

子模块

keystoneclient.v3.contrib.federation.base 模块

class keystoneclient.v3.contrib.federation.base.EntityManager(client)

基类: Manager

用于列出联合可访问对象的管理器类。

list()
abstract property object_type
resource_class = None

keystoneclient.v3.contrib.federation.core 模块

class keystoneclient.v3.contrib.federation.core.FederationManager(api)

基类: object

keystoneclient.v3.contrib.federation.domains 模块

class keystoneclient.v3.contrib.federation.domains.DomainManager(client)

继承自:EntityManager

object_type = 'domains'
resource_class

别名:Domain

keystoneclient.v3.contrib.federation.identity_providers 模块

class keystoneclient.v3.contrib.federation.identity_providers.IdentityProvider(manager, info, loaded=False)

基类: Resource

表示身份提供程序容器的对象。

属性
  • id:用于唯一标识身份提供程序的由用户定义的字符串。

class keystoneclient.v3.contrib.federation.identity_providers.IdentityProviderManager(client)

基类: CrudManager

用于操作身份提供程序的管理器类。

base_url = 'OS-FEDERATION'
collection_key = 'identity_providers'
create(id, **kwargs)

创建身份提供程序对象。

使用 Keystone URI:PUT /OS-FEDERATION/identity_providers/$identity_provider

参数:
  • id – 身份提供程序的唯一 ID。

  • kwargs – 可选属性:description(str)、domain_id(str)、enabled(boolean)和 remote_ids(list)。

返回值:

一个 IdentityProvider 资源对象。

返回类型:

keystoneclient.v3.federation.IdentityProvider

delete(identity_provider)

删除身份提供程序对象。

使用 Keystone URI:DELETE /OS-FEDERATION/identity_providers/$identity_provider

参数:

identity_provider – 身份提供程序 ID 本身或包含它的对象。

get(identity_provider)

获取身份提供程序对象。

使用 Keystone URI:GET /OS-FEDERATION/identity_providers/$identity_provider

参数:

identity_provider – 包含 identity_provider_id 的对象。

返回值:

一个 IdentityProvider 资源对象。

返回类型:

keystoneclient.v3.federation.IdentityProvider

key = 'identity_provider'
list(**kwargs)

列出所有身份提供程序。

使用 Keystone URI:GET /OS-FEDERATION/identity_providers

返回值:

一个 IdentityProvider 资源对象列表。

返回类型:

列表

resource_class

别名:IdentityProvider

update(identity_provider, **kwargs)

更新身份提供程序对象。

使用 Keystone URI:PATCH /OS-FEDERATION/identity_providers/$identity_provider

参数:

identity_provider – 包含 identity_provider_id 的对象。

返回值:

一个 IdentityProvider 资源对象。

返回类型:

keystoneclient.v3.federation.IdentityProvider

keystoneclient.v3.contrib.federation.mappings 模块

class keystoneclient.v3.contrib.federation.mappings.Mapping(manager, info, loaded=False)

基类: Resource

表示映射容器的对象。

属性
  • id:用于唯一标识映射的由用户定义的字符串。

class keystoneclient.v3.contrib.federation.mappings.MappingManager(client)

基类: CrudManager

用于操作联合映射的管理器类。

base_url = 'OS-FEDERATION'
collection_key = 'mappings'
create(mapping_id, **kwargs)

创建联合映射。

使用 Identity API 操作:PUT /OS-FEDERATION/mappings/$mapping_id

参数:
  • mapping_id – 联合映射的由用户定义的字符串标识符。

  • rules – 映射规则列表。

rules 参数示例

[
    {
        "local": [
            {
                "group": {
                    "id": "0cd5e9"
                }
            }
        ],
        "remote": [
            {
                "type": "orgPersonType",
                "not_any_of": [
                    "Contractor",
                    "Guest"
                ]
            }
        ]
    }
]
delete(mapping)

删除由映射 ID 标识的联合映射。

使用 Identity API 操作:DELETE /OS-FEDERATION/mappings/$mapping_id

参数:

mapping – 包含映射 ID 的 Mapping 类型对象。

get(mapping)

获取由映射 ID 标识的联合映射。

使用 Identity API 操作:GET /OS-FEDERATION/mappings/$mapping_id

参数:

mapping – 包含映射 ID 的 Mapping 类型对象。

key = 'mapping'
list(**kwargs)

列出所有联合映射。

使用 Identity API 操作:GET /OS-FEDERATION/mappings

resource_class

别名:Mapping

update(mapping, **kwargs)

更新由映射 ID 标识的联合映射。

使用 Identity API 操作:PATCH /OS-FEDERATION/mappings/$mapping_id

参数:
  • mapping – 包含映射 ID 的 Mapping 类型对象。

  • rules – 映射规则列表。

rules 参数示例

[
    {
        "local": [
            {
                "group": {
                    "id": "0cd5e9"
                }
            }
        ],
        "remote": [
            {
                "type": "orgPersonType",
                "not_any_of": [
                    "Contractor",
                    "Guest"
                ]
            }
        ]
    }
]

keystoneclient.v3.contrib.federation.projects 模块

class keystoneclient.v3.contrib.federation.projects.ProjectManager(client)

继承自:EntityManager

object_type = 'projects'
resource_class

别名:Project

keystoneclient.v3.contrib.federation.protocols 模块

class keystoneclient.v3.contrib.federation.protocols.Protocol(manager, info, loaded=False)

基类: Resource

表示联合协议容器的对象。

属性
  • id:用于唯一标识联合协议的由身份提供程序定义的字符串。

    federation 协议。

class keystoneclient.v3.contrib.federation.protocols.ProtocolManager(client)

基类: CrudManager

用于操作联合协议的管理器类。

base_url = 'OS-FEDERATION/identity_providers'
build_url(dict_args_in_out=None)

构建联合协议的 URL。

collection_key = 'protocols'
create(protocol_id, identity_provider, mapping, **kwargs)

创建联合协议对象并将其绑定到身份提供程序。

使用 Identity API 操作:PUT /OS-FEDERATION/identity_providers/ $identity_provider/protocols/$protocol

参数:
  • protocol_id – 标识联合协议的字符串类型参数

  • identity_provider – 标识身份提供程序的字符串类型参数

  • mapping – 具有联合映射 ID 的 base.Resource 对象

delete(identity_provider, protocol)

删除绑定到身份提供程序的协议对象。

使用 Identity API 操作:DELETE /OS-FEDERATION/identity_providers/ $identity_provider/protocols/$protocol

参数:
  • identity_provider – 存储身份提供程序 ID 的 base.Resource 类型对象

  • protocol – 存储联合协议 ID 的 base.Resource 类型对象

get(identity_provider, protocol, **kwargs)

获取绑定到身份提供程序的联合协议对象。

使用 Identity API 操作:GET /OS-FEDERATION/identity_providers/ $identity_provider/protocols/$protocol

参数:
  • identity_provider – 存储身份提供程序 ID 的 base.Resource 类型对象

  • protocol – 存储联合协议 ID 的 base.Resource 类型对象

key = 'protocol'
list(identity_provider, **kwargs)

列出绑定到身份提供程序的所有联合协议对象。

使用 Identity API 操作:GET /OS-FEDERATION/identity_providers/ $identity_provider/protocols

参数:

identity_provider – 存储身份提供程序 ID 的 base.Resource 类型对象

resource_class

Protocol 的别名

update(identity_provider, protocol, mapping, **kwargs)

更新绑定到身份提供程序的协议对象。

使用 Identity API 操作:PATCH /OS-FEDERATION/identity_providers/ $identity_provider/protocols/$protocol

参数:
  • identity_provider – 存储身份提供程序 ID 的 base.Resource 类型对象

  • protocol – 存储联合协议 ID 的 base.Resource 类型对象

  • mapping – 具有联合映射 ID 的 base.Resource 对象

keystoneclient.v3.contrib.federation.saml 模块

class keystoneclient.v3.contrib.federation.saml.SamlManager(client)

基类: Manager

用于创建 SAML 断言的管理器类。

create_ecp_assertion(service_provider, token_id)

从令牌创建 ECP 封装的 SAML 断言。

等效的 Identity API 调用:POST /auth/OS-FEDERATION/saml2/ecp

参数:
  • service_provider (string) – 服务提供程序资源。

  • token_id (string) – 要转换为 SAML 断言的令牌。

返回值:

token_id 的 SAML 表示形式,封装在 ECP 信封中

返回类型:

字符串

create_saml_assertion(service_provider, token_id)

从令牌创建 SAML 断言。

等效的 Identity API 调用:POST /auth/OS-FEDERATION/saml2

参数:
  • service_provider (string) – 服务提供程序资源。

  • token_id (string) – 要转换为 SAML 断言的令牌。

返回值:

token_id 的 SAML 表示形式

返回类型:

字符串

keystoneclient.v3.contrib.federation.service_providers 模块

class keystoneclient.v3.contrib.federation.service_providers.ServiceProvider(manager, info, loaded=False)

基类: Resource

表示服务提供程序容器的对象。

属性
  • id:唯一标识服务提供程序的由用户定义的字符串。

  • sp_url:服务提供程序的 Shibboleth 端点。

  • auth_url:服务提供程序的身份验证 URL。

class keystoneclient.v3.contrib.federation.service_providers.ServiceProviderManager(client)

基类: CrudManager

用于操作服务提供程序的管理器类。

base_url = 'OS-FEDERATION'
collection_key = 'service_providers'
create(id, **kwargs)

创建服务提供程序对象。

使用 Keystone URI:PUT /OS-FEDERATION/service_providers/{id}

参数:

id – 服务提供程序的唯一 ID。

delete(service_provider)

删除服务提供程序对象。

使用 Keystone URI:DELETE /OS-FEDERATION/service_providers/{id}

参数:

service_provider – 存储 service_provider_id 的对象。

get(service_provider)

获取服务提供程序对象。

使用 Keystone URI:GET /OS-FEDERATION/service_providers/{id}

参数:

service_provider – 存储 service_provider_id 的对象。

key = 'service_provider'
list(**kwargs)

列出所有服务提供程序。

使用 Keystone URI:GET /OS-FEDERATION/service_providers

resource_class

ServiceProvider 的别名

update(service_provider, **kwargs)

更新服务器上的现有服务提供程序对象。

仅更新传递给函数的属性。

使用 Keystone URI:PATCH /OS-FEDERATION/service_providers/{id}

参数:

service_provider – 存储 service_provider_id 的对象。

模块内容