繁体   English   中英

在不使用 aws 凭据的情况下连接 Redshift 和 Python(在 emr 上运行)

[英]Connect Redshift and Python without using aws credentials (running on emr)

嗨,我是 AWS 世界的新手,我需要帮助将 Python 连接到 Redshift 数据库。 如果我不使用任何第三方服务,我在 EMR 上运行它时如何在不提供凭据的情况下执行此操作

Amazon EMR 在 Amazon EC2 实例上运行。 这些实例被分配了一个 IAM 角色,当它们使用 AWS SDK 时,该角色授予实例上运行的软件的权限。

例如,当在 EMR 上运行的软件访问 S3 时,它通过EC2 实例元数据获取凭证,其中包括一组与分配给实例的 IAM 角色相关联的临时凭证。

您可以以类似方式调用Amazon Redshift Data API ,它将使用通过 IAM 角色提供的凭证。

您正在使用 Python,因此您可以使用 boto3 RedshiftDataAPIService — Boto3 文档使用 IAM 角色提供的权限查询 Amazon Redshift 集群。

您需要为 EMR 集群使用的 IAM 角色添加适当的权限。 请参阅: 为 AWS 服务和资源的 Amazon EMR 权限配置 IAM 服务角色 - Amazon EMR

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM