更新时间:2026-06-16 GMT+08:00
分享

创建SAML提供商 - CreateSAMLProviderV5

功能介绍

该接口可以用于创建一个支持 SAML 2.0 的身份提供商 (IdP)。

您通过此操作创建的 SAML 提供商可用作信任委托的信任策略中的主体 (Principal),用于在华为云和 SAML 提供商之间建立信任关系。 该信任策略可以允许使用 SAML IdP 登录的联邦用户切换至该信任委托,您可以创建使用 Web 单点登录 (SSO) 到 华为云控制台的 IAM 信任委托,或者支持对华为云进行 API 访问的 IAM 信任委托。

当您创建 SAML 提供商时,您需要上传从 IdP 获得的 SAML 元数据文档。该文档包含颁发者的名称、过期信息以及可用于验证 IdP 发送的 SAML 身份验证响应(断言)的密钥。

授权信息

账号根用户具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备如下身份策略权限,更多的权限说明请参见权限和授权项

授权项

访问级别

资源类型(*为必须)

条件键

别名

依赖的授权项

iam:samlProviders:createV5

Write

samlProvider *

-

-

-

URI

POST /v5/saml-providers

请求参数

表1 请求Body参数

参数

是否必选

参数类型

描述

name

String

参数解释

SAML 提供商的名称。

约束限制

字符串长度在 1 到 64 之间,并且只能包含:字母、数字、下划线(_)、中划线(-)。

取值范围

不涉及。

默认取值

不涉及。

saml_metadata_document

String

参数解释

由支持 SAML 2.0 的身份提供商 (IdP) 生成的 XML 文档。该文档包含颁发者的名称、过期信息,以及可用于验证从 IdP 接收到的 SAML 身份验证响应(断言)的密钥。

约束限制

长度范围为[1000,512000]。

取值范围

不涉及。

默认取值

不涉及。

assertion_encryption_mode

String

参数解释

指定 SAML 提供商的加密设置。

约束限制

不涉及。

取值范围

取值范围为[Required,Allowed]。

默认取值

不涉及。

add_private_key

String

参数解释

添加解密 SAML 断言的私钥,必须是一个 PEM 格式的 RSA 私钥。在接收到加密的 SAML 断言时,IAM 会基于 RSA-OAEP 算法使用该私钥解密得到用于加密 SAML 断言的对称密钥,然后再基于 AES-GCM 或 AES-CBC 加密算法使用对称密钥解密出 SAML 断言明文。

约束限制

长度范围为[1,16384]。

取值范围

字符串必须由 1 个或多个字符组成,这些字符可以是:空格、可见 ASCII 字符、Latin-1 扩展字符、Tab、换行、回车

默认取值

不涉及。

description

String

参数解释

身份提供商描述。

约束限制

长度范围为[0,255]。

取值范围

不能包含特定字符"@"、"#"、"%"、"&"、"<"、">"、""、"$"、"^"和"*"的字符串。

默认取值

不涉及。

响应参数

状态码:201

表2 响应Body参数

参数

参数类型

描述

saml_provider

saml_provider object

参数解释

SAML 提供商。

取值范围

不涉及。

表3 saml_provider

参数

参数类型

描述

provider_id

String

参数解释

SAML 身份提供商的ID。

取值范围

字符串长度在 1 到 64 之间,并且只能包含:字母、数字、中划线(-)。

name

String

参数解释

SAML 身份提供商的名称。

取值范围

字符串长度在 1 到 64 之间,并且只能包含:字母、数字、下划线(_)、中划线(-)。

description

String

参数解释

身份提供商描述。

取值范围

字符串长度在 0 到 255 之间,不能包含特定字符"@"、"#"、"%"、"&"、"<"、">"、""、"$"、"^"和"*"的字符串。

urn

String

参数解释

统一资源名称。

取值范围

字符串长度在 16 到 1500 之间,可以包含:字母、数字、斜杠(/)、等号(=)、下划线(_)、冒号(:)、中划线(-)

saml_metadata_document

String

参数解释

支持 SAML 2.0 的身份提供商 (IdP) 的 XML 文档。

取值范围

长度范围为[1000,512000]。

assertion_encryption_mode

String

参数解释

指定 SAML 身份提供商的加密设置。

取值范围

取值范围为[Required,Allowed]。

private_keys

Array of private_keys objects

参数解释

解密 SAML 断言的私钥。

取值范围

不涉及。

created_at

String

参数解释

SAML 身份提供商创建时间。

取值范围

不涉及。

expires_at

String

参数解释

SAML 身份提供商过期时间。

取值范围

不涉及。

表4 private_keys

参数

参数类型

描述

key_id

String

参数解释

解密 SAML 断言私钥的 ID。

取值范围

不涉及。

timestamp

String

参数解释

上传解密 SAML 断言私钥的时间,符合 ISO 8601 格式。

取值范围

不涉及。

状态码:400

表5 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

状态码:403

表6 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

encoded_authorization_message

String

参数解释

认证失败时返回的加密详细信息,用于定位认证问题。 可以通过STS5解密接口进行解密,请参见接口链接

取值范围

不涉及。

状态码:409

表7 响应Body参数

参数

参数类型

描述

error_code

String

参数解释

错误码,请参见错误码

取值范围

格式为PAP5.XXXX,例如 PAP5.0012。

error_msg

String

参数解释

错误信息,请参见错误信息

取值范围

不涉及。

request_id

String

参数解释

API 请求的唯一标识,用于排查接口调用异常。

取值范围

不涉及。

请求示例

响应示例

状态码

状态码

描述

201

请求成功。

400

请求体异常。

403

没有操作权限。

409

请求冲突。

错误码

请参见错误码

相关文档