【发布时间】:2019-01-07 23:21:31
【问题描述】:
我有一个应用程序,我希望 Cognito 用户池用户和 ADFS 用户都可以访问。但是,ADFS 用户必须是特定组的一部分才能访问该应用程序。如何执行此限制?
谢谢!
【问题讨论】:
标签: amazon-web-services amazon-cognito adfs
我有一个应用程序,我希望 Cognito 用户池用户和 ADFS 用户都可以访问。但是,ADFS 用户必须是特定组的一部分才能访问该应用程序。如何执行此限制?
谢谢!
【问题讨论】:
标签: amazon-web-services amazon-cognito adfs
我假设您已经在 ADFS 中为 AWS congnito 创建了一个依赖方,用于您的身份提供商(在本例中为 ADFS)中的访问和应用程序配置。您需要找到组的 SID 并手动修改声明规则以限制此访问。您可以使用本地 Active Directory 服务器上的 powershell 来获取要允许访问的组的 SID。
Get-ADGroup -Identity "你的组名"
然后您需要使用以下行来包含在您现有的声明规则中。
&& 存在([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value =~ ""])
存在([Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value== "", Issuer =~ "^AD AUTHORITY$"]) => issue(Type ="http://schemas.microsoft.com/authorization /claims/permit", 值="true");
以上两个是示例,您可以根据您在 ADFS 上的依赖方配置使用这两个中的任何一个。
【讨论】:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "MY SID", Issuer =~ "^AD AUTHORITY$"] => issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = "true"); 但是所有用户仍然通过 ADFS 进行身份验证,为了完全拒绝不在组中的用户进入,我是否遗漏了什么?