我已经设置了我们的AWS SSO(IAM身份中心(,通过在AWS SSO中使用AWS内置的MongoDB应用程序,为我们的MongoDB Atlas组织提供联合身份验证。
我还通过以下方式设置了角色映射https://www.mongodb.com/docs/atlas/security/manage-role-mapping/,确保我在Mongo+AWS两端使用匹配的组名,并确保用户在AWS SSO中的组中。
添加角色映射时,Atlas告诉我确保memberOf
声明包含在SAML断言中。我找不到关于如何做到这一点的确切文档,但我已经猜到并使用了${user:groups}
,这是我在另一个关于使用SSO进行VPN身份验证的AWS教程中找到的。
我的同事能够点击AWS SSO面板中的MongoDB应用程序按钮,他们通过MongoDB Atlas进行了身份验证并登录。然而,角色映射没有被使用,我的同事只是收到了组织的默认角色集。
我已经检查并反复检查了说明,并确保我的同事在AWS SSO中处于正确的组中,并且组名在Atlas端完全匹配。
如何成功配置角色映射?
我找不到它的文档,但解决方案不是使用AWS SSO组名,而是在Atlas中的角色映射中使用的组ID。
将角色映射更改为AWS SSO中显示的组ID可以解决问题,用户可以选择预期的角色。