将 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 会自动完成吗?企业是否在其门户中创建一个特殊的 link 以使用 SAML 启动站点?如果用户只是在浏览器中输入域名会怎样?网站需要加代码吗?

TIA, 麦克

回过头来结束这个问题。我发现 AWS 无法将 SSO 层添加到您的 CloudFront 托管网站。这需要在网站代码中实现。

我最终使用 npm 模块 'express-saml' 来处理 saml 交换,并使用非常简单的 DynamoDB table 在 SP 端存储登录信息。 aws-sdk 用于 DynamoDB。

麦克