使用 IAM 帐户时 AppSync 查询返回未经授权

2024-02-28

我正在使用 AWS Amplify。我的 GraphQL 架构中有两个如下所示的模型。

type Class 
  @model 
  @auth(rules: [{ 
    allow: owner, 
    identityClaim: "sub" 
  }      
  {
    allow: owner
    identityClaim: "sub" 
    ownerField: "studentUserIds"
    operations: [read]
  }
  { 
    allow: private, 
    provider: iam 
    operations: [read]
  }
]) {
  id: ID!
  name: String!
  studentUserIds: [String!]
  students: [Student!] @connection(keyName: "ClassStudent", fields: ["id"])
}


type Student
  @model(queries: null)
  @auth(
    rules: [
      { allow: owner, identityClaim: "sub", operations: [create, update, delete, read] }
      { allow: private, provider: iam, operations: [create, update, delete, read] }
      { allow: owner, ownerField: "studentUserId", operations: [update, delete] }
      { allow: private, operations: [read] }
    ]
  )
  @key(name: "ClassStudent", fields: ["classId", "id"]) 
  @key(name: "ClassesByStudent", fields: ["studentUserId"], queryField: "classesByStudent") {
  id: ID!
  classId: ID!
  class: Class @connection(fields: ["classId"])
  studentUserId: ID!
  user: User! @connection(fields: ["studentUserId"])
  owner: String
}

当我运行classesByStudent使用 IAM 帐户时,即使 IAM 提供程序具有对学生表和班级表的读取访问权限,我也会收到未经授权的响应。我究竟做错了什么?


我添加以下错误:

{"errorType":"Unauthorized","message":"Not Authorized to access onCreateMessage on type Message"}

通过按照描述创建 amplify/backend/api//custom-roles.json 文件为我解决了这个问题here https://docs.amplify.aws/cli/graphql/authorization-rules/#use-iam-authorization-within-the-appsync-console

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 IAM 帐户时 AppSync 查询返回未经授权 的相关文章

  • 在 AWS AppSync 上创建关系的突变

    我一直在尝试运行突变来创建与两种不同类型的关系 但没有取得太大成功 架构 我已使用 创建资源 在 DynamoDB 中创建表 type Comment eventId ID commentId String content String t
  • 在 AWS AppSync 中对 SQL 查询的 JSON 对象进行字符串化

    Question 如何在 Appsync 速度模板中对 SQL 语句的 JSON 对象进行字符串化 解释 我有一个 Aurora RDS 表 其中有一列数据类型为 JSON AppSync API 已连接到 RDS 我的 GraphQL 模
  • AppSync S3对象检索

    我的文件目前正在根据提供的教程上传到 s3 存储桶 我有一个 Post 类型 其文件字段指向 S3Object S3Object 具有bucket key 和region 的值 我想允许我的用户下载他们上传的文件 但我无法通过查询访问 发布
  • 通过 Android APK 部署时,AWS Amplify Flutter 的身份验证注册功能不起作用

    我在我的 Flutter 应用程序中使用 AWS 的 Amplify Auth 的注册功能 这 当我在 Android Studio 中运行代码并对其进行测试时 功能工作正常 模拟器 手机 我可以向 Cognito 添加新用户并验证该用户
  • 使用 AWS amplify 和 graphql 创建新用户时出现“未经授权”错误

    所以我认为这个问题来自于我不太理解 AWS cognito 用户池和 graphql 模式中的身份验证规则之间的关系 当我运行下面的代码时 我收到消息 未授权访问 User 类型上的 createUser import React from
  • 在 .Net 中使用 GraphQL 客户端库实施 AWS Appsync

    我正在尝试实现类似于此 python 示例但在 net 中的应用程序同步订阅https aws amazon com blogs mobile appsync websockets python https aws amazon com b
  • 使用 Jest + Enzyme 测试 amplify Auth

    我对测试非常陌生 我终于觉得我已经掌握了它的窍门 然而 模拟仍然有点令人困惑 我目前正在测试注册功能 该功能执行到Auth signUp 我不确定是否需要在测试中模拟某些内容 或者是否需要它来运行不同的测试 async function s
  • AWS Amplify:DevTools 无法加载 SourceMap:JSON 中位置 0 处出现意外标记 <

    在 Google Chrome 上加载我的网站时 我收到了一些类似于以下内容的警告 DevTools failed to load SourceMap Could not parse content for https mywebsite
  • AWS Amplify Auth:如何禁用 AmplifyConfirmSignUp?

    我目前正在使用 AWS Amplify 身份验证 使用 Cognito 进行 React 身份验证 用户注册必须通过单击通过电子邮件收到的确认链接来确认其新帐户 当用户提交注册信息时 显示的下一个 UI 是 确认注册 要求用户确认代码 我不
  • React Native - 使用 AWS Amplify 将视频上传到 AWS S3 存储

    我正在尝试使用 React Native 中的 AWS Amplify 将视频上传到 AWS S3 点击此链接后 我可以上传图像 aws amplify 使用存储中的 PUT 上传图像 https aws amplify github io
  • 使用 AWS Amplify 部署静态 Svelte-Kit 应用程序

    我正在尝试在 AWS Amplify 上部署我的 Svelte 应用程序 我推送提交 Amplify 构建并验证应用程序 但如果我访问应用程序 URL 它只是一个空白页面 这可能是适配器问题 我尝试了 node js 和静态的 但没有成功
  • 如何在 Amplify 控制台的配置步骤中更改节点版本

    我面临的问题是无法通过 AWS Amplify 控制台构建我的 Angular 应用程序 您正在运行 Node js v8 12 0 版本 Angular CLI 8 0 不支持该版本 支持的官方 Node js 版本为 10 9 或更高版
  • 没有突变的 AWS AppSync 订阅

    阅读 AppSync 文档 似乎 AppSync 订阅只能通过将订阅附加到突变来工作 但是 如果我需要独立于突变的订阅怎么办 这是由于某些内部状态变化而引发的吗 例如 如果有新资源可用 AppSync 中可以这样做吗 如果没有突变 这是不可
  • AWS AppSync 更新架构

    我正在使用 AWS AppSync Web 控制台 我从头开始创建了一个新的 API 我创建了一个像这样的新资源 type ToDo id ID title String AWS AppSync 创建 DynamoDB 表和架构后 如果我想
  • 如何在页面中自动刷新Cognito Token

    我使用 AWS Cognito 服务进行身份验证 在我的 Angular 7 应用程序中 我使用 Amplify Auth 来保护我的页面 如果用户在不同页面之间导航 Amplify 将自动处理令牌刷新 并且他们不会看到令牌过期 如果用户长
  • AWS Amplify Graphql 对 @connection 的查询

    我正在使用 AWS Amplify 前端使用 Cli 和 Angular 7 进行 Graphql AppSync 并且想知道当超过 10 个项目时如何获取所有连接的项目 假设我创建了一个这样的 schema graphql type Us
  • Amplify 的completeNewPassword 方法针对用户数据抛出 TypeError

    我尝试将自定义 UI 与 aws Amplify 结合使用 但遇到了 Auth completeNewPassword 问题 任何使用此方法的尝试都会引发错误Error in v on handler TypeError Cannot re
  • Android-Amplify:使用 Amplify 将文件上传到 AWS S3/从 AWS S3 下载文件

    我想开发一个简单的 Android 应用程序来将图像文件上传到 AWS 中已创建的 S3 存储桶 如果我用谷歌搜索 所有最新的AWS文档都会将我重定向到使用Amplify https docs amplify aws lib restapi
  • 一对多关系未显示在对象放大架构定义中

    我刚开始将 amplify 与 GraphQL 结合使用 我正在设置数据库模式并在运行放大推送后自动生成函数 我想要实现但不知道如何实现的目标 我希望能够在 getUser 返回的对象中获取用户的所有连接信息 一对一和一对多关系 我希望仍然
  • AWS Amplify AppSync 订阅无法正常工作

    我编写了一个小型应用程序 使用 AWS Amplify CLI AppSync 订阅数据库更改 所有 amplify api 调用都可以完美工作 突变 查询 但不幸的是观察者没有收到事件 我可以看到 MQTT 套接字定期接收二进制文件 但我

随机推荐

  • 预期结果在 1 和 0 之间的除法总是给出 0 [重复]

    这个问题在这里已经有答案了 可能的重复 C 中整数除法的行为是什么 https stackoverflow com questions 3602827 what is the behavior of integer division in
  • 调用 (document).resize 和 (document).ready

    我正在尝试使用调用等高函数 document ready 尽管我不得不这样称呼它 因为我收到了类型错误 jQuery function cols equalHeights 代替 document ready function cols eq
  • 仅使用 XML:LibXML 在 Perl 中添加对 XSLT 的引用

    我有一个动态创建的 XML 但是 我想在其中添加对 XSLT 文件的引用 以便能够在 Mozilla 中将 XML 文件呈现为 HTML 我希望我的最终 XML 能够这样开始
  • 有没有办法以线性调用顺序控制承诺流程?

    我仍然没有严格遵守承诺 假设我有一个代码 selected eq i blink fadeOut 200 delay 50 fadeIn 400 delay 100 fadeOut 200 delay 50 fadeIn 400 后来我打电
  • 如何通过 javax.script 创建和使用字节数组

    我们可以使用 javax script 创建原始数组 如字节数组或 int 数组吗 要在 Mozilla 的 Rhino 中创建 10 字节的 Java 数组 var buff java lang reflect Array newInst
  • 在 Python 列表中保留两个、跳过两个

    我有一个 Python 列表 num list list range 1 33 并且需要列表中的所有其他数字对 如下所示 1 2 5 6 9 10 我已经弄清楚如何从列表中排除某些索引 就像这样 num list 2 3 gt 3 6 9
  • 大型项目的 C# 编译时间(与 C++ 相比)

    我经常听到人们称赞C 的编译速度 到目前为止 我只制作了一些小型应用程序 而且我确实注意到编译速度非常快 但是 我想知道这是否仍然成立大型应用程序 大型 C 项目的编译速度是否比类似大小的 C 项目更快 是的 C 通常编译速度要快得多 但并
  • 针对 ARM 的 x86?

    是否可以在 ARM 机器上使用 gcc 编译为 x86 我找不到任何 march允许完成此操作的选项 如果无法完成 没什么大不了的 但我仍然有兴趣知道是否可能 是的 但你不需要 march 机器 您想要构建或安装一个以arm为主机架构 以x
  • 基于用户角色渲染 JSF 组件

    如何根据登录用户的角色呈现 JSF 组件 我知道外部上下文公开了原理 但是我应该如何在 JSF 中正确进行渲染 在 JSP 中 它会是这样的
  • 在iPhone上实现蓝牙数据传输

    如何为 iPhone 创建蓝牙应用程序 关于控制器我需要了解什么 委托方法 The GameKit框架包含允许通过蓝牙网络进行通信的 API 使用这些APIs 您可以轻松创建点对点游戏和应用程序 用于访问蓝牙的所有各种 API 都位于Gam
  • leiningen 为什么要建立目录层次结构?我可以放弃它吗?

    如果我使用 leiningen 创建一个新的 clojure 项目 它会生成一个如下所示的目录树 doc intro md project clj README md src hello friend core clj test hello
  • 有没有 MXML 接口之类的东西

    这可能是一个愚蠢的问题 所以如果是的话 请提前道歉 我想知道 MXML 中是否有等效的接口 每当我觉得需要使用界面时 我总是会制作一个动作脚本而不是一个 MXML 文件 因为我不知道是否 如何可以 例如 我打算有一个基于 vbox 的组件
  • jQuery 可拖动选项元素

    关于使以下选项元素可拖动有什么技巧吗
  • 我怎样才能使用javascript保护csv文件的密码

    html 表数据导出到 csv 文件 它正在发生 但我想使用 javascript 对 csv 文件进行密码保护 这可能吗 或其他方法做同样的事情 提前致谢 从表面上看 CSV 文件只是一种数据交换格式 其中字段以逗号分隔 每条记录占一行
  • 如何将参数传递给google cloud build中的docker run

    我正在尝试使用 GCB 运行 cypress 管道 但在 docker 内运行时它崩溃了 如描述的那样解决此问题here https github com cypress io cypress issues 350 是运行 docker i
  • 为什么 `my $x = if (0) {1} else {2}` 不起作用?

    在 Perl 中 x if 0 1 else 2 不起作用 perl E x if 0 1 else 2 syntax error at e line 1 near if Execution of e aborted due to comp
  • 我需要服务器才能使用 git 吗?

    如果我需要在工作或其他地方访问我的家庭计算机上的文件 我是否需要有一个网络服务器并在那里签入文件 如果我正在使用git 我还需要服务器还是我实际上在他们的服务器上保存文件 首先 Git 是分散式版本控制系统 这意味着当使用 Git 时 您在
  • 如何用html5 canvas绘制连续的圆形图案

    我有这个图片 and i want to draw with the image as the pattern When i did i got a result on the canvas like this 但我需要输出是 所以我的问题
  • 如何确认网站正在完全信任地运行?

    我给予了网站完全信任 但我仍然遇到一些安全例外情况 如何确认网站完全信任 您可以使用安全管理器 IsGranted http msdn microsoft com en us library system security security
  • 使用 IAM 帐户时 AppSync 查询返回未经授权

    我正在使用 AWS Amplify 我的 GraphQL 架构中有两个如下所示的模型 type Class model auth rules allow owner identityClaim sub allow owner identit