0

我正在努力accountID从组织内新创建的 AWS 账户中提取。我正在使用触发CreateAccountResult事件名称的 lambda 函数的 CloudWatch 规则。在此事件中,它为我提供createAccountStatus"SUCCEEDED"accountID帐户的帐户和帐户。

我希望能够拉出 JUSTaccountID并将其插入到我的 lambda 函数中的变量中。

此 lambda 函数用于创建 AWS 连接器以将账户链接到趋势科技。本质上,我在这个脚本中使用的是:

account = '**accountID**'

payload = "{\n   \"crossAccountRoleArn\": \"arn:aws:iam" + account + ":role/TrendMicroDSM\",\n   \"workspacesEnabled\": true\n}"

我希望帐户变量自动更新为最新帐户的accountID

这甚至可能吗?

4

1 回答 1

0

如果您使用的是 Python,该create_account()函数将返回:

{
    'CreateAccountStatus': {
        'Id': 'string',
        'AccountName': 'string',
        'State': 'IN_PROGRESS'|'SUCCEEDED'|'FAILED',
        'RequestedTimestamp': datetime(2015, 1, 1),
        'CompletedTimestamp': datetime(2015, 1, 1),
        'AccountId': 'string',
        'GovCloudAccountId': 'string',
        'FailureReason': 'ACCOUNT_LIMIT_EXCEEDED'|'EMAIL_ALREADY_EXISTS'|'INVALID_ADDRESS'|'INVALID_EMAIL'|'CONCURRENT_ACCOUNT_MODIFICATION'|'INTERNAL_FAILURE'|'GOVCLOUD_ACCOUNT_ALREADY_EXISTS'
    }
}

因此,您可以简单地使用:

import boto3

client = boto3.client('organizations')

response = client.create_account(...)

account_id = response['CreateAccountStatus']['AccountId']
于 2020-07-11T03:11:04.010 回答