使用 IAM 角色授权 COPY、UNLOAD、CREATE EXTERNAL FUNCTION 和 CREATE EXTERNAL SCHEMA 操作
您可使用 COPY 命令将数据加载(或导入)到 Amazon Redshift,使用 UNLOAD 命令从 Amazon Redshift 卸载(或导出)数据。您可以使用 CREATE EXTERNAL FUNCTION 命令创建用户定义的函数,这些函数从 Amazon Lambda 调用函数。
在使用 Amazon Redshift Spectrum 时,您要使用 CREATE EXTERNAL SCHEMA 命令来指定包含您的数据的 Simple Storage Service(Amazon S3)存储桶的位置。当您运行 COPY、UNLOAD 或 CREATE EXTERNAL SCHEMA 命令时,会提供安全凭证。这些凭证授权您的 Amazon Redshift 集群在目标目的地 [如 Simple Storage Service(Amazon S3)存储桶] 中读取或写入数据。
运行 CREATE EXTERNAL FUNCTION 时,您可以使用 IAM 角色参数提供安全凭证。这些凭证授权您的 Amazon Redshift 集群从 Amazon Lambda 调用 Lambda 函数。提供安全凭证的首选方法是指定一个 Amazon Identity and Access Management (IAM) 角色。对于 COPY 和 UNLOAD,您可以提供临时凭证。有关创建 IAM 角色的信息,请参阅授权 Amazon Redshift 代表您访问 Amazon 服务。
如果用户需要在 Amazon Web Services Management Console 之外与 Amazon 交互,则需要编程式访问权限。Amazon API 和 Amazon Command Line Interface 需要访问密钥。可能的话,创建临时凭证,该凭证由一个访问密钥 ID、一个秘密访问密钥和一个指示凭证何时到期的安全令牌组成。
要向用户授予编程式访问权限,请选择以下选项之一。
哪个用户需要编程式访问权限? | 目的 | 方式 |
---|---|---|
IAM | 使用短期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。 | 按照《IAM 用户指南》中将临时凭证用于 Amazon 资源中的说明进行操作。 |
IAM | (不推荐使用) 使用长期凭证签署对 Amazon CLI 或 Amazon API 的编程式请求(直接或使用 Amazon SDK)。 |
按照《IAM 用户指南》中管理 IAM 用户的访问密钥中的说明进行操作。 |
使用 IAM 角色的步骤如下所示:
-
创建要与您的 Amazon Redshift 集群结合使用的 IAM 角色。
-
将 IAM 角色与集群关联。
-
在调用 COPY、UNLOAD、CREATE EXTERNAL SCHEMA 或 CREATE EXTERNAL FUNCTION 命令时包含 IAM 角色的 ARN。