amazon-web-services - 从 AWS 组织中的主账户中运行的 AWS lambda 函数检索子账户的角色 ARN
问题描述
我有一个 lambda 函数,它在 AWS 组织中担任子账户的角色。lambda 驻留在主帐户中。我需要将要承担的角色的角色 ARN 传递给此 lambda。我怎样才能做到这一点?如何使用 AWS Lambda 从主账户中检索驻留在子账户中的角色的角色 ARN?
解决方案
每个帐户中的角色名称是否不同?如果角色的名称相同,您可以使用基本相同的 ARN,只需将账户 ID 插入到调用 Lambda 函数的账户的字符串中。我不确定这是否回答了您的问题,但如果这是您尝试执行的操作,您的 Lambda 函数代码可能看起来像这样(使用 Python 和 boto3):
def lambda_handler(event, context):
roleARN = 'arn:aws:iam::'+event['accountId']+':role/your_role_name'
sts_connection = boto3.client('sts')
# Assume the role in member accounts
acct_b = sts_connection.assume_role(
RoleArn=roleARN,
RoleSessionName="session_name"
)
请记住,您需要为这两个角色正确设置权限。Lambda 执行角色需要具有在任何账户中代入具有该公用名称的角色的权限,并且成员账户角色需要允许您的 Lambda 执行角色在信任策略中代入它们。
推荐阅读
- php - 使用 PHP shopify_call 更新 shopify 中的库存
- javascript - 如何更快地搜索对象数组?
- chart.js - ChartJS 中的多种线型
- discord.js - 获取所有公会成员 [djs11]
- ibm-doors - DXL:无法将历史中发现的某些属性分配给属性
- django - Django 模型默认回调不添加超过 10
- python - 如何编写一个 python 函数,它接收要评估的函数名称字符串列表,并将每个函数的输出堆叠到一个 DataFrame 中
- c# - LINQ 希望将一个列表排序到另一个包含数组的列表中
- r - 具有参与者 ID 和提示的列:在 R 中将它们分成两个不同的列
- javascript - 原型交互式空间地图的问题