文档首页/ 统一身份认证服务 IAM/ API参考/ 快速入门/ 企业管理华为云上多租户的联邦认证
更新时间:2024-04-19 GMT+08:00

企业管理华为云上多租户的联邦认证

场景描述

部分企业级用户在公有云上存在多账号,并且通过企业级IDP系统联邦登录至公有云对不同账号进行操作,需要提前通过API自动配置联邦认证。

本章节指导用户如何使用API调用的方式自动配置联邦认证。

前提条件

账号账号管理员进行注册或导入操作需要拥有Security Administrator权限。

总体思路

进行华为云上多租户的联邦认证,步骤如下:

  1. 注册身份提供商;
  2. 注册映射;
  3. 注册协议;
  4. 导入Metadata文件;
  5. 联邦登录。

涉及的接口如下:

步骤1:注册身份提供商

URI:PUT /v3/OS-FEDERATION/identity_providers/{id}

API文档详情请参见: 创建身份提供商

  • 请求示例
    PUT https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/{id}

    {
         "identity_provider":{
             "description":"Stores ACME identities.",
             "enabled":true
         }
     }
  • 响应示例
    {
        "identity_provider": {
            "remote_ids": [],
            "enabled": true,
            "id": "ACME",
            "links": {
                "self": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME",
                "protocols": "https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols"
            },
            "description": "Stores ACME identities."
        }
    }

步骤2:注册映射

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

API文档详情请参见:注册映射

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

步骤3:注册协议

URI:PUT /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}

API文档详情请参见:注册协议

  • 请求示例
    PUT https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}
    {
         "protocol":{
             "mapping_id":"ACME"
         }
     }
  • 响应示例
    {
         "protocol":{
             "id":"saml",
             "links":{
                 "identity_provider":"https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME",
                 "self":"https://iam.myhuaweicloud.com/v3/OS-FEDERATION/identity_providers/ACME/protocols/saml"
             },
             "mapping_id":"ACME"
         }
     }

步骤4:导入metadata文件

URI:POST /v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata

API文档详情请参见:导入Metadata文件

  • 请求示例
    POST https://iam.myhuaweicloud.com/v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata
    {
         "domain_id":"d78cbac186b744899480f25bd022....",
         "metadata":"$metadataContent",
         "xaccount_type":""
     }
  • 响应示例
    {
         "message":"Import metadata successful"
     }

步骤5:联邦登录

完成云上多租户联邦认证配置。联邦登录详情参考:身份提供商