更新时间:2024-07-30 GMT+08:00

注册映射

功能介绍

该接口可以用于管理员注册映射。

该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点

调试

您可以在API Explorer中调试该接口。

URI

PUT /v3/OS-FEDERATION/mappings/{id}

表1 路径参数

参数

是否必选

参数类型

描述

id

String

待注册的映射ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

Content-Type

String

该字段内容填为“application/json;charset=utf8”。

X-Auth-Token

String

访问令牌,承载用户的身份、权限等信息。

token所需权限请参见授权项

表3 请求Body参数

参数

是否必选

参数类型

描述

mapping

Object

映射信息。

表4 mapping

参数

是否必选

参数类型

描述

rules

Array of objects

将联邦用户映射为本地用户的规则列表。

表5 mapping.rules

参数

是否必选

参数类型

描述

local

Array of RulesLocal objects

表示联邦用户在本系统中的用户信息。 user:联邦用户在本系统中的用户名称。group:联邦用户在本系统中所属用户组。

remote

Array of objects

表示联邦用户在IdP中的用户信息。使用SAML协议时,由断言属性及运算符组成的表达式,取值由断言决定。使用OIDC协议时,取值由ID token决定。

表6 mappings.rules.local

参数

是否必选

参数类型

描述

user

user object

联邦用户在本系统中的用户名称

group

group object

联邦用户在本系统中所属用户组

表7 mappings.rules.local.user

名称

是否必选

类型

描述

name

String

联邦用户在本系统中的用户名称

表8 mappings.rules.local.group

名称

是否必选

类型

描述

name

String

联邦用户在本系统中所属用户组

表9 mapping.rules.remote

参数

是否必选

参数类型

描述

type

String

表示IdP断言(SAML协议)或ID token(OIDC协议)中的属性。

any_one_of

Array of strings

输入属性值中包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。

not_any_of

Array of strings

输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。not_any_of 与any_one_of互斥,两者至多填写一个,不能同时填写。

响应参数

表10 响应Body参数

参数

参数类型

描述

mapping

Object

映射信息。

表11 mapping

参数

参数类型

描述

id

String

映射ID。

links

Object

映射的资源链接信息。

rules

Array of objects

将联邦用户映射为本地用户的规则列表。

表13 mappings.rules

参数

参数类型

描述

local

Array of objects

表示联邦用户在本系统中的用户信息。 user:联邦用户在本系统中的用户名称。group:联邦用户在本系统中所属用户组。

remote

Array of objects

表示联邦用户在IdP中的用户信息。使用SAML协议时,由断言属性及运算符组成的表达式,取值由断言决定。使用OIDC协议时,取值由ID token决定。

表14 mappings.rules.local

参数

参数类型

描述

user

user object

联邦用户在本系统中的用户名称

group

group object

联邦用户在本系统中所属用户组

表15 mappings.rules.local.user

名称

类型

描述

name

String

联邦用户在本系统中的用户名称

表16 mappings.rules.local.group

名称

类型

描述

name

String

联邦用户在本系统中所属用户组

表17 mapping.rules.remote

参数

参数类型

描述

type

String

表示IdP断言(SAML协议)或ID token(OIDC协议)中的属性。

any_one_of

Array of strings

输入属性值中包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数组元素中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。

not_any_of

Array of strings

输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。not_any_of 与any_one_of互斥,两者至多填写一个,不能同时填写。

请求示例

注册映射。

PUT https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/{id}
{
    "mapping": {
        "rules": [
            {
                "local": [
                    {
                        "user": {
                            "name": "LocalUser"
                        }
                    },
                    {
                        "group": {
                            "name": "LocalGroup"
                        }
                    }
                ],
                "remote": [
                    {
                        "type": "UserName"
                    },
                    {
                        "type": "orgPersonType",
                        "not_any_of": [
                            "Contractor",
                            "Guest"
                        ]
                    }
                ]
            }
        ]
    }
}

响应示例

状态码为 201 时:

创建成功。

{
    "mapping": {
        "rules": [
            {
                "local": [
                    {
                        "user": {
                            "name": "LocalUser"
                        }
                    },
                    {
                        "group": {
                            "name": "LocalGroup"
                        }
                    }
                ],
                "remote": [
                    {
                        "type": "UserName"
                    },
                    {
                        "type": "orgPersonType",
                        "not_any_of": [
                            "Contractor",
                            "Guest"
                        ]
                    }
                ]
            }
        ],
        "id": "ACME",
        "links": {
            "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/mappings/ACME"
        }
    }
}

返回值

返回值

描述

201

创建成功。

400

参数无效。

401

认证失败。

403

没有操作权限。

404

未找到相应的资源。

405

不允许的方法。

409

资源冲突。

413

请求体过大。

500

内部服务错误。

503

服务不可用。

错误码