如何在IAM Identity Center登录后创建AWS控制台深度链接?
如何基于AWS IAM Identity Center(搭配Azure AD)构造控制台深度链接
针对你遇到的场景——用Azure AD作为身份提供商搭配AWS IAM Identity Center,想要构造同一权限集下的不同深度链接、实现登录后直接跳转指定控制台页面——以下是可行的解决方案:
为什么之前的ADFS方法失效
你之前参考的ADFS场景方法不适用于Azure AD+IAM Identity Center的组合:ADFS的IDP发起登录需要嵌套RPID参数,而IAM Identity Center的Start门户(awsapps.com/start/)对RelayState的处理逻辑更直接,不需要额外封装RPID。
正确的深度链接构造步骤
1. 获取基础登录链接
从AWS访问门户复制对应账户/权限集的一键登录链接,格式如:
https://<internal-string>.awsapps.com/start/#/saml/custom/AAA/BBB
其中AAA是账户信息的URL编码值,BBB是权限集和实例的标识,不要修改这两部分内容。
2. 编码目标控制台URL
将你想要跳转的AWS控制台完整URL进行URL编码。比如目标是US East-1区域的EC2实例列表页:
原始URL:
https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#Instances:sort=instanceId
编码后得到:
https%3A%2F%2Fconsole.aws.amazon.com%2Fec2%2Fv2%2Fhome%3Fregion%3Dus-east-1%23Instances%3Asort%3DinstanceId
(可通过在线URL编码工具或编程语言的编码函数完成)
3. 拼接最终深度链接
将编码后的目标URL作为RelayState参数,添加到基础链接的哈希(#)之前的查询字符串中,最终格式如下:
https://<internal-string>.awsapps.com/start/?RelayState=https%3A%2F%2Fconsole.aws.amazon.com%2Fec2%2Fv2%2Fhome%3Fregion%3Dus-east-1%23Instances%3Asort%3DinstanceId#/saml/custom/AAA/BBB
关键注意事项
- 确保用户的权限集允许访问目标控制台页面,否则登录后会跳转到权限不足提示或控制台主页。
- 必须完整编码目标URL的所有特殊字符(包括
#、?、&等),否则RelayState参数会失效。 - 不要修改基础链接中
#/saml/custom/AAA/BBB部分的内容,这是IAM Identity Center识别目标账户和权限集的核心标识。
效果验证
点击构造好的链接后,流程如下:
- 若用户未登录Azure AD,会先跳转至Azure AD登录页面完成身份验证。
- 验证通过后,自动跳转至IAM Identity Center完成权限授权。
- 最后直接打开指定的AWS控制台目标页面,而非默认主页。
内容的提问来源于stack exchange,提问作者scubbo
相关产品推荐
相关产品推荐

