gpt4 book ai didi

amazon-web-services - 如何使用 boto3 授予 ec2 实例访问 s3 的权限

转载 作者:行者123 更新时间:2023-12-04 08:00:22 24 4
gpt4 key购买 nike

通过谷歌搜索,我找到了 this tutorial on accessing S3 from EC2 instance without credential file .我按照它的说明得到了想要的实例。 aws web 控制台页面看起来像
enter image description here

但是,我不想每次都使用 Web 控制台手动执行此操作。如何使用 boto3 创建此类 EC2 实例?

我试过

s = boto3.Session(profile_name='dev', region_name='us-east-1')
ec2 = s.resource('ec2')
rc = ec2.create_instances(ImageId='ami-0e297018',
InstanceType='t2.nano',
MinCount=1,
MaxCount=1,
KeyName='my-key',
IamInstanceProfile={'Name': 'harness-worker'},
)

哪里 harness-worker是可以访问 S3 的 IAM 角色,但仅此而已。
它也用于 aws Web 控制台教程的第一种方法。

然后我得到错误说

ClientError: An error occurred (UnauthorizedOperation) when calling the RunInstances operation: You are not authorized to perform this operation.



我做错了什么吗?
dev配置文件具有 AmazonEC2FullAccess。无线 IamInstanceProfile={'Name': 'harness-worker'}, , create_instances能够创建实例。

最佳答案

要将 IAMProfile 分配给实例,AmazonEC2FullAccess是不够的。此外,您需要以下权限才能将角色传递给实例。

见:Granting an IAM User Permission to Pass an IAM Role to an Instance

{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "*"
}

首先,您可以授予对您的 dev 的完整 IAM 访问权限。 profile 并查看它的工作原理。然后删除完整的 IAM 访问权限并仅授予 iam:PassRole然后再试一次。

关于amazon-web-services - 如何使用 boto3 授予 ec2 实例访问 s3 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45852308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com