[英]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.