将 AWS CloudFront 连接到单点登录 (SSO)

Mik*_*ike 3 amazon-s3 amazon-web-services single-sign-on saml-2.0

我正在开发一个使用 S3 作为存储和 CloudFront CDN 部署到 AWS 的网站。它是一个静态网站,只有一个 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 会自动执行此操作吗?企业是否在其门户中创建特殊链接来启动带有 SAML 的站点?如果用户只在浏览器中输入域名会发生什么?网站需要添加代码吗?

蒂亚,迈克

Mik*_*ike 5

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

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

麦克风