使用 SAML2 登录 AWS 中国区控制台

2020-11-04 11:30:27 +08:00
 lewisli1996

AWS 中国区和国际区的配置稍有不同,本文讲述使用 Authing SAML2 IdP 登录 AWS 中国区控制台的相关配置。

准备工作

如果你还没有 Authing 账号,请先注册 (​https://console.authing.cn​)一个 Authing 账号、新建一个用户池并创建一个应用。

配置 Authing SAML2 IdP

进入控制台 > 应用 > 应用列表,找到你的应用,点击「配置」。 点击「配置 SAML2 身份提供商」,打开「启用 SAML2 Provider 」开关,下方的默认 ACS 地址填写:​​https://signin.amazonaws.cn/saml​​。 设置内容请粘贴以下内容:

{
  "audience": "https://signin.amazonaws.cn/saml",
  "recipient": "https://signin.amazonaws.cn/saml",
  "destination": "https://signin.amazonaws.cn/saml",
  "mappings": {
  "email": "https://aws.amazon.com/SAML/Attributes/RoleSessionName"
  },
  "digestAlgorithm": "http://www.w3.org/2000/09/xmldsig#sha1",
  "signatureAlgorithm": "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
  "authnContextClassRef": "urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified",
  "lifetimeInSeconds": 3600,
  "signResponse": false,
  "nameIdentifierFormat": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
  "samlRequestSigningCert": ""
}

最下方的自定义 SAML Response 属性添加一条,Name 属性为:​​https://aws.amazon.com/SAML/Attributes/Role​​,类型选择 ​Uri​,值按照此格式填写 ​arn:aws-cn:iam::<AWS 账号 ID>:role/<角色名称>,arn:aws-cn:iam::<AWS 账号 ID>:saml-provider/<身份提供商名称>​。点击「保存」。 可以先随意填写上面的 ​<AWS 账号 ID>​、​<身份提供商名称>​ 和 ​<角色名称>​,等配置完 AWS IAM 控制台之后再来修改。

最后下载 SAML2 Identity Provider 的元数据文档: https://core.authing.cn/api/v2/saml-idp/<应用 ID>/metadata

配置 AWS IAM 控制台

登录 AWS IAM 控制台 (opens new window),进入访问管理 > 身份提供商,点击「创建提供商」。 选择 SAML,填写提供商名称,上传刚刚下载的元数据文档,然后点击「下一步」。 点击「创建」。 创建成功后,进入访问管理 > 角色,点击「创建角色」。 选择 SAML2.0 身份联合,在 SAML 提供商选择刚刚创建的 SAML 提供商,这里选择 Authing,选择允许编程访问和 AWS 管理控制台访问,然后点击「下一步」。 赋予角色权限,本文选择最高权限 AdministratorAccess,然后点击「下一步」。 点击「下一步」。 填写一个角色名称,记录下面的身份提供商 arn,然后点击「创建角色」。 在角色列表找到刚刚创建的角色,点击查看详情。 记录角色 arn 。 回到 Authing 控制台,在刚才随意填写的地方,将正确的角色 arn 和身份提供商 arn 填写到 Authing SAML2 IdP 的自定义 SAML Response 属性中,点击保存。

测试连接

在浏览器访问:​​https://core.authing.cn/api/v2/saml-idp/​<应用 ID>​ 选择一种方式进行登录。 登录成功后会跳转到 AWS 控制台 获取更多信息,请访问 Authing 官网。

481 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/721666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX