Вызов кросс-счета в API CloudFormation из Lambda - PullRequest
1 голос
/ 13 октября 2019

В настоящее время я звоню в CloudFormation API CreateStack - createStack , createChangeSet из лямбды в Account-A. Я могу вызвать их, и стек облачной информации создается в учетной записи A.

Теперь я хочу запустить стек облачной информации в другой учетной записи, скажем, в учетной записи B. Может ли моя лямбда-счет в учетной записи A вызывать createStack , createChangeSet API в учетной записи B. В основном я хочу, чтобы ресурсы создавались в другой учетной записи.

Как я могу это сделать, какое разрешение мне нужно установить и где.

Ответы [ 2 ]

1 голос
/ 14 октября 2019

https://aws.amazon.com/blogs/devops/aws-building-a-secure-cross-account-continuous-delivery-pipeline/ содержит подробности и примеры кода, как это сделать.

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

0 голосов
/ 14 октября 2019

Да, это можно сделать.

Одна вещь, которую следует учитывать, может быть довольно легко просто развернуть лямбду на счет B и вызвать ее там для достижения желаемого результата.

Длязапустите его в учетной записи A и создайте для него ресурсы в учетной записи B, вам необходимо убедиться, что учетная запись A позволяет лямбда-разрешению обращаться к облачной информации для учетной записи B. Это можно сделать, изучив (и изменив, если необходимо) политику IAM длятвоя лямбда-роль.

Чтобы лямбда-счет в учетной записи A мог вносить изменения в учетную запись B, ваш клиент CloudFormation в лямбда-выражении должен использовать учетные данные для роли IAM или пользователя, определенного в учетной записи B, что позволит ему разрешать createStack,createChangeSet и т. д., плюс ему также могут понадобиться разрешения для ресурсов, которые он создает (например, Dynamo createTable)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...