amazon-web-services - 限制用户在 athena 上执行 INSERT 查询
问题描述
我想限制用户在 athena 的主表(不是 CTAS 表)中执行 INSERT 查询。如果有办法,我能做到这一点吗?用户将执行来自 Lambda 的查询。
解决方案
Athena 仅支持StartQueryExecution
和StopQueryExecution
作为IAM 权限策略中的操作- 因此执行哪种类型的 SQL 命令(DDL、DML)没有区别。
但是,我认为您可以通过拒绝权限来克服这个问题glue
,S3
因此尝试执行 INSERT 的 Athena 查询将失败:
- 粘合权限可以在目录、数据库和表级别进行管理,一些示例可以在 AWS 的基于身份的策略(IAM 策略)中找到,用于 Glue 的访问控制
- 要拒绝的相关粘合操作:
BatchCreatePartition
,CreatePartition
,UpdatePartition
- 请参阅AWS Glue 的操作、资源和条件键 - 如果
S3
您需要拒绝PutObject
或Put*
针对特定表的 S3 位置,请参阅Amazon S3 定义的操作- 同样,这可以在存储桶中的对象级别上定义。
推荐阅读
- angular - Angular 9 延迟加载组件错误:InjectionToken mat-autocomplete-scroll-strategy 没有提供程序
- reactjs - `isLoading` 状态是否应该在 Redux 中?但是如果可以有多个加载数据的组件呢?
- snowflake-cloud-data-platform - 通过填写 Alteryx 中的值来修改雪花数据库
- r - 使用 ggplot2 绘制 TIFF 数据
- python-3.x - Kivy Buildozer 不构建 apk
- html - 为什么将带有线性渐变和图像的css背景图像放在html样式标签中,但放在样式表中时却不行?
- c# - 您可以将集合包含的对象的一个属性序列化为 JSON
- java - 使 OpenJ9 类共享也共享非引导类
- python - 步行周期不会在 pygame 中结束
- python - Python Pandas 拆分字符串并将余数存储在新行中