amazon-web-services - Kinesis 使用者在使用 KCL 时需要哪些 IAM 权限?
问题描述
我有一个使用 Kinesis Client Library (KCL) 编写的 Kinesis 消费者。此使用者在假定的 IAM 角色下运行。
我从文档中读到:
KCL 使用应用程序名称创建一个 DynamoDB 表,并使用该表来维护应用程序的状态信息(例如检查点和工作分片映射)。每个应用程序都有自己的 DynamoDB 表。有关更多信息,请参阅跟踪 Amazon Kinesis Data Streams 应用程序状态。
当然,我需要将dynamodb:CreateTable
权限添加到我的 IAM 角色。但是,我在其他方面遇到了错误(例如dynamodb:DescribeTable
)。
是否有我的 KCL 使用者需要访问的所有 DynamoDB 操作的列表?似乎缺少文档,我宁愿拥有一个权威列表,也不愿继续尝试运行我的应用程序。
解决方案
这应该是您需要的一组权限。表名由客户端代码提供,默认为appName
但可以在ConfigsBuilder
:
- Effect: Allow
Action:
- dynamodb:CreateTable
- dynamodb:DescribeTable
- dynamodb:Scan
- dynamodb:PutItem
- dynamodb:GetItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource:
- !Join ["", ["arn:aws:dynamodb:*:", !Ref 'AWS::AccountId', ":table/*"]]
推荐阅读
- docker - Portainer Docker Nginx 的解决方案:不健康和错误的网关 502
- gpg-signature - 为什么要检查 tgz 文件的签名
- ios - SwiftUI 关于 List 的奇怪问题
- python - 将日期范围转换为时间序列
- python - 遍历 BS4 Tag 元素列表以删除指定文本
- docker - 为什么我仍然可以使用 --shell "/sbin/nologin" 创建的用户进入容器?
- python - 有没有更好的方法来迭代列表以制作元组列表
- javascript - 将事件从外部 js 文件发送到 Vuejs 组件?
- r - 从R中的列表列表中提取列
- html - 当我尝试按下或悬停锚标记时,它仅对某些部分有反应