Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 通过对任何人的复制操作使S3文件可用于红移的最佳实践_Amazon S3_Amazon Redshift - Fatal编程技术网

Amazon s3 通过对任何人的复制操作使S3文件可用于红移的最佳实践

Amazon s3 通过对任何人的复制操作使S3文件可用于红移的最佳实践,amazon-s3,amazon-redshift,Amazon S3,Amazon Redshift,我想发布一个教程,其中Redshift使用来自示例tsv文件S3的数据。理想情况下,我希望它是一个简单的复制粘贴操作,需要遵循一步一步的练习,类似于中的内容。问题在于第一个数据导入任务使用COPY命令,因为它只支持S3或基于EMR的加载 这似乎是一个简单的要求,但使用Redshift COPY(我可以让该文件在浏览器下载时不出现任何问题,但COPY需要凭据参数…)来真正做到这一点并不容易 可供选择的选项非常丰富: 我应该要求用户 他自己 我是否应该自己创建并发布IAM角色ARN?听起来很麻烦

我想发布一个教程,其中Redshift使用来自示例tsv文件S3的数据。理想情况下,我希望它是一个简单的复制粘贴操作,需要遵循一步一步的练习,类似于中的内容。问题在于第一个数据导入任务使用COPY命令,因为它只支持S3或基于EMR的加载

这似乎是一个简单的要求,但使用Redshift COPY(我可以让该文件在浏览器下载时不出现任何问题,但COPY需要凭据参数…)来真正做到这一点并不容易

可供选择的选项非常丰富:

  • 我应该要求用户 他自己
  • 我是否应该自己创建并发布IAM角色ARN?听起来很麻烦 免费(复制粘贴),但安全方面听起来不太好…?我是否需要限制S3权限以限制该角色仅访问该特定文件
  • 我应该尝试临时访问吗
你是对的:

  • 数据可以通过
    COPY
    命令从Amazon S3导入Amazon红移
  • COPY
    命令需要访问AmazonS3中存储的数据的权限。这可以通过以下方式授予:
    • 与IAM用户关联的凭据(访问密钥+密钥),或
    • IAM角色
您不能为用户创建角色并让他们使用,因为他们的Amazon Redshift群集将运行在与您的IAM角色不同的AWS帐户中。您可以授予信任访问权限,以便其他帐户可以使用该角色,但这并不一定是明智的做法

至于凭证,他们可以使用自己的凭证,也可以使用您提供的凭证。他们可以在IAM控制台中访问自己的访问密钥+密钥

如果您希望提供凭据供他们使用,您可以创建一个IAM用户,该用户只有权限访问他们需要的Amazon S3文件。发布AWS凭据通常是不明智的,因为它们可能会暴露一个安全漏洞,所以在这样做之前,您应该仔细考虑

在一天结束时,最好向他们展示正确的流程,让他们了解如何获得自己的证书。安全性在云计算中非常重要,因此除了亚马逊红移本身之外,您还将向他们传授良好的安全实践