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

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 官网。