网站首页 >  技术服务  >  阿里邮箱功能  >  安徽阿里企业邮箱-OIDC角色SSO概览  


安徽阿里企业邮箱-OIDC角色SSO概览

发布时间:2025-11-19

  OIDC(OpenID Connect)是建立在OAuth 2.0基础上的一个认证协议,阿里云RAM支持基于OIDC的角色SSO。


基本概念

1.OIDC:OIDC(OpenID Connect)是建立在OAuth 2.0基础上的一个认证协议。OAuth是授权协议,而OIDC在OAuth协议上构建了一层身份层,除了OAuth提供的授权能力,它还允许客户端能够验证终端用户的身份,以及通过OIDC协议的API(HTTP RESTful形式)获取用户的基本信息。

2.OIDC令牌:OIDC可以给应用签发代表登录用户的身份令牌,即OIDC令牌(OIDC Token)。OIDC令牌用于获取登录用户的基本信息。

3.临时身份凭证:STS(Security Token Service)是阿里云提供的一种临时访问权限管理服务,通过STS获取可以自定义时效和访问权限的临时身份凭证(STS Token)。

4.颁发者URL:颁发者URL由外部IdP提供,对应OIDC Token中的iss字段值。颁发者URL必须以https开头,符合标准URL格式,但不允许带有query参数(以?标识)、fragment片段(以#标识)和登录信息(以@标识)。

5.验证指纹:为了防止颁发者URL被恶意劫持或篡改,您需要配置外部IdP的HTTPS CA证书生成的验证指纹。阿里云会辅助您自动计算该验证指纹,但是建议您在本地自己计算一次(例如:通过OpenSSL获取OIDC IdP的指纹),与阿里云计算的指纹进行对比。如果对比发现不同,则说明该颁发者URL可能已经受到攻击,请您务必再次确认,并填写正确的指纹。

6.客户端ID:您的应用在外部IdP注册的时候,会生成一个客户端ID(Client ID)。当您从外部IdP申请签发OIDC令牌时必须使用该客户端ID,签发出来的OIDC令牌也会通过aud字段携带该客户端ID。在创建OIDC身份提供商时配置该客户端ID,然后在使用OIDC令牌换取STS Token时,阿里云会校验OIDC令牌中aud字段所携带的客户端ID与OIDC身份提供商中配置的客户端ID是否一致。只有一致时,才允许扮演角色。


应用场景

  当企业应用需要频繁访问阿里云时,如果使用固定的访问密钥(AccessKey),且安全防护措施不足时,可能会因AccessKey泄露而带来安全隐患。为了解决这个问题,有些企业会将应用注册在企业自建或者第三方的具有OIDC能力的身份提供商中(例如:阿里云OAuth、Google G Suite或Okta等),以借助OIDC身份提供商的能力来为应用生成OIDC令牌(OIDC Token)。在这种情况下,借助阿里云RAM提供的角色SSO能力,企业应用可以通过持有的OIDC令牌换取阿里云临时身份凭证(STS Token),从而安全地访问阿里云资源。

  此外,有些个人开发者或中小企业允许员工使用其在一些网站(例如:社交网站)上注册的身份来登录阿里云,如果这些网站支持生成OIDC令牌,则可以使用阿里云RAM来完成基于OIDC的单点登录。


基本流程

1.在外部IdP中注册应用,获取应用的客户端ID(Client ID)。

2.在阿里云RAM中创建OIDC身份提供商,配置阿里云与外部IdP的信任关系。

3.在阿里云RAM中创建可信实体为OIDC身份提供商的RAM角色,并为RAM角色授权。

4.在外部IdP中签发OIDC令牌(OIDC Token)。

5.使用OIDC Token换取STS Token。

6.使用STS Token访问阿里云资源。


电话: 4009009360
订购邮箱:kf@exmail-aliyun.com
地址:上海市浦东新区周康路28号周浦国际中心1301室
阿里邮箱企业版|阿里邮箱登录|企业邮箱注册
微信咨询
微信咨询
钉钉咨询
钉钉咨询