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

将数据从一个AWS帐户中的S3 bucket复制到其他AWS帐户中的S3 bucket

慕容星晖
2023-03-14

我正在尝试将S3 bucket对象从一个AWS复制到另一个AWS帐户。我在这里遵循了这个链接,它与一个帐户A一起工作,但当我与另一个帐户B一起使用时,会出现拒绝访问错误,这可能是什么原因?是不是跟一些防火墙或者安全问题有关,连源帐户B桶都公开了。这是应用于源桶B的策略

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "DelegateS3Access",

      "Effect": "Allow",

      "Principal": {

        "AWS": "arn:aws:iam::12345678910:user/abc"

      },

      "Action": [

        "s3:ListBucket",

        "s3:GetObject"

      ],

      "Resource": [

        "arn:aws:s3:::sourceBucketB/*",

        "arn:aws:s3:::sourceBucketB"

      ]

    }

  ]

}

这是应用于目标帐户的策略

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::sourcebucket",
                "arn:aws:s3:::sourcebucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::destinationbucket",
                "arn:aws:s3:::destinationbucket/*"
            ]
        }
    ] }

我正在使用以下命令从bucket B复制到目标帐户(使用目标帐户配置文件)

共有1个答案

高德水
2023-03-14

此文档包含您所需的确切策略和必要步骤。

根据该文档,策略应该如下所示:

{
  "Version": "2012-10-17",
  "Statement": [
     {
        "Sid": "Example permissions",
        "Effect": "Allow",
        "Principal": {
           "AWS": "arn:aws:iam::AccountB-ID:root"
        },
        "Action": [
           "s3:GetBucketLocation",
           "s3:ListBucket"
        ],
        "Resource": [
           "arn:aws:s3:::sourcebucket"
        ]
     }
  ]
}
 类似资料:
  • 我在AWS云服务中设置了一个项目。在那里我使用了EC2实例、AMI、弹性IP、互联网门路、NACL、路由表、安全组、自定义VPC、私有和公共子网、弹性负载平衡、自动伸缩、启动配置、KMS-key、Lambda、RDS Aurora实例、S3桶、简单电子邮件服务、简单队列服务、简单通知服务、云观察日志。现在我的客户要求将所有服务从现有的AWS帐户迁移到新的AWS帐户。

  • 是否可以将文件从源AWS S3 bucket发送/同步到位于不同位置的不同AWS帐户上的目标S3 bucket? 我发现了以下内容:https://aws.amazon.com/premiumsupport/knowled-center/copy-s3-objects-account/ 但是如果我理解正确的话,这就是如何从目标帐户同步文件的方法。 有没有别的方法可以做呢?从源帐户访问目标桶(使用源

  • 我有2个AWS帐户。我试图复制文件从帐户1到帐户2在桶2在美国西部2地区。我有所有必要的IAM政策,相同的凭据适用于两个帐户。我使用python boto3库。 如图所示,复制函数在指向目标帐户2/us-west-2的客户端对象上执行。它是如何获取帐户1/us-east1中的源文件的?我应该提供作为复制函数的输入吗?

  • 当前设置:python应用程序在AWS EKS集群中作为Docker容器运行。AWS密钥在kubernetes集群中作为机密提供,以便python代码可以读取、初始化boto3会话并使用S3 bucket。 我想如何更改它:假设Docker容器在AWS EKS集群中运行的serviceaccount角色,然后使用此凭据初始化boto3会话并使用S3 bucket。我不想为每个服务提供AWS密钥,因

  • 使用AWS CLI时,它会引用位于~/.AWS目录中的凭据和配置文件。您可以使用--profile标志来指示需要哪个帐户。例如: 等 但是我对python 3和boto 3的脚本是新手,我想在那里做同样的事情。如何使用python在AWS帐户之间切换?

  • 我有一个aws组织,有几个S3桶和成员帐户。我在其中一个S3 bucket中添加了bucket策略,允许根据aws在下面URL中提供的文档从成员帐户访问它。 但是在登录了特定的会员账号之后,我仍然无法在那里看到S3的bucket。所以请告诉我这里出了什么问题。