【问题标题】:How to I configure Okta as SAML IdP for AWS Cognito Identity Pool?如何将 Okta 配置为 AWS Cognito 身份池的 SAML IdP?
【发布时间】:2019-09-12 10:41:32
【问题描述】:

我想将 Okta 配置为 AWS Cognito 身份池(不是用户池)的 SAML IdP。

创建身份池时,我需要指定与 AWS 账户关联的 SAML IdP。作为定义 IdP 的一部分,我需要提供一个元数据文档文件:

要从 Okta 获取此元数据文档,我需要在 Okta 中定义一个使用 SAML 集成的应用程序(即 AWS 是资源提供者,Okta 是 IdP):

这需要来自 AWS 的 2 个我不知道如何获取的值:

  1. 单点登录 URL。 Okta UI 提示内容如下:

    使用 HTTP POST 发送 SAML 断言的位置。这通常称为您的应用程序的 SAML 断言使用者服务 (ACS) URL。

  2. 受众 URI(SP 实体 ID)。 Okta UI 提示内容如下:

    应用程序定义的唯一标识符,它是 SAML 断言的预期受众。这通常是您的应用程序的 SP 实体 ID。

我如何/在哪里从 AWS 获取这些值?

如果我尝试为 Cognito 身份池创建 IdP,并且我需要创建一个需要来自 Okta 的值的 IdP,该值需要引用 Cognito 身份池的值,我该如何避免循环引用?

【问题讨论】:

    标签: amazon-web-services amazon-cognito saml okta federated-identity


    【解决方案1】:

    问题 1:单点登录 URL。 Okta UI 提示内容如下:

    使用 HTTP POST 发送 SAML 断言的位置。这通常称为您的应用程序的 SAML 断言使用者服务 (ACS) URL。

    回答

    单点登录网址https://signin.aws.amazon.com/saml

    问题 2:受众 URI(SP 实体 ID)。 Okta UI 提示内容如下:

    应用程序定义的唯一标识符,它是 SAML 断言的目标受众。这通常是您的应用程序的 SP 实体 ID。

    回答

    受众 URI(SP 实体 ID):urn:amazon:webservices

    重要说明

    (1) GitHub 存储库中的How to build and run Shibboleth SAML IdP and SP using Docker container 提供 Amazon AWS SAML 服务 提供已通过成功 SSO 验证的元数据“shibboleth-idp-dockerized/ext-conf/metadata/sp-aws-amazon-com.xml”对于亚马逊 AWS。

    Amazon AWS SAML 服务提供元数据提供 Okta SAML IdP 所需的单点登录 URL 和受众 URI(SP 实体 ID)。

    (2) Adding SAML Identity Providers to a User Pool 声明用户池(NOT 身份池)的受众 URI/SP 实体 ID 是 urn:amazon:cognito:sp:your-User-Pool-ID。

    问题 3:如果我正在尝试为 Cognito 身份池创建 IdP,并且我需要创建一个需要来自 Okta 的值的 IdP,该值需要引用 Cognito 身份池的值,如何避免循环引用?

    回答
    为避免循环引用,Amazon AWS 为 Cognito 身份池分配不同的 AWS 账户相同的单点登录 URL 和受众 URI(SP 实体 ID),因此,

    (1) 您需要先从 Okta Admin GUI 创建 Amazon AWS SAML SP,

    (2) 然后您可以下载 Okta 的 SAML IdP 元数据,这是通过 Amazon AWS Cognito Admin GUI 创建 IdP(作为 Okta SAML IdP)所需的。

    注意 Amazon AWS 使用属性“awsRoles”(由 SAML 响应携带)来区分不同的 AWS 账户。

    【讨论】:

    • 您确定 URN 吗?使用用户池(不是身份池)时,URN 的构建方式如下:urn:amazon:cognito:sp:eu-central-1_cYggMq8bF - 但身份池可能会有所不同。
    • Adding SAML Identity Providers to a User Pool 声明用户池的受众 URI/SP 实体 ID 是 urn:amazon:cognito:sp:。根据 Amazon AWS 的 SP 元数据,Identity Pool 的 Audience URI / SP Entity ID 为 urn:amazon:webservices 。
    猜你喜欢
    • 2015-08-06
    • 2013-04-06
    • 2021-09-04
    • 2019-09-02
    • 2020-04-25
    • 2016-08-27
    • 2018-08-31
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多