多用户访问控制

    联合登录概览

    概述

    SAML(Security Assertion Markup Language)即安全标记语言,它是一个基于XML的通信协议,适用于在不同的安全域(Security Domain)之间交换认证和授权数据,以实现系统间账号的单点登录。 SAML协议的对象主要由身份提供方(IdP,Identity Provider), 服务提供方(SP, Service Provider)共同约束。

    百度智能云支持基于SAML 2.0协议的单点登录。企业客户可以将支持SAML协议的账号系统作为IdP,将百度智能云作为SP,来打通企业已有账号系统与百度智能云的账号系统,实现单点登录(Single-sign on, 简称SSO)。

    工作原理

    百度智能云基于SAML 2.0协议提供了企业账号系统(IdP)直接接入,以实现单点登录的能力,其主要的工作原理如图所示:

    image.png

    1. 企业员工或其他用户通过客户端(通常是浏览器)登录企业IdP;
    2. 企业IdP通过企业的身份存储目录认证用户身份;
    3. 企业IdP将登录用户的信息以SAML断言的形式返回客户端;
    4. 客户端将IdP返回的SAML断言传递到配置的百度智能云(SP)登录URL;
    5. 百度智能云SSO节点根据SAML配置验证用户身份并到临时身份凭证服务STS获取身份凭证;
    6. 返回客户端验证成功消息、身份凭证和回调地址;
    7. 客户端跳转到百度智能云首页,完成单点登录SSO。

    联合认证模式

    百度智能云当前提供了2种基于SAML 2.0的联合认证方式:IAM用户联合IAM角色联合

    • IAM用户联合:企业员工(客户)从外部身份源认证通过后,以IAM子用户身份访问云资源;
    • IAM角色联合:企业员工(客户)从外部身份源认证通过后,以IAM角色身份访问云资源。

    2种联合认证模式的区别如下:

    区别点 IAM用户联合 IAM角色联合
    以何种身份访问云资源 IAM子用户 IAM角色
    映射关系 通常为一对一 通常为多对多,即企业内多个员工可共享同一个角色
    可访问服务范围 支持主子用户的服务 支持STS的服务,详细请见目前支持的产品线
    创建身份实体 需要为每个SSO的员工创建IAM子用户 仅需要创建有限的IAM角色
    登录控制台 IAM子用户支持独立登录智能云控制台 IAM角色不支持独立登录控制台,需要由可信任的外部账号扮演

    适用场景

    不同的联合认证模式通常根据企业业务的实际需求进行选择,本节将介绍如何根据企业需求选择联合登录方式。

    IAM用户联合

    • 您希望将企业IdP的用户同步到百度智能云,并建立一一对应关系,以确保访问的可问责性;
    • 部分您需要访问的服务,尚不支持通过角色访问(使用STS服务);
    • 您的企业IdP不支持较为复杂的属性配置;

    IAM角色联合

    • 您不希望为每个员工在百度智能云都同步创建子用户,以降低管理成本;
    • 您希望在使用联合登录的同时,仍然可以使用IAM子用户的管理功能;
    • 您希望根据员工在企业IdP中的某些属性,来区分云上拥有的权限。当进行权限调整时,只需要在本地进行属性的更改;
    • 您拥有多个百度智能云账号,但使用统一的企业IdP,希望在企业IdP配置一次,就可以实现到多个百度智能云账号的联合登录;
    • 您的企业内或是与合作伙伴间存在多个IdP,都需要访问同一个百度智能云账号,您需要在一个百度智能云内配置多个IdP进行联合登录;
    • 除了控制台,您也希望使用API方式来进行联合登录。
    上一篇
    权限策略
    下一篇
    IAM用户联合