У меня есть приложение Java, работающее в ECS, в котором я хочу прочитать данные из таблицы в учетной записи 1 (source_table) и записать их в таблицу в учетной записи 2 (destination_table). Я создал двух клиентов DynamodB с разными поставщиками учетных данных - для клиента source_table я использую STSAssumeRoleSessionCredentialsProvider
с набором ролей в учетной записи 1; для клиента назначения я использую DefaultAWSCredentialsProviderChain
.
Предполагаемый бит роли работает, и я могу читать с использованием исходного клиента, но использование целевого клиента не работает - он все еще пытается использовать учетные данные предполагаемой роли при попытке записи в destination_table и завершается неудачно с неавторизованной ошибкой (предполагается -ролл не авторизован для выполнения Put Item).
Я пытался использовать EC2ContainerCredentialsProviderWrapper
на целевом клиенте, но та же ошибка.
Должно ли это работать? Или учетные данные совместно используются под капотом, что делает невозможным одновременное выполнение двух разных AWSCredentialProvider
, как это?
Я заметил этот ответ, который использует статические учетные данные и, очевидно, работает, так что я в растерянности, почему это не работает.