Rud*_*koŭ 3 amazon-web-services boto3 aws-lambda
我想获取部署 Lambda 的 AWS 帐户的 accountId。
将boto3.client(“STS”)。get_caller_identity()“账户”]返回拉姆达的帐户部署本身,或帐户拉姆达呼叫者的?
在自己的代码中获取 Lambda AWS accountId 的正确方法是什么?
小智 8
Lambda 运行是使用一组环境变量AWS_ACCESS_KEY_ID、AWS_SECRET_KEY、AWS_SESSION_TOKEN等调用的,这些变量与直接调用 sts.assume_role() 所产生的结果相同,假定 lambda 函数的配置中指定了角色。如果您查看完整的输出,get_caller_identity()您会看到该Arn字段是正常的 arn-of-role-slash-name-of-entity-assuming-the-role。因此,我认为该Account字段的值在技术上是拥有所承担的 IAM 角色的帐户,但由于(AFAIK?)必须与 lambda 函数本身来自同一帐户,我认为这是该帐户的可靠指标lambda 函数。
就我个人而言,我AWS_ACCOUNT_ID在大多数/所有 lambda 函数上设置了一个环境变量,这在 CloudFormation 中非常容易作为AWS_ACCOUNT_ID: { Ref: "AWS::AccountId" }.
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |