boto3:使用 IAM 角色的 S3 存储桶放置事件通知失败

巴拉特

我陷入了尝试使用 IAM 角色在 S3 存储桶上为 SQS 配置事件通知的情况。

它适用于 aws_access_key_id 和 aws_secret_key_id,但不适用于角色 ARN。

作品:

client = boto3.client(
    's3',
    aws_access_key_id='XXXXXXXXXXXX',
    aws_secret_access_key='XXXXXXXXXXXXXXX'
)

bucket_notifications_configuration = {
    'QueueConfigurations': [{
        'Events': ['s3:ObjectCreated:*'],
        'Id': 'Test',
        'QueueArn':'<SQS ARN>'
    }]
}

client.put_bucket_notification_configuration(
    Bucket=bucket_name,
    NotificationConfiguration=bucket_notifications_configuration)

但是出于安全原因,我们试图使用 IAM 角色而不是 ID 来实现相同的结果,我找不到任何有效的方法。尝试使用'sts',仍然没有运气。获取错误 - “无权执行:sts:AssumeRole 资源:”

不起作用:

client = boto3.client(
    's3',
    role_arn = <IAM Role ARN>
)

bucket_notifications_configuration = {
    'QueueConfigurations': [{
        'Events': ['s3:ObjectCreated:*'],
        'Id': 'Test',
        'QueueArn':<SQS ARN>
    }]
}

client.put_bucket_notification_configuration(
    Bucket=bucket_name,
    NotificationConfiguration=bucket_notifications_configuration)

还尝试在初始化客户端时向运行此 lambda 的角色授予完全 s3 访问权限,而无需提供访问/秘密密钥或角色。但它抱怨拒绝访问。

有人可以帮忙吗?

巴拉特

终于让这个工作了!!似乎您只需要为执行 Lambda 时分配的角色授予足够的权限(感谢@Michael-sqlbot)。如果您从本地计算机运行它,这可能不起作用,因为您无法以这种方式分配角色。

此外,请确保 S3 存储桶存在于您的 lambda 尝试修改的同一 AWS 环境中。否则,您将收到拒绝访问错误。如果您的 S3 无权向您尝试添加通知的 SQS 队列发送消息,它会抛出错误消息 - 无法验证目标配置。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用IAM角色从脚本访问S3存储桶

来自分类Dev

通过 amazon s3 sdk for javascript 访问 IAM 角色 S3 存储桶图像

来自分类Dev

使用AWS IAM用户角色凭证的AWS S3存储桶API调用:

来自分类Dev

如何使用boto3为IAM用户授予S3存储桶的完全权限?

来自分类Dev

使用Boto3和IAM角色在Python中进行RDS连接

来自分类Dev

尝试使用Boto3创建IAM角色时,总是出现MalformedPolicyDocument错误

来自分类Dev

适用于角色的AWS S3 IAM策略,用于根据实例标签或实例ID限制少数实例连接到S3存储桶

来自分类Dev

创建用于频谱S3访问的IAM角色的模板

来自分类Dev

具有IAM角色的s3的对象级别限制

来自分类Dev

在AWS S3中为权限指定IAM角色

来自分类Dev

我应该为S3存储桶分配什么权限,以使其只能使用IAM角色从EC2实例进行访问?

来自分类Dev

允许多个用户使用 IAM 角色访问私有 S3 文件夹

来自分类Dev

使用具有 IAM 角色的 COPY 命令时拒绝访问 S3

来自分类Dev

Boto3获取S3存储桶的内容

来自分类Dev

使用boto3从S3存储桶读取文件内容

来自分类Dev

使用Boto3将文件上传到带前缀的S3存储桶

来自分类Dev

如何使用lambda函数和boto3从s3存储桶读取csv文件?

来自分类Dev

使用boto3从S3存储桶下载文件时出现ValueError吗?

来自分类Dev

使用 boto3 清空 s3 存储桶的最快方法是什么?

来自分类Dev

使用Boto3以编程方式获取IAM用户的UserID

来自分类Dev

允许访问特定角色并限制所有角色的 S3 存储桶策略

来自分类Dev

在AWS S3存储桶上上传失败的通知

来自分类Dev

哪个版本的s3cmd支持IAM角色?

来自分类Dev

使用IAM配置文件创建实例后无法访问s3存储桶

来自分类Dev

无法使用Boto3添加Lambda的S3通知

来自分类Dev

[Node JS AWS开发工具包]假设IAM角色,上载到S3时缺少凭据

来自分类Dev

演示如何使用boto3从S3存储桶中删除一个或多个特定密钥

来自分类Dev

使用Python boto3在大量存储桶上进行S3默认服务器端加密

来自分类Dev

Lambda在使用Boto3访问另一个帐户中的S3存储桶时超时

Related 相关文章

  1. 1

    使用IAM角色从脚本访问S3存储桶

  2. 2

    通过 amazon s3 sdk for javascript 访问 IAM 角色 S3 存储桶图像

  3. 3

    使用AWS IAM用户角色凭证的AWS S3存储桶API调用:

  4. 4

    如何使用boto3为IAM用户授予S3存储桶的完全权限?

  5. 5

    使用Boto3和IAM角色在Python中进行RDS连接

  6. 6

    尝试使用Boto3创建IAM角色时,总是出现MalformedPolicyDocument错误

  7. 7

    适用于角色的AWS S3 IAM策略,用于根据实例标签或实例ID限制少数实例连接到S3存储桶

  8. 8

    创建用于频谱S3访问的IAM角色的模板

  9. 9

    具有IAM角色的s3的对象级别限制

  10. 10

    在AWS S3中为权限指定IAM角色

  11. 11

    我应该为S3存储桶分配什么权限,以使其只能使用IAM角色从EC2实例进行访问?

  12. 12

    允许多个用户使用 IAM 角色访问私有 S3 文件夹

  13. 13

    使用具有 IAM 角色的 COPY 命令时拒绝访问 S3

  14. 14

    Boto3获取S3存储桶的内容

  15. 15

    使用boto3从S3存储桶读取文件内容

  16. 16

    使用Boto3将文件上传到带前缀的S3存储桶

  17. 17

    如何使用lambda函数和boto3从s3存储桶读取csv文件?

  18. 18

    使用boto3从S3存储桶下载文件时出现ValueError吗?

  19. 19

    使用 boto3 清空 s3 存储桶的最快方法是什么?

  20. 20

    使用Boto3以编程方式获取IAM用户的UserID

  21. 21

    允许访问特定角色并限制所有角色的 S3 存储桶策略

  22. 22

    在AWS S3存储桶上上传失败的通知

  23. 23

    哪个版本的s3cmd支持IAM角色?

  24. 24

    使用IAM配置文件创建实例后无法访问s3存储桶

  25. 25

    无法使用Boto3添加Lambda的S3通知

  26. 26

    [Node JS AWS开发工具包]假设IAM角色,上载到S3时缺少凭据

  27. 27

    演示如何使用boto3从S3存储桶中删除一个或多个特定密钥

  28. 28

    使用Python boto3在大量存储桶上进行S3默认服务器端加密

  29. 29

    Lambda在使用Boto3访问另一个帐户中的S3存储桶时超时

热门标签

归档