将 AWS CloudFront 连接到单点登录 (SSO)
Connect AWS CloudFront to Single Sign-On (SSO)
我正在开发一个部署到 AWS 的网站,使用 S3 作为存储和 CloudFront CDN。这是一个静态网站,只有一个 html 文件,使用 JS 根据查询字符串显示内容。所有者是已经在其组织内建立 SSO 的企业,他们使用 IBM Tivoli 作为 IdP。我缺少的部分是如何生成授权请求?
我已经阅读了这些:
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html
其中有许多很接近,但还差得远。它不是 EC2 实例,不是 Elastic Beanstalk,我没有尝试访问 AWS 控制台,而且他们不使用 AD 进行 SSO。这只是一个网站。
到目前为止我有:
- 在 AWS 中创建了 SAML 提供商并从他们的 IdP 导入元数据
- 创建了 IAM 角色
- 建立角色与提供者之间的信任关系
- 为角色建立了 s3:getObject 权限
- 向他们提供了来自 AWS 的元数据,其中包含需要提供的 SAML 断言的细节。
我的问题是这两个方面是如何联系起来的。当有人试图访问该站点时,AWS 会自动完成吗?企业是否在其门户中创建一个特殊的 link 以使用 SAML 启动站点?如果用户只是在浏览器中输入域名会怎样?网站需要加代码吗?
TIA,
麦克
回过头来结束这个问题。我发现 AWS 无法将 SSO 层添加到您的 CloudFront 托管网站。这需要在网站代码中实现。
我最终使用 npm 模块 'express-saml' 来处理 saml 交换,并使用非常简单的 DynamoDB table 在 SP 端存储登录信息。 aws-sdk 用于 DynamoDB。
麦克
我正在开发一个部署到 AWS 的网站,使用 S3 作为存储和 CloudFront CDN。这是一个静态网站,只有一个 html 文件,使用 JS 根据查询字符串显示内容。所有者是已经在其组织内建立 SSO 的企业,他们使用 IBM Tivoli 作为 IdP。我缺少的部分是如何生成授权请求?
我已经阅读了这些:
http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp.html http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html
其中有许多很接近,但还差得远。它不是 EC2 实例,不是 Elastic Beanstalk,我没有尝试访问 AWS 控制台,而且他们不使用 AD 进行 SSO。这只是一个网站。
到目前为止我有:
- 在 AWS 中创建了 SAML 提供商并从他们的 IdP 导入元数据
- 创建了 IAM 角色
- 建立角色与提供者之间的信任关系
- 为角色建立了 s3:getObject 权限
- 向他们提供了来自 AWS 的元数据,其中包含需要提供的 SAML 断言的细节。
我的问题是这两个方面是如何联系起来的。当有人试图访问该站点时,AWS 会自动完成吗?企业是否在其门户中创建一个特殊的 link 以使用 SAML 启动站点?如果用户只是在浏览器中输入域名会怎样?网站需要加代码吗?
TIA, 麦克
回过头来结束这个问题。我发现 AWS 无法将 SSO 层添加到您的 CloudFront 托管网站。这需要在网站代码中实现。
我最终使用 npm 模块 'express-saml' 来处理 saml 交换,并使用非常简单的 DynamoDB table 在 SP 端存储登录信息。 aws-sdk 用于 DynamoDB。
麦克