本文为您介绍通过RAM角色账号单点登录到阿里云控制台上,实现阿里云控制台的便捷登录,提升员工办公体验。
背景信息
某些企业员工日常办公需访问阿里云控制台,部分员工拥有多个账号,每个账号的权限及角色各不同,传统的登录方式需频繁切换账号,繁琐耗时且影响用户体验。
解决方案
IDaaS应用身份服务通过RAM角色账户单点登录到阿里云控制台,拥有多个权限的RAM账户的员工,只需添加一个阿里云角色 SSO应用并将各角色账号添加到子账户中,即可实现阿里云中多个RAM角色的单点登录。
操作步骤
一、RAM账户准备
- 添加用户
点击左侧用户管理进入阿里云子用户列表,创建一个新用户或者任意选择一个已经存在的用户,点击进入页面
- 获取AccessKeyID、AccessKeySecret,获取以后在IDaaS新建应用的时候需要填写,用于查询RAM角色列表。
- 给刚才创建的用户授权RAM所有控制权限AliyunRAMFullAccess
二、IDaaS添加阿里云控制台
- 应用列表中选择阿里云控制台添加应用
- 添加SigningKey(证书)
- 配置SAML内容
在SigningKey列表界面中右侧点击“选择”进入SAML配置界面。根据提示填写DaaS IdentityId、SP Entity ID和SP ACS URL(SSO Location)等参数保存,都为默认值,其中阿里云个人域名称填写个人信息的用户ID,其中NameIdFomat选择"urm:oasis:names:tc:SAML:2.0:nameid-format:persistent"。
下图是根据RAM用户信息内容进行的填写示例,其中必须要填写AccessKeyID、AccessKeySecret,该两个值由阿里控制台用户提供。
- 保存应用成功,切换到应用列表,查看应用详情,导出SAML元数据文件Metadata.xml(在新建供应商的时候上传元数据文件)
三、RAM中创建角色
- 使用阿里云账号登录阿里云
- 进入访问控制
登录控制台–>产品与服务–>搜索访问控制–>进入RAM访问控制
- 新建身份提供商
进入控制台后,点击SSO管理->新建身份提供商,并上传元数据文档(元文件由IDaaS提供,在下面IDaaS中创建应用处有下载步骤)提供商的名称任意填写。
- 新建RAM角色
添加完身份提供商以后,点击“新建RAM角色”进入页面,角色名称任意填写,身份提供商可以任意选择已经有的。
角色创建成功以后,需要为角色授权,点击“角色授权”进入页面,至少要给角色赋予访问控制查看的权限“AliyunRAMReadOnlyAccess”,若未赋予访问控制任何权限,则会提示“没有权限调用”。
四、IDaaS配置子账户
- 可以在应用列表点击详情->查看应用子账户->添加应用子账户,下拉框展示的子账户是阿里控制台里面“RAM角色”,选择的子账户(RAM角色),必须是上传对应的元数据文档的角色RAM对应的身份提供商。
五、从IDaaS单点登录到阿里云控制台
- 开启应用
- 在IDaaS中创建一个用户
- 在应用授权模块对应用进行授权
- 访问普通用户登录地址,copy下面的链接
- 说明请到云盾IDaaS控制台页面查看下面链接
- 输入IDaaS中创建的用户进行登录,登录成功后,点击首页的阿里云控制台图标进行单点登录
若以上步骤全部成功完成,即可实现RAM角色单点登录阿里云控制台。
FAQ
报错提示:Can't find the intended audience in at least one AudienceRestriction 
请参考下图,查看SP Entity ID 的值是否正确
如何修改SSO登录后跳转的地址?
修改RelayState的值
报错提示:Issuer invalidated by issuer value
IDaaS上配置的角色SSO, 需要导出metadata文件在RAM上创建身份提供商,然后单点登录该身份提供商创建的角色。可以排查下,是否单点登录的角色不是该应用创建的身份提供商中提供的角色。
在文档使用中是否遇到以下问题
更多建议
匿名提交