实战!5分钟在AWS上设置SSO

众所周知,有多种方法可以实现相似的SSO。 最近,我写了一篇有关使用SAML(特别是ADFS)将SSO设置到您的AWS账户中的文章。

尽管多数大型公司或老牌公司还在使用Active Directory进行SSO身份验证,但是较小的公司或初创公司可以选择使用AWS上进行SSO以降低成本。 那么,如果您仍然想使用集中式登录系统,也可以选择AWS SSO,它也恰好是一项免费服务,让我们开始吧。

1.进行设置

在开始前,请务必记下AWS SSO的前提条件,因为这些前提条件很重要。

以下所有步骤都需要在AWS的主帐户中执行。

在AWS控制台中,搜索并打开SSO服务,您应该可以看到启用AWS SSO的选项。 与在AWS上实施SAML相似,AWS SSO还使用安全令牌服务来提供对每个帐户的访问。作为设置过程的一部分,这里将在每个成员帐户中创建IAM角色,以允许SSO身份验证。

启用SSO后,我们需要创建一个或多个用户,这些用户将能够访问组织内的AWS账户。 如果您愿意,SSO服务也可以使用Active Directory作为用户鉴权信息的来源,但是我在这里使用的是独立版本,因为您无需担心设置其他的API连接就能使它工作。

所有帐户的安全性也很合理,能够为不同的用户、组和帐户授予不同级别的访问权限。在我的示例中,我仅添加一个用户和一个管理员组,该组有权访问组织中的所有帐户。

接下来,我们选择“ AWS账户”选项卡,其中显示了我所在账号组织下的账户列表清单。我想将我的管理员组分配给所有这些帐户,这样我就可以以管理员身份访问所有这些帐户,但是您也可以选择分配单个用户。 在“分配用户”界面中,选择“组”选项卡,然后选择我们要分配给所有帐户的“管理员”组。

2.下一步是添加权限集

权限集控制用户或组在通过身份验证时将具有的访问级别。有两种分配权限的方法,您可以使用预定义的访问级别,也可以按照与IAM控制台相同的方式创建自定义策略。

使用预定义角色要注意的一件事是,默认情况下,STS令牌会在1小时后过期,这在与API交互时会很烦人。 在创建权限集后,我通常将到期时间延长到不那么烦人的程度。

我们都准备好了!

让我们尝试登录您的URL,通常使用https:// <name或id> .awsapps.com / start之类的名称。 也可以自定义该URL,以使您的团队更易于使用。

登录后,将出现一个AWS Account图标,其中将显示您的用户有权访问的AWS账户列表。 列出的每个帐户都可以通过控制台进行身份验证,也可以使用API凭据获得编程访问权限。

使用API凭据进行身份验证类似于创建IAM用户,并授权使用私密密钥,但是,因为您要继承角色(会生成一组临时凭据),所以您还有第三项,即会话令牌。即会话令牌仅在特定时期内有效,在此之后它将停止工作,您需要重新进行身份验证以获取新的一组凭据。

控制台访问可以按您期望的方式工作,您可以在控制台的标题栏中看到您扮演的角色,并且外观类似于AWSReservedSSO_AdministratorAccess_xxxxxxxxx/gavin@domain.com

结论

AWS SSO是一种快速简便的方法,可在账户中启动和运行SSO,并且无需使用saml2aws之类的应用来通过特定的用户角色的编程访问。 如果用户帐户的集中管理对您很重要(几个合规计划通常需要),我建议将SSO服务与Active Directory集成在一起,或者至少使用AWS的API来自动进行上载和关闭帐户。

英文原文:

SSO on AWS in 5 Minutes

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/IxAQUHSlzSo2QIcRXL9W
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券