Может ли экземпляр RDS взять на себя роль другой учетной записи?

Я пытаюсь загрузить данные S3 из корзины учетной записи A в экземпляр RDS в учетной записи B. Я не могу использовать политику ресурсов. Это нужно делать только с использованием IAM-ролей.

У меня есть роль, созданная в учетной записи A, и у нее есть доступ к корзине S3. У меня есть роль, созданная в учетной записи B, которая позволяет использовать роль из учетной записи A.

Как использовать их для загрузки данных из учетной записи A в учетную запись B?


person Arun Palanivel    schedule 24.09.2019    source источник
comment
Что, если дать роли в учетной записи B разрешение на доступ к корзине как в политике, прикрепленной к роли, так и в политике корзины? Разве это не сработает?   -  person Michael - sqlbot    schedule 25.09.2019


Ответы (1)


Вам нужно будет написать собственный загрузчик, потому что вам нужно взять на себя 2 роли одновременно.

Одним из способов было бы создать 2 программы, которые передают данные.

$ read_bucket | write_rds

Сценарий read_bucket возьмет на себя роль учетной записи A и прочитает содержимое корзины. Затем он будет печатать данные на стандартный вывод.

Сценарий write_rds возьмет на себя роль учетной записи B и прочитает содержимое из стандартного ввода, а затем запишет в RDS.

Вы можете сделать все это внутри программы, потому что, когда вы принимаете роль, вы получаете набор временных учетных данных, которые вы включаете в каждый запрос API. Вот еще один ответ конкретно о временных учетных данных.

person WaltDe    schedule 24.09.2019