如何确保 Athena 结果 S3 对象具有存储桶所有者完全控制

2023-12-10

我们(账户 A)希望以编程方式在不同的 aws 账户(账户 B)中触发 athena 查询(startQueryExecution),我们使用假定的角色来实现它。 athena 查询完成后,我们期望结果应写入我们的 aws 账户 s3 存储桶(账户 A)。我们通过设置双方 IAM 策略以允许 B 写入 A 的 S3 存储桶来设法做到这一点。

但是,帐户 A 中的 S3 对象似乎仍然由帐户 B 拥有,帐户 A 中的用户/角色无法访问这些对象。

我正在考虑解决这个问题的任何方法,但我找不到任何如何执行此操作的示例

以某种方式确保 athena 使用 acl=bucket-owner-full-control 写入 s3 创建对象后,以某种方式将 s3 对象 acl 更改为 Bucket-owner-full-control

任何想法?


@user273098 很好奇你是如何找到答案的

Athena 目前不提供指定 ACL 的功能。但是,有两种解决方法是可能的

  1. 让账户 B 授予账户 A 的账户根/角色访问账户 B 的 Athena 的权限,而不是让账户 A 承担账户 B 中的角色。然后账户A可以使用自己的角色/账户来查询账户B中的数据,并且结果仍然可以被账户A访问,因为账户A是对象所有者。

  2. 让 S3 流式 lambda 监听输出 S3 存储桶。一旦对象进来,使用设置对象ACL授予存储桶所有者对该对象的完全控制权。

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

如何确保 Athena 结果 S3 对象具有存储桶所有者完全控制 的相关文章

随机推荐

  • 为什么“加载事件在 addEventListener() 上不起作用”?

    我尝试在加载页面的正文元素后记录一些内容 但日志没有出现在控制台中 我究竟做错了什么 const body document querySelector body function setInitialGradient console lo
  • 按相关列值排序 Bookshelf.js 获取

    我正在使用 Bookshelf js Knex js 获取具有相关子模型 称为公司 的模型 称为用户 我可以按子模型上的字段订购吗 company name 另外 如果可能的话 我可以进行多重排序吗 company name然后下降last
  • 使用 Google Apps 脚本编辑 Google 日历活动时更新与会者

    情况 我有一个日历 上面有很多活动 员工评估 我已经做了很多修改 改变活动的长度等 但邀请函是发给拥有莲花笔记日历的人 穷人 的 这意味着除非我触发所谓的 发送通知 在用鼠标点击的版本中 他们无法知道事件已更新 类似问题 在此示例中 我尝试
  • 如何截取画布的屏幕截图? [复制]

    这个问题在这里已经有答案了 如何截取画布的屏幕截图 或者如何创建图像 该图像将由图像 自由区域组成 位于画布上 这取决于你的框架 但基本上你可以使用canvas toDataURL 这是一个完整的例子
  • 如何使用 python 运行 matplotlib 和 PyQt5 Video

    我正在尝试一起运行 QVideoWidget 和 matplotlib 动画 但是当我运行这个 py 时 QVideoWidget 不起作用 我得到了 QVideoWidget 代码和 matplotlib 动画代码 然后将这些代码总结在下
  • 如何在带有后续提示的 QnA 问题中实现卡片并在卡片中使用它们

    我已经设置了一个链接到 QnA 服务的简单 QnA 机器人 在 QnA 服务中 我设置了一些带有后续提示的问题 家属 例如我如何乘坐公共汽车 火车等到达校园 请参阅链接中的图像 在 Qna 制造商测试功能中 您只需单击一个名为 启用多轮 的
  • 当我们将命令放在美元符号和括号内时,在 shell 中意味着什么:$(command)

    我只想了解 shell 中的以下代码行 它用于获取当前工作目录 我知道 variable name 返回变量名称内的值 但是什么是 command 应该回来吗 执行命令后是否返回值 在这种情况下 我们可以使用 执行命令 CWD cd dir
  • 在 C# 中格式化带有有效数字的数字

    我有一些十进制数据 正在将其推送到要查看的 SharePoint 列表中 我想根据我对具体计算的了解来限制结果数据中显示的有效数字的数量 有时它会是3 所以12345会变成12300 0 012345会变成0 0123 偶尔会是 4 或 5
  • 如何找出哪个 DOM 元素具有焦点?

    我想知道 在 JavaScript 中 哪个元素当前具有焦点 我一直在浏览 DOM 但还没有找到我需要的东西 有没有办法做到这一点 以及如何做到这一点 我寻找这个的原因是 我正在尝试制作像箭头这样的键enter浏览输入元素表 Tab 现在可
  • 如何将 java.util.Date 转换为 GMT 格式

    我有一个字符串 2014 07 02T17 12 36 488 01 00 显示山区时区 我将其解析为 java util date 格式 现在我需要将其转换为 GMT 格式 谁能帮我 SimpleDateFormat sdf new Si
  • AngularJS 外部 ng-repeat 不在内部 ng-repeat 上注册监视

    这与我的问题有关 Angular JS ng repeat 消耗更多浏览器内存 我的问题是我需要嵌套的 ng repeats 并且由于注册了更多的监视 因此嵌套的 ng repeats 会消耗更多的内存 table thead td Id
  • 如何设置 Eclipse 控制台区域设置/语言

    使用 Eclipse Helios 开发 Web 应用程序时 tomcat 输出将发送到控制台 好的 但是这些消息正在被翻译成我的操作系统语言 事实上 我的 Eclipse 是英语的 但 Tomcat 输出 日志记录 正在翻译为葡萄牙语 可
  • 鼠标移动太快而无法捕获事件

    这与 上一个问题 但问题是 只有当我在 TableLayoutPanel 上和周围快速移动鼠标时 我的代码才会失败 由于鼠标快速移动 C 或 Windows 是否有可能报告 触发事件乱序 如果是这样 我该如何纠正 谢谢 我希望这不会被视为重
  • 如何获取jq中过滤数组后的第一个对象?

    给出以下 JSON tags key env value foo key env value bar 我正在尝试找出密钥所在的第一个标签env 我有这个 tags select key env 0 但这给了我一个错误Cannot index
  • TextField - 在用户开始输入文本之前显示提示

    我正在开发一个黑莓应用程序 我想在用户开始输入之前在 TextField 中显示提示文本 当用户开始输入时 它应该消失 当 TextField 中有 0 个字符时 它应该显示 有人实现了这个吗 然后请分享 protected void pa
  • 如何使用 Bicep 部署带有 .Net 堆栈的 Windows Azure 应用服务?

    我创建了一个 Bicep 来部署带有 linux windows 选择和 net 6 堆栈的服务计划和应用服务 两次部署均成功 Linux 应用程序完全正常 门户网站上存在 net 6 堆栈 然而 Windows 堆栈门户屏幕上为空 我正在
  • 如何在VM之外访问安装在Azure VM(VM角色)上的sql服务器?

    我正在处理 Windows Azure VM 角色 我在 Azure VM 上安装了 sql 服务器 现在我想从外部连接到该 sql 服务器 这可能吗 请参考此链接配置您的VM角色 您需要的一部分是打开一个防火墙端口 允许与您的虚拟机角色进
  • 如何以编程方式从draw.io PNG中提取XML数据

    长话短说 我希望能够在浏览器中使用 PHP 或 JavaScript 从 Draw io 保存的 PNG 中提取 XML 数据 我使用带有图层的draw io 图像来记录网络设备之间的物理连接 文档站点是一个内部站点 运行dokuwiki例
  • NSURLSession 取消任务

    我使用以下配置创建新的 NSURLSession if self session NSURLSessionConfiguration config NSURLSessionConfiguration backgroundSessionCon
  • 如何确保 Athena 结果 S3 对象具有存储桶所有者完全控制

    我们 账户 A 希望以编程方式在不同的 aws 账户 账户 B 中触发 athena 查询 startQueryExecution 我们使用假定的角色来实现它 athena 查询完成后 我们期望结果应写入我们的 aws 账户 s3 存储桶