В лямбда-функциях у нас есть версия и псевдонимы, у меня есть два псевдонима (test1, test2). test1 выполняет операцию crud для динамодаба в пределах одной и той же учетной записи, в то время как test2 необходимо выполнить crud для динамодеба в другой суб-учетной записи того же региона (чтобы предотвратить переделку в функции lambda).
Как я пытался:
- создал роль в основной учетной записи для принятия роли
- создал роль в дополнительной учетной записи, будет иметь полный доступ к службе aws
- скопировал arn и назначил роль дополнительной учетной записи для основной учетной записи sts accept policy
- проверить лямбда-функцию для извлечения данных из таблицы динамической базы данных субсчета
- ошибка:
{
"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)"
]
}