从AWS组织中的主帐户中运行的AWS lambda函数检索子帐户的角色ARN

时间:2020-08-03 13:18:19

标签: amazon-web-services aws-lambda amazon-iam aws-organizations

我有一个lambda函数,它承担AWS组织中子账户的角色。 Lambda驻留在主帐户中。我需要将要承担的角色的角色ARN传递给此lambda。我该如何实现?如何使用AWS Lambda从主账户检索子账户中的角色的角色ARN?

1 个答案:

答案 0 :(得分:0)

每个帐户中的角色名称是否不同?如果角色的名称相同,则可以使用基本上相同的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执行角色在信任策略中承担角色。