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

通过复制规则进行跨帐户S3桶复制

上官迪
2023-03-14

我有两个桶:

  • “source-bucket”(在AWS帐户88888888中)。
  • “目的地-桶”(在AWS帐户99999999中)

两个桶都启用了版本控制,并且位于同一区域(eu-west-1)。

在源桶中,我创建了一个具有以下设置的复制规则:

我选择了自动角色创建,它使用以下策略创建了一个角色:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:ListBucket",
                "s3:GetReplicationConfiguration",
                "s3:GetObjectVersionForReplication",
                "s3:GetObjectVersionAcl",
                "s3:GetObjectVersionTagging",
                "s3:GetObjectRetention",
                "s3:GetObjectLegalHold"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::source-bucket",
                "arn:aws:s3:::source-bucket/*",
                "arn:aws:s3:::destination-bucket",
                "arn:aws:s3:::destination-bucket/*"
            ]
        },
        {
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete",
                "s3:ReplicateTags",
                "s3:ObjectOwnerOverrideToBucketOwner"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::source-bucket/*",
                "arn:aws:s3:::destination-bucket/*"
            ]
        }
    ]
}

根据这里找到的文档https://docs.aws.amazon.com/amazons3/latest/userguide/replication-walkthrough-2.html" target="_blank">html,我在“destination-bucket”中添加了一个bucket策略,如下所示:

{
    "Version": "2012-10-17",
    "Id": "",
    "Statement": [
        {
            "Sid": "Set permissions for objects",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::88888888:role/service-role/auto-created-role"
            },
            "Action": [
                "s3:ReplicateObject",
                "s3:ReplicateDelete"
            ],
            "Resource": "arn:aws:s3:::destination-bucket/*"
        },
        {
            "Sid": "Set permissions on bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::88888888:role/service-role/auto-created-role"
            },
            "Action": [
                "s3:GetBucketVersioning",
                "s3:PutBucketVersioning"
            ],
            "Resource": "arn:aws:s3:::destination-bucket"
        }
    ]
}

但是,当我将一个文件添加到源桶中时,似乎什么也没有发生。有人知道这里会出什么问题吗?

共有1个答案

龚永新
2023-03-14

看看这是否有帮助。

默认情况下,Amazon S3不会使用AWS密钥管理服务(AWS KMS)客户主密钥(CMKs)的服务器端加密复制静止存储的对象。要复制加密的对象,需要修改bucket复制配置,以告诉Amazon S3复制这些对象。

https://docs.aws.amazon.com/amazons3/latest/userguide/replication-walkthrough-4.html

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

  • 有没有一种方法可以将文件列表从一个S3存储桶复制到另一个存储桶?两个S3存储桶都在同一个AWS帐户中。我可以使用aws cli命令一次复制一个文件: 然而,我有1000份文件要复制。我不想复制源存储桶中的所有文件,因此无法使用sync命令。有没有一种方法可以用需要复制的文件名列表来调用一个文件,从而自动化这个过程?

  • 我正在尝试使用boto3将文件从一个S3存储桶传输到我的S3存储桶。我使用sts服务来承担访问供应商s3 bucket的角色。我能够连接到供应商bucket并获得bucket的列表。复制到我的存储桶时,我遇到

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

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

  • 试图通过存储传输将数据从AWS S3拉到谷歌云存储。 我有S3桶访问密钥ID和秘密访问密钥,并能够从gsutil(从笔记本电脑)复制,但它从存储传输抛出权限错误。 不明白它是如何与gsutil工作,但不与存储传输。 错误消息: 有没有办法在计算引擎中使用gsutil将文件从S3复制到GCS? 谢谢,