Amazon web services 从Redshift卸载到箱子的S3铲斗

Amazon web services 从Redshift卸载到箱子的S3铲斗,amazon-web-services,amazon-s3,amazon-redshift,Amazon Web Services,Amazon S3,Amazon Redshift,我试图将数据从一个框中的红移集群卸载到另一个框中的S3存储桶。 我已经设法发送了文件。 然而, 由于bucket所有者不是我发送的文件的所有者,因此他无法访问该文件。 由于这是从Redshift直接卸载,我认为我不能指定允许bucket所有者拥有正确权限的条件 甚至可以实现(不必使用相同的帐户从Redshift卸载)吗 如果是的话,怎么做 谢谢 听起来你的情况是: 您已经使用UNLOAD命令将数据从Amazon红移导出到您拥有的Amazon S3存储桶中 您希望将文件访问权限授予属于其他AWS

我试图将数据从一个框中的红移集群卸载到另一个框中的S3存储桶。 我已经设法发送了文件。 然而, 由于bucket所有者不是我发送的文件的所有者,因此他无法访问该文件。 由于这是从Redshift直接卸载,我认为我不能指定允许bucket所有者拥有正确权限的条件

甚至可以实现(不必使用相同的帐户从Redshift卸载)吗 如果是的话,怎么做


谢谢

听起来你的情况是:

  • 您已经使用
    UNLOAD
    命令将数据从Amazon红移导出到您拥有的Amazon S3存储桶中
  • 您希望将文件访问权限授予属于其他AWS帐户的AWS用户
可以通过以下几种方式授予访问Amazon S3中对象的权限:

  • 通过手动设置对文件的权限,对对象本身
  • 在IAM(身份和访问管理)中,通过将策略附加到授予访问存储桶权限的特定用户,但这仅适用于同一AWS帐户中的用户
  • 通过定义允许每个人(公共)或特定AWS用户(包括不同帐户中的用户)访问Bucket内容的Bucket策略,用户需要通过提供凭据来访问内容,例如使用
    AWS s3 cp
    命令
桶策略选项似乎最适合您的情况。要启用它,请在bucket上创建一个策略,该策略授予对将放置文件的特定目录的访问权,例如:

{
    "Id": "Policy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Sid1",
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        },
        {
            "Sid": "Sid2",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET/PATH/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        }
    ]
}

策略中的
ARN
指您授予访问权限的人的帐户ID和用户名。然后,他们可以使用AWS CLI列出存储桶的内容并下载内容。

听起来您的情况是:

  • 您已经使用
    UNLOAD
    命令将数据从Amazon红移导出到您拥有的Amazon S3存储桶中
  • 您希望将文件访问权限授予属于其他AWS帐户的AWS用户
可以通过以下几种方式授予访问Amazon S3中对象的权限:

  • 通过手动设置对文件的权限,对对象本身
  • 在IAM(身份和访问管理)中,通过将策略附加到授予访问存储桶权限的特定用户,但这仅适用于同一AWS帐户中的用户
  • 通过定义允许每个人(公共)或特定AWS用户(包括不同帐户中的用户)访问Bucket内容的Bucket策略,用户需要通过提供凭据来访问内容,例如使用
    AWS s3 cp
    命令
桶策略选项似乎最适合您的情况。要启用它,请在bucket上创建一个策略,该策略授予对将放置文件的特定目录的访问权,例如:

{
    "Id": "Policy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Sid1",
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        },
        {
            "Sid": "Sid2",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET/PATH/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        }
    ]
}

策略中的
ARN
指您授予访问权限的人的帐户ID和用户名。然后,他们可以使用AWS CLI列出存储桶的内容并下载内容。

听起来您的情况是:

  • 您已经使用
    UNLOAD
    命令将数据从Amazon红移导出到您拥有的Amazon S3存储桶中
  • 您希望将文件访问权限授予属于其他AWS帐户的AWS用户
可以通过以下几种方式授予访问Amazon S3中对象的权限:

  • 通过手动设置对文件的权限,对对象本身
  • 在IAM(身份和访问管理)中,通过将策略附加到授予访问存储桶权限的特定用户,但这仅适用于同一AWS帐户中的用户
  • 通过定义允许每个人(公共)或特定AWS用户(包括不同帐户中的用户)访问Bucket内容的Bucket策略,用户需要通过提供凭据来访问内容,例如使用
    AWS s3 cp
    命令
桶策略选项似乎最适合您的情况。要启用它,请在bucket上创建一个策略,该策略授予对将放置文件的特定目录的访问权,例如:

{
    "Id": "Policy",
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Sid1",
            "Action": [
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        },
        {
            "Sid": "Sid2",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::MY-BUCKET/PATH/*",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::123456789012:user/username"
                ]
            }
        }
    ]
}
策略中的
ARN
指您授予访问权限的人的帐户ID和用户名。然后,他们可以使用AWS CLI列出存储桶的内容并下载内容。

(尝试2…)

好吧,看来你的情况是:

  • 您正在从Amazon Redshift中将
    卸载到属于不同AWS帐户的Amazon S3存储桶中
  • 不同AWS帐户中的用户希望访问这些文件,但表示无法访问
AmazonS3中没有“文件所有者”的概念。取而代之的是:

  • 与Amazon S3中每个对象关联的权限
  • 应用于特定存储桶的存储桶策略
  • 可应用于用户、组和角色的IAM策略
只要这些权限中至少有一个授予访问权限,并且没有一个明确拒绝访问,那么用户就可以访问这些文件

如果用户报告无法查看文件,请确保已通过上述方法之一授予
ListBucket
GetObject
权限。

(尝试2…)

好吧,看来你的情况是:

  • 您正在从Amazon Redshift中将
    卸载到属于不同AWS帐户的Amazon S3存储桶中
  • 不同AWS帐户中的用户希望访问这些文件,但表示无法访问这些文件