【问题标题】:Use OpenID Connect on AWS在 AWS 上使用 OpenID Connect
【发布时间】:2017-03-13 19:25:12
【问题描述】:

我有一个网站/服务,其中有一个内置的常规身份验证表单。我的网站/服务可以使用 AWS 上的资源(例如 S3)。

我想做的是: - 用户点击我网站上的按钮 - 我的网站将调用重定向到 AWS,用户在其中输入他的 AWS 凭证 - 然后我的网站将能够访问用户的 AWS 资源。

鉴于:

  • 我知道what is OpenID 及其工作原理,以及OpenID and OpenID Connect 之间的区别。

  • 我知道有一个 playgrounds 介绍如何在 Google 服务上实现此场景。

  • 我知道 AWS 也有 playground。但是这个游乐场的目标场景与我的略有不同。

【问题讨论】:

    标签: amazon-web-services authentication amazon-s3 openid openid-connect


    【解决方案1】:

    不幸的是,AWS 本身并不是身份提供商。但是,可能与您尝试的最接近的方法是使用“使用亚马逊登录”和AssumeRoleWithWebIdentity。剩下的问题是您仍然需要以其他方式与您的 Web 应用程序的用户协调,以便他们让您的应用程序访问他们账户的 AWS 资源。换句话说,您的 Web 应用程序的用户需要允许您的 Web 应用程序为其 AWS 账户的资源请求临时安全凭证。

    “使用 Amazon 登录”是 Amazon 实施的与 OpenID Connect 兼容的身份提供商(因此 Amazon 是身份提供商,但 AWS 不是)。如果您愿意,您还可以使用另一个 OpenID Connect 提供者作为 Web 身份的提供者。

    AssumeRoleWithWebIdentity “返回一组临时安全凭证,用于在移动或 Web 应用程序中通过 Web 身份提供者进行身份验证的用户。”拥有这些临时凭证后,您可以使用它们“对任何 AWS 服务进行 API 调用,但以下情况除外:您不能调用 STS GetFederationTokenGetSessionToken API 操作。”

    希望这能让您找到正确的方向。有关更多详细信息,AWS 文档是最佳资源。请参阅以下链接以获得良好的起点。

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2020-10-23
      • 2019-11-10
      • 2020-09-13
      • 2015-10-09
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2017-04-20
      相关资源
      最近更新 更多