amazon-web-services - 用于跨账户访问特定 AWS 账户中的 S3 存储桶的 IAM 角色策略

标签 amazon-web-services amazon-s3 amazon-iam

仅当给定的 S3 存储桶存在于 AWS AccountB 中时,才允许从 AccountA 中的 IAM 角色访问这些存储桶(使用帐号)。

这是我在 AccountA 中的角色策略,当前具有以下权限。如何将其更新为仅访问 AccountB 中的 S3 存储桶。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": [
                "s3:Get*",
                "s3:List*",
                "s3:Put*"
            ],
            "Resource": [
                "arn:aws:s3:::kul-my-bucket/my-dir/*"
            ]
        },
        {
            "Sid": "ListBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::kul-my-bucket"
            ]
        }
    ]
}

想知道这是否可能,或者我应该尝试不同的方法吗?

通过在政策中提供条件,是否可以为我的案例提供类似的情况:

"Condition": {
                "StringLike": {
                    "aws:accountId": [
                        "111111111111"
                    ]
                }
            }

我需要这个,因为在 AccountB 中的 S3 存储桶上,它允许 root 访问 AccountA。因此,我想对 AccountA 中的角色策略进行限制。

最佳答案

我认为无法根据 AWS 帐号授予/拒绝对 Amazon S3 存储桶的访问权限。这是因为 Amazon S3 ARN 排除账户 ID,而是使用唯一的存储桶名称。

您需要按名称专门向每个存储桶授予“允许”访问权限。

我以前见过这种情况,其中要求授予 S3 权限,使其只能访问其他账户中的存储桶,而不是拥有 IAM 用户本身的账户。如果不授予访问“同一帐户”S3 存储桶的权限,我们无法确定执行此操作的方法。

关于amazon-web-services - 用于跨账户访问特定 AWS 账户中的 S3 存储桶的 IAM 角色策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65820203/

相关文章:

amazon-web-services - 直接从表单上传到 S3

amazon-web-services - 无法停用或删除 aws iam mfa 设备

javascript - 如何为属于多个用户池组的 AWS Cognito 用户切换 IAM 角色?

amazon-iam - 策略 : MalformedPolicyDocument 中的主体无效

amazon-web-services - AWS - 在自定义总线上看不到事件桥规则

java - EKS 上的 Flink 集群

amazon-s3 - 无法从 S3 加载数据

java - AWS Java 开发工具包 : Specifying KMS Key Id For EBS

python - 获取AWS S3中所有存储桶的名称和数量

amazon-s3 - Amazon S3 与 Cloudfront 托管 mp3 和图像?