当前位置: 首页 > 知识库问答 >
问题:

如何从帐户1在帐户2中创建记录集

巴洲
2023-03-14

我试图创建一个路由53记录集从帐户1在帐户2.

通过阅读其他帖子和在线搜索,我想做这样的事情:

from boto3 import Session

session = Session(aws_access_key_id=*****,aws_secret_access_key=****,region_name='us-east-1')
r53_client = session.client('route53')
r53_resource = session.resource('route53')

想从有经验的人那里知道这是否是正确的方法吗?或者有没有更好的方法来实现上面?

更新代码如下:

def lambda_handler(event, context):
    sts = boto3.client('sts')
    response = sts.assume_role(
        RoleArn='arn:aws:iam::***123:role/lambda',
        RoleSessionName='my-random-session-name',
        DurationSeconds= 900 # how many seconds these credentials will work
    )

    tempAccessKeyId = response['Credentials']['AccessKeyId']
    tempSecretAccessKey = response['Credentials']['SecretAccessKey']
    tempSessionToken = response['Credentials']['SessionToken']

    client = boto3.client('route53', 
                  region_name = 'us-west-2',
                  aws_access_key_id=tempAccessKeyId,
                  aws_secret_access_key=tempSecretAccessKey,
                  aws_session_token=tempSessionToken)


    response = client.list_resource_record_sets(
    HostedZoneId='***',
    StartRecordName='test.example.com.',
    StartRecordType='A'
    )

    print(response)

共有2个答案

陶原
2023-03-14

要对AWS帐户进行API调用,您需要来自该AWS帐户的凭据(例如与IAM用户关联的凭据),或者需要能够在该帐户中担任IAM角色。

因此,在您的示例中,如果提供的凭据属于Account2,那么您将能够对Account2进行API调用(如果IAM用户已被授予必要的Route 53权限)。

如果您经常在帐户之间移动,您可以指定一个配置文件,它从凭据文件中检索一组不同的凭据。

请参阅:python-如何在使用boto3连接到云前线时选择AWS配置文件-堆栈溢出

齐朝明
2023-03-14

基于您是通过AWS Lambda函数执行此操作的事实,最安全的方法是:

  • 在账户1中:
  • 创建一个具有信任权限的IAM角色(Role 2),允许帐户1中的Role 1假设它
  • 授予角色2适当的权限来使用亚马逊路由53

在您的Lambda代码中,您可以在角色2上调用AssumeRole()。这将提供一组临时凭据,可用于访问帐户2(根据上面的代码)。

请参阅:切换到IAM角色(AWS API)-AWS标识和访问管理

 类似资料:
  • 我在us-east-1地区有帐户A,有IAM角色rt-profileRole和我的应用程序设置。帐户B在us-west-1和US-West-2中创建了S3存储桶。 我正在尝试使用aws cli和role RTProfile列出对象。这两个bucket策略都与下面资源相似,具有正确的bucket arn(策略附加到的bucket的bucket arn)。 问题是我可以从我的本地系统中使用aws s3

  • 问题内容: 我们正在为Joomla创建XML API,允许合作伙伴网站在我们的网站上为其用户创建新帐户。 我们已经创建了一个独立的PHP脚本来处理和验证API请求,但是现在我们需要实际创建新帐户。最初我们只是考虑进行CURL调用以提交注册表单,但是我们意识到用户令牌存在问题。是否有另一种干净的方法可以创建用户帐户而不用担心Joomla?如果我们必须做一些手术,最好的方法是什么? 问题答案: 您应该

  • 只是一个简单的问题。 我一直在网上寻找支持,以创建标准连接帐户与颤振,但我仍然遇到以下问题: \我应该在我的字段中放什么在我的方法中?根据留档,它是: 但它是一款移动应用?所以我有点困惑,我应该把什么放在那里。

  • 在我的应用程序中,我使用谷歌帐户进行身份验证。当用户首次登录时,将显示设备上使用的google帐户列表,用户可以通过选择可用帐户之一登录。但当用户注销并再次尝试登录时,列表将不再显示,他将自动使用以前选择的帐户登录。如何防止我的应用程序记住该帐户,并在每次登录尝试时强制其显示帐户列表?

  • 我正在设计一个python GUI,它的一个功能是截图,上传到Imgur,然后获取URL。尽管我在理解文档时遇到了一些问题(特别是因为它说需要通过API创建一个帐户,而不是如何创建)。有人能解释一下如何创建一个帐户,然后使用它上传一张图片吗? 注意:我正在使用PIL来获取屏幕截图,我希望您将其解释为使用请求库编写的代码,或者可能是curl(因为使用请求将其移动到python并不太困难),我将只在程

  • 是否可以使用java代码创建/删除windows用户帐户并设置其权限以使其成为管理员帐户、简单用户帐户或来宾帐户?