gpt4 book ai didi

aws-appsync - aws appsync auth 指令未按预期限制访问

转载 作者:行者123 更新时间:2023-12-04 12:40:01 28 4
gpt4 key购买 nike

在我正在使用的 appsync api 的 graphQl 架构中,我想根据他们所属的组来限制我的用户操作。

根据文档,添加行 aws_auth(cognito_groups: ["Admins"])应该只允许属于“管理员”组的用户访问。当我从 appsync 控制台或应用程序本身运行突变时,不会发生这种情况。

我的突变如下:

type Mutation @aws_iam
@aws_cognito_user_pools {
createItem(input: CreateItemInput!): Item
updateItem(input: UpdateItemInput!): Item
@aws_auth(cognito_groups: ["Admins"])
}

@aws_iam 和 @aws_cognito_user_pools 指令似乎工作正常。
但是任何经过身份验证或具有 iam 角色的人仍然可以执行更新,即使他们不属于“管理员”组。

这里发生了什么?是否需要进行其他配置才能使其正常工作?

最佳答案

只是为了进一步澄清,因为这没有很好的记录。

如果您使用单个授权提供程序并且该提供程序是 Cognito,您应该始终使用 @aws_auth指示。不要使用 @aws_cognito_user_pools指令,因为如果您使用基于组的授权,它不起作用。这在 AWS Cognito 文档中没有得到很好的记录,这是一个陷阱,因为 AppSync 将允许您配置此指令。

如果您使用多个授权提供程序并且使用 Cognito,则必须使用 @aws_cognito_user_pools AWS Cognito 文档中记录的指令。奇怪的基于组的授权使用 @aws_cognito_user_pools 正常工作但仅在使用多个授权提供程序时。

关于aws-appsync - aws appsync auth 指令未按预期限制访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60374552/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com