写点什么

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

  • 2019-10-14
  • 本文字数:1348 字

    阅读完需:约 4 分钟

实战!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


2019-10-14 18:201863
用户头像
王文刚 Instagram 营销专家

发布了 37 篇内容, 共 24.2 次阅读, 收获喜欢 55 次。

关注

评论

发布
暂无评论
发现更多内容

克服恐惧,勇于分享

孙苏勇

程序员 分享 工作

Mac 使用笔记

FeiLong

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (八)好单元测试的特质

编程道与术

Java 编程 软件测试 TDD 单元测试

十大经典排序算法总结

淡蓝色

Java 算法 计算机基础 排序

LeetCode 513. Find Bottom Left Tree Value

liu_liu

LeetCode

Web3极客日报#141

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

VSCode 集成 Haskell 环境

liu_liu

vscode haskell hie Haskell Language Server

《零基础学 Java》 FAQ 之 5-如何在IntelliJ IDEA里配置JDK

臧萌

Java jdk intellij

玄铁重剑,我用过最贵重的键盘

池建强

ipad 苹果 键盘

要做医生,不要做卖药的

Janenesome

高效工作 思考 沟通

Python3.6.1官方文档练习——初入江湖(二)

小匚

“我XXXX,还能学编程吗?”

三号无名指

编程 程序员 工具 入门

Redis实现热卖商品排行榜

北漂码农有话说

redis

Leetcode 556. Next Greater Element III

隔壁小王

算法

当你不被尊重的时候,才会想起去尊重别人

小天同学

人生 个人成长 感悟

测试开发专题:spring-boot自定义返回参数校验错误信息

王德发

Spring Boot 测试

程序员小白的个人思考

程序员小岑

程序员 职场 思考 感悟

Web3极客日报#129

谢锐 | Frozen

区块链 独立开发者 技术社区 Rebase Web3 Daily

识别代码中的坏味道(一)

Page

Java 面向对象 重构

不要做软件开发团队中打破窗户的那个人

程序员小岑

程序员 思考 感悟 软件开发 团队

LeetCode 781. Rabbits in Forest

liu_liu

LeetCode

MySQL安全-审计

一个有志气的DB

安全 MySQ

Binlog2sql恢复误删除的数据

一个有志气的DB

MySQL 安全 数据

香港科技大学与OSL海科签订无毒海洋防污技术独家授权协议

极客编

我画了35张图就是为了让你深入 AQS

一枝花算不算浪漫

AQS jdk源码

webpack入门系列之二——插件使用及热更新打包

子铭

Web

修改网桥默认地址

奔跑的菜鸟

Docker

职涯思考

Kevin Z

职业 思考 工程师思维 硬件 工程师

工作原则:决策要基于数据的支撑

Janenesome

高效工作 思考 原则

看完这篇,你也是字符编码大神(ASCII、Unicode、UTF-8、UTF-16、UTF-32)

Meandni

Java 面试 Unicode utf-8 utf-16

《零基础学 Java》 FAQ 之 6-Java里Bean这个名字怎么来的

臧萌

Java spring

实战!5分钟在AWS上设置SSO_安全_Gavin Lewis_InfoQ精选文章