У меня есть лямбда-функция в учетной записи A, пытающаяся получить доступ к ресурсам из учетной записи B. Создана новая лямбда-функция с базовым c выполнением с доступом к загрузке журналов в облачный мониторинг.
Вот мой код функции в Python 3.7:
import boto3
allProfiles = ['account2']
def lambda_handler(event, context):
sts_connection = boto3.client('sts')
acct_b = sts_connection.assume_role(
RoleArn="arn:aws:iam::2222222222:role/role-on-source-account",
RoleSessionName="account2"
)
for profiles in allProfiles:
print("\nusing profile %s" % profiles)
newMethod..
return {
'statusCode': 200,
'body': json.dumps('Hello from Lambda!')
}
Также изменена политика доверия предполагаемой роли в учетной записи B, как указано в документации: https://aws.amazon.com/premiumsupport/knowledge-center/lambda-function-assume-iam-role/
ОШИБКА : Произошла ошибка (AccessDenied) при вызове операции AssumeRole: Пользователь: arn: aws: sts :: 11111111: предполагаемая роль / лямбда-роль / лямбда-функция не авторизована для выполнения: sts: AssumeRole для ресурса: arn : aws: iam :: 2222222222: роль / роль-на-источнике-учетной записи "
Примечание: я могу запустить это локально, но не в лямбде.