亚马逊AWS官方博客
使用亚马逊云科技 Single Sign-On 服务对亚马逊云科技中国区域账户实现单点登录
一、背景
对于使用多账户架构的组织而言,通常会考虑使用单点登录技术,实现组织内云账户访问权限的集中管理。亚马逊云科技 Single Sign-On 服务(以下简称亚马逊云科技 SSO 服务)是一项基于云的单点登录(SSO)服务,可以帮助组织集中管理所有亚马逊云科技账户和云应用程序。
由于亚马逊云科技中国区域账户与全球区域账户彼此独立存在,亚马逊云科技 SSO 服务无法自动的对中国区域和全球区域账户实现统一访问管理。而对于同时拥有亚马逊云科技中国区域账户与亚马逊云科技全球区域账户的组织而言,如何实现对中国区域和全球区域账户的统一访问管理亦是其需要考虑的一个问题。本文将利用亚马逊云科技SSO服务具有的云应用程序支持能力,介绍对亚马逊云科技中国区域账户配置单点登录的方法。需要指出的是,本文聚焦于单点登录的技术方案,组织在考虑单点登录方案时,亦应考虑在法律合规、组织内部安全管理等方面对于访问管理的要求。
二、配置方法
1、前提条件
- 具有一个对亚马逊云科技 SSO 服务进行配置管理的权限(本文以亚马逊云科技全球区域账户的SSO服务为例进行介绍)。
- 启用亚马逊云科技 SSO 服务并完成基础配置。配置方法可参考此处。
- 具有对目标单点登录账户进行 IAM 配置管理的权限(本文以亚马逊云科技中国区域账户为例进行介绍)。
2、配置亚马逊云科技 SSO 服务(亚马逊云科技全球区域账户)
- 进入亚马逊云科技 SSO 服务,点击 Applications – Add a new application
- 在添加新应用页面,选择外部亚马逊云科技账户,点击 Add application
- 在配置外部亚马逊云科技账户页面,进行一下配置后点击保存:
- Details
- Display name:出现在用户Portal的应用名称。为便于识别,建议考虑与目标账户、角色用途信息具有一定的关系,例如:[前缀标识]-[AccountID]-[RoleName]
- Amazon Web Services SSO metadata
- 下载 SSO 元数据(后续需要在目标单点登录账户配置身份提供商时使用)
- Application metadata
- 点击“If you have a metafile, you can upload it now instead.”
- 在 Application SAML metadata file 处上传亚马逊云科技中国区域saml-metadata.xml文件(https://signin.amazonaws.cn/static/saml-metadata.xml)。
- Details
3、在目标单点登录账户配置身份提供商(亚马逊云科技中国区域账户)
- 进入 IAM 服务,点击 Identity providers – Add provider
- 在添加身份提供商页面。进行以下配置:
- Provider type:选择 SAML
- Provider name:为该身份提供商提供一个名称
- Metadata document:上传在配置亚马逊云科技 SSO 服务(前一步)时下载的 SSO 元数据文件
- 其余部分可以按需配置,完成后点击 Add provider
- 建议记录身份提供商的 ARN,便于后续参考使用。
4、在目标单点登录账户配置用于单点登录的角色(亚马逊云科技中国区域账户)
- 进入 IAM 服务,点击 Roles – Create role
- 在创建角色页面,进行以下配置,完成配置后点击 Next: Permissions:
- Select type of trusted entity:选择 SAML 2.0 federation
- Choose a SAML 2.0 provider
- SAML provider:选择刚才建立的 Identity provider,并且选择 “Allow programmatic and Amazon Web Services Management Console access”
- 在按需完成权限、标签等配置,并为角色命名后,完成角色创建。
- 建议记录角色的 ARN,便于后续参考使用。
- (可选)如果需要使用亚马逊云科技 SSO 服务中基于属性的访问控制功能,需要在角色配置页面为角色配置信任关系(Trust relationships选项卡 – Edit trust relationship),在信任策略添加”sts:TagSession”权限。
5、为亚马逊云科技 SSO 应用添加属性映射(亚马逊云科技全球区域账户)
在亚马逊云科技 SSO 配置页面,对于在第2步中配置完成的应用,点击 Attribute mappings,添加以下用户属性
- 用户属性:https://thinkwithwp.com/SAML/Attributes/Role
- 映射值:arn:aws-cn:iam::[AccountID]:saml-provider/[IdentityProviderName],arn:aws-cn:iam::[AccountID]:role/[RoleName]
(其中逗号前部分可参考第3步中建立的目标单点登录账户中的身份识别商ARN,逗号后部分可参考第4步中建立的目标单点登录账户中的角色 ARN)
- 格式:unspecified
6、为亚马逊云科技 SSO 应用分配用户(亚马逊云科技全球区域账户)
在亚马逊云科技 SSO 配置页面,对于在第2步中配置完成的应用,点击Assigned users – Assign users,完成对该应用的用户分配
7 测试
使用在第 6 步中所分配的用户登录亚马逊云科技 SSO 服务登录 Portal,您将会看到您所建立的应用(对应于亚马逊云科技中国区域账户及角色)。点击该应用,即可单点登录亚马逊云科技中国区域账户的对应角色。
三、总结
本文利用亚马逊云科技 SSO 服务具有的云应用程序支持能力,介绍对亚马逊云科技中国区域账户实现单点登录的方法。组织可参考本文所介绍的方法,结合组织实际情况,对亚马逊云科技账户配置单点登录。