更新时间:2022-08-16 GMT+08:00

注册映射

功能介绍

该接口用于注册一个映射。

URI

  • URI格式

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

  • 参数说明

    参数

    是否必选

    类型

    说明

    id

    String

    映射的ID。

请求

  • Request Header参数说明

    参数

    是否必选

    类型

    说明

    Content-Type

    String

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

    X-Auth-Token

    String

    已认证的拥有Security Administrator权限的token。

  • Request Body参数说明

    参数

    是否必选

    类型

    说明

    rules

    Object

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

    以使用SAML协议为例:

     "rules": [
                {
                    "local": [
                        {
                            "user": {
                                "name": "{0}"
                            }
                        },
                        {
                            "group": {
                                "name": "0cd5e9"
                            }
                        }
                    ],
                    "remote": [
                        {
                            "type": "UserName"
                        },
                        {
                            "type": "orgPersonType",
                            "not_any_of": [
                                "Contractor",
                                "Guest"
                            ]
                        }
    
                    ]
                }
            ]

    local:表示联邦用户在本系统中的用户信息。

    • user:联邦用户在本系统中的用户名称。{0}表示remote中用户信息的第一个属性。
    • group:联邦用户在本系统中所属用户组。

    remote:表示联邦用户在IdP中的用户信息,由断言属性及运算符组成的表达式,取值由断言决定。

    • "type": "UserName"表示IdP断言中的属性。
    • "type": "orgPersonType"表示IdP断言中的属性。
    • "not_any_of":输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。
  • 请求样例
    curl -i -k -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf8' -H "X-Auth-Token:$token" -X PUT -d'{"mapping":{"rules":[{"local":[{"user":{"name":"{0}"}},{"group":{"name":"0cd5e9"}}],"remote":[{"type":"UserName"},{"type":"orgPersonType","not_any_of":["Contractor","Guest"]}]}]}}' https://sample.domain.com/v3/OS-FEDERATION/mappings/ACME

响应

  • Response Body参数说明

    参数

    是否必选

    类型

    说明

    id

    String

    映射的ID。

    rules

    Object

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

    以使用SAML协议为例:

     "rules": [
                {
                    "local": [
                        {
                            "user": {
                                "name": "{0}"
                            }
                        },
                        {
                            "group": {
                                "name": "0cd5e9"
                            }
                        }
                    ],
                    "remote": [
                        {
                            "type": "UserName"
                        },
                        {
                            "type": "orgPersonType",
                            "not_any_of": [
                                "Contractor",
                                "Guest"
                            ]
                        }
    
                    ]
                }
            ]

    local:表示联邦用户在本系统中的用户信息。

    • user:联邦用户在本系统中的用户名称。{0}表示remote中用户信息的第一个属性。
    • group:联邦用户在本系统中所属用户组。

    remote:表示联邦用户在IdP中的用户信息,由断言属性及运算符组成的表达式,取值由断言决定。

    • "type": "UserName"表示IdP断言中的属性。
    • "type": "orgPersonType"表示IdP断言中的属性。
    • "not_any_of":输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。

    links

    Object

    映射的资源链接。

  • 响应样例
    {
        "mapping": {
            "id": "ACME",
            "links": {
                "self": "https://example.com/v3/OS-FEDERATION/mappings/ACME"
            },
            "rules": [
                {
                    "local": [
                        {
                            "user": {
                                "name": "{0}"
                            }
                        },
                        {
                            "group": {
                                "name": "0cd5e9"
                            }
                        }
                    ],
                    "remote": [
                        {
                            "type": "UserName"
                        },
                        {
                            "type": "orgPersonType",
                            "not_any_of": [
                                "Contractor",
                                "Guest"
                            ]
                        }
                    ]
                }
            ]
        }
    }

状态码

状态码

说明

201

请求成功。

400

请求错误。

401

认证失败。

403

鉴权失败。

404

找不到资源。

405

不允许的方法。

409

资源冲突。

413

请求体过大。

500

内部服务错误。

503

服务不可用。