创建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
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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
| 参数 | 参数类型 | 描述 |
|---|---|---|
| saml_provider | saml_provider object | 参数解释: SAML 提供商。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| 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 身份提供商过期时间。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| key_id | String | 参数解释: 解密 SAML 断言私钥的 ID。 取值范围: 不涉及。 |
| timestamp | String | 参数解释: 上传解密 SAML 断言私钥的时间,符合 ISO 8601 格式。 取值范围: 不涉及。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码,请参见错误码。 取值范围: 格式为PAP5.XXXX,例如 PAP5.0012。 |
| error_msg | String | 参数解释: 错误信息,请参见错误信息。 取值范围: 不涉及。 |
| request_id | String | 参数解释: API 请求的唯一标识,用于排查接口调用异常。 取值范围: 不涉及。 |
状态码:403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 参数解释: 错误码,请参见错误码。 取值范围: 格式为PAP5.XXXX,例如PAP5.0012。 |
| error_msg | String | 参数解释: 错误信息,请参见错误信息。 取值范围: 不涉及。 |
| request_id | String | 参数解释: API请求的唯一标识,用于排查接口调用异常。 取值范围: 不涉及。 |
| encoded_authorization_message | String | 参数解释: 认证失败时返回的加密详细信息,用于定位认证问题。 可以通过STS5解密接口进行解密,请参见接口链接。 取值范围: 不涉及。 |
状态码:409
请求示例
无
响应示例
无
状态码
| 状态码 | 描述 |
|---|---|
| 201 | 请求成功。 |
| 400 | 请求体异常。 |
| 403 | 没有操作权限。 |
| 409 | 请求冲突。 |
错误码
请参见错误码。