具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito
Posted
技术标签:
【中文标题】具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito【英文标题】:Appsync authentification with public / private access without AWS Incognito 【发布时间】:2021-12-08 08:49:54 【问题描述】:在这里,我很难理解如何在不使用 AWS 隐身池的情况下保护我的 Amplify / Appsync 应用程序。
我现在使用 API 密钥从我的公共应用程序和安全的后台进行连接。但我仍然想保护我的应用和用户不调用某些查询、突变等。
我知道Amplify 允许使用@auth 模式,但我该如何使用它? 知道我会从我的公共应用程序直接调用 graphql 并从我的后台从我的 lambdas 调用 nodejs graphql,它会如何工作。
非常欢迎您在这里提供任何指导,在此先感谢您的帮助!
【问题讨论】:
【参考方案1】:好的,所以我想出了如何在这里做事,以防它可能对其他人有所帮助。
首先,我们可以在没有 AWS cognito 的情况下使用 IAM。
我不得不:
将 IAM 设置为我的 Appsync 应用程序(AWS 服务)的默认授权 在 schema graphql 上设置规则: 如:所以现在我可以使用前端的 API 密钥和来自我的 AWS Lam 的 IAM
【讨论】:
以上是关于具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito的主要内容,如果未能解决你的问题,请参考以下文章
私有的嵌套类(内部或静态)是不是可能具有具有公共访问权限的方法?
如何使用 python 调用具有 Cognito 身份验证的 AppSync 突变?
如何建立从GAE(具有公共访问权限)到私有GKE集群的安全连接。