当前位置: 首页 > 知识库问答 >
问题:

如何将Okta配置为AWS Cognito身份池的SAML IdP?

魏威
2023-03-14

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

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

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

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

>

  • 单一登录URL。Okta UI提示读取:

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

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

    如何/从何处从AWS获取这些值?

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

  • 共有1个答案

    涂选
    2023-03-14

    问题1:URL上的单点符号。OktaUI提示如下:

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

    回答:

    URL上的单点登录:https://signin.aws.amazon.com/saml

    问题2:受众URI(SP实体ID)。OktaUI提示如下:

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

    回答:

    访问群体URI(SP实体ID):urn:amazon:webservices

    重要备注:

    (1) 如何使用GitHub存储库中的Docker容器构建和运行Shibboleth SAML IdP和SP提供亚马逊AWS SAML服务提供metadta“Shibboleth IdP dockerized/ext conf/metadata/SP AWS Amazon com.xml”,该服务已通过亚马逊AWS的成功SSO验证。

    Amazon AWS SAML服务提供metadta提供Okta SAML IdP所需的单一登录URL和访问群体URI(SP实体ID)。

    (2)将SAML身份提供者添加到用户池声明用户池(非身份池)的Audience URI/SP实体ID为urn: amazon: gnito: sp: your-User-Pool-ID。

    问题3:如果我试图为Cognito身份池创建一个IdP,并且我需要创建一个IdP,该IdP需要来自Okta的值,该Okta需要引用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帐户。

     类似资料:
    • https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-saml-idp.html https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-integrating-3d-party-saml-provid

    • 我使用Okta作为身份提供商,Zendesk作为服务提供商。我已经按照Okta文档(链接)所示配置了SAML2.0 当我从Okta仪表板点击Zendesk应用程序时,它会尝试登录到Zendesk,然后自动重定向回Okta主页。

    • 我有我的ReactJs应用程序,我正在使用Okta React SDK对用户进行身份验证(https://github.com/okta/okta-react)。此SDK使用OpenID和OAuth 2.0对用户进行身份验证。现在,我想在react应用程序中将身份验证流从(OAuth2.0)更改为(SAML2.0)。因此,用户将使用SAML2从Okta进行身份验证。0流而不是OAuth2。0 对于

    • 我有一个关于Cognito和API网关集成的问题,我希望你能帮助我。我正在考虑制作一个应用程序,我希望与第三方(Facebook,Twitter...)进行身份验证,所以我放弃了Cognito用户池,然后我有了Cognito身份池,但这是我怀疑增长的地方。 如何将其与API网关集成 谢谢你的帮助

    • 所以我目前在做类似于被要求的IdentityServer3和通过OpenIDConnect外部登录的事情,除了用okta作为我的外部Idp。(TL;dr:我有一个本地身份服务器3,通过openid Connect向外部Okta Idp进行身份验证。 我是OIDC和身份服务器3的新手。我的问题还与重定向URL中的内容有关。注意,我的本地身份服务器位于https://localhost:5000/co

    • 我正在尝试将openam配置为身份提供程序以测试我的基于SAML的服务提供程序应用程序。 我搜索了很多,看到了openam的文档。openam支持很多东西,我现在可能不需要这些东西。我不希望阅读整个文档,因为这将花费大量时间阅读我现在不想测试的内容。我甚至在网站上看到了chatpet 9“管理SAML 2.0 SSO”http://docs.forgerock.org/en/openam/10.0