Лямбда-прогоны вызываются с набором переменных среды AWS_ACCESS_KEY_ID
, AWS_SECRET_KEY
, AWS_SESSION_TOKEN
и т. Д., Которые совпадают с результатом прямого вызова sts.assume_role (), принимая роль, указанную вконфигурация лямбда-функции.Если вы посмотрите на полный вывод get_caller_identity()
, то увидите, что поле Arn
- это обычное имя-роли-косой черты-имени-сущности-предполагающей-роли-роли.Поэтому я предполагаю, что значение поля Account
технически является учетной записью, владеющей ролью IAM , которая предполагается, но поскольку (AFAIK?) Она должна быть из той же учетной записи, что и сама лямбда-функция,Я думаю, что это надежный индикатор учетной записи лямбда-функции.
Лично я установил переменную окружения AWS_ACCOUNT_ID
для большинства / всех моих лямбда-функций, которые действительно легко пройти в CloudFormation как AWS_ACCOUNT_ID: { Ref: "AWS::AccountId" }
.