小编roo*_*ous的帖子

使用python删除S3中对象的所有版本?

我有一个版本化的存储桶,并希望从存储桶中删除该对象(及其所有版本).但是,当我尝试从控制台删除对象时,S3只是添加删除标记但不执行硬删除.

是否可以使用特定键删除对象的所有版本(硬删除)?

s3resource = boto3.resource('s3')
bucket = s3resource.Bucket('my_bucket')
obj = bucket.Object('my_object_key')

# I would like to delete all versions for the object like so:
obj.delete_all_versions()

# or delete all versions for all objects like so:
bucket.objects.delete_all_versions()
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 amazon-web-services boto3

6
推荐指数
6
解决办法
5455
查看次数

允许用户池中的 Cognito 用户访问 S3 存储桶的存储桶策略

我正在尝试向我的存储桶添加存储桶策略,因为我的存储桶位于根 aws 账户中,并且我想限制根账户下的其他用户、角色等访问我的存储桶,但我的用户中的特定 Cognito 用户除外水池。

我不想也使用身份池——我只想将 Cognito 用户称为我的存储桶策略中的主体。有没有办法在不使用身份池的情况下做到这一点?我找不到任何执行此操作的示例策略。

amazon-s3 amazon-web-services amazon-iam amazon-cognito

5
推荐指数
1
解决办法
1588
查看次数

Lambda 函数所承担的角色的 ARN 是多少?

我试图在我的存储桶策略中使用 NotPrincipal 元素来明确拒绝对我的 s3 存储桶的访问,同时将访问该存储桶的特定 lambda 列入白名单。我在 NotPrincipal 元素中为 lambda 的角色指定了角色 ARN 并承担了角色 ARN:

"arn:aws:iam::{Account ID}:role/service-role/{Lambda 角色名称}",

“arn:aws:sts::{Account ID}:assumed-role/{Lambda 角色名称}/{角色会话名称}”

本文档解释了假定角色 ARN 的结构:https ://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids

我似乎无法让假定的角色 ARN 正确。存储桶策略有效,但似乎我可以为角色会话名称(假定角色 ARN 的最后一部分)提供任何内容,并且 ARN 被认为是有效的。当 Lambda 或其他服务承担服务角色时,AWS 将此角色会话名称设置为什么?是否可以列出角色的活动会话或列出假定的角色 ARN?我目前使用 Lambda 函数名称作为角色会话名称,但这不起作用(Lambda 仍然无法访问存储桶)。

由于我无法在 NotPrincipal 元素中使用通配符,因此一旦 Lambda 承担角色,我需要完整的承担角色 ARN。

更新:

我尝试使用两个条件来拒绝 ARN 与 Lambda 角色或代入角色的 ARN 不匹配的所有请求。Lambda 角色仍然被拒绝使用 IAM 策略模拟器写入 S3。这是政策:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "WhitelistRegistryAPILambdaRole",
        "Effect": "Deny",
        "Principal": "*",
        "Action": [
            "s3:PutObject",
            "s3:DeleteObject",
            "s3:DeleteObjectVersion",
            "s3:GetObjectVersion",
            "s3:GetObject"
        ],
        "Resource": [
            "arn:aws:s3:::{bucket …
Run Code Online (Sandbox Code Playgroud)

security amazon-s3 amazon-web-services amazon-iam

4
推荐指数
1
解决办法
5820
查看次数