【发布时间】:2020-02-11 16:44:35
【问题描述】:
在 lambda 函数中,我们有版本和别名,我有两个别名(test1、test2)。 test1 对同一账户内的 dynamodb 进行 crud 操作,而 test2 需要对不同子账户同一区域的 dynamodb 进行 crud(防止 lambda 函数返工)。
我是如何尝试的:
- 在主帐号中创建了一个角色来担任角色
- 在子帐户中创建的角色将获得完整的 aws 服务访问权限
- 复制 arn 并将子帐户角色分配给主帐户 sts 承担策略
- 测试 lambda 函数以从子帐户 dynamodb 表中获取数据
- 错误:
{
"errorMessage": "User: arn:aws:sts::123456:assumed-role/getAccessSubAccountRole/testlambdafunction is not authorized to perform: dynamodb:Query on resource: arn:aws:dynamodb:region:123456:table/USER",
"errorType": "AccessDeniedException",
"stackTrace": [
"Request.extractError (/var/runtime/node_modules/aws-sdk/lib/protocol/json.js:51:27)",
"Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:106:20)",
"Request.emit (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:78:10)",
"Request.emit (/var/runtime/node_modules/aws-sdk/lib/request.js:683:14)",
"Request.transition (/var/runtime/node_modules/aws-sdk/lib/request.js:22:10)",
"AcceptorStateMachine.runTo (/var/runtime/node_modules/aws-sdk/lib/state_machine.js:14:12)",
"/var/runtime/node_modules/aws-sdk/lib/state_machine.js:26:10",
"Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:38:9)",
"Request.<anonymous> (/var/runtime/node_modules/aws-sdk/lib/request.js:685:12)",
"Request.callListeners (/var/runtime/node_modules/aws-sdk/lib/sequential_executor.js:116:18)"
]
}
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-dynamodb aws-sdk