【发布时间】:2020-07-15 05:28:22
【问题描述】:
我正在尝试使用承担角色的东西从不同的 AWS 账户 B 访问 AWS 账户 A 的 IAM 资源。我已经在两个 AWS 账户(受托人账户和受托账户)中承担了角色权限策略设置。假设角色名称为 dummyRole 存在于 AWS A 中,它具有创建用户权限和创建访问密钥权限,并且我被允许从 AWS B 承担 dummyRole。
我正在尝试通过从 AWS 账户 A 假设 dummyRole 来在 AWS 账户 A 中创建一个 IAM 用户。我被困在一个地方,一旦我们使用临时凭证进入 AWS A 需要做什么才能获得可见性IAM 功能。
这是我尝试过的代码 sn-p 但观察到AttributeError: 'IAM' object has no attribute 'User'
import boto3
import os, sys
role_arn = 'arn:aws:iam::A:role/dummyRole'
client = boto3.client('sts')
response = client.assume_role(RoleArn=role_arn, RoleSessionName='createCrossAccountUser')
local_creds = response.get('Credentials')
print (local_creds)
access_key = local_creds.get('AccessKeyId', '')
secret_key = local_creds.get('SecretAccessKey', '')
session_token = local_creds.get('SessionToken', '')
iam_resource = boto3.client('iam', aws_access_key_id=access_key, aws_secret_access_key=secret_key,
aws_session_token=session_token)
print (iam_resource)
iam_resource.User('dummyUserForSubaccount')
【问题讨论】:
-
你想要
boto3.resource('iam')而不是boto3.client('iam')
标签: python amazon-web-services boto3 amazon-iam