是否可以从另一个账户使用 IAM 角色访问 Redshift?如何?

Posted

技术标签:

【中文标题】是否可以从另一个账户使用 IAM 角色访问 Redshift?如何?【英文标题】:Is it possible to access Redshift with an IAM role from another account? how? 【发布时间】:2020-07-15 18:41:09 【问题描述】:

我们正在尝试使用通过 SAML 进行身份验证的 Redshift。

在我们的例子中,我们有很多 AWS 账户,Redshift 集群就在其中之一。我们需要通过角色从这些帐户访问托管集群的帐户。无需管理用户/密码。

我们实现的方式已经可以使用 IAM 角色登录,但我们仍然需要跨账户。

有谁知道这是否可行?

【问题讨论】:

【参考方案1】:

由于您已经使用 IAM 角色登录,因此流程如下:

账户 A 中的 Amazon Redshift 帐户 A 中的 IAM 角色 (Role-A) 具有: 通过 IAM 访问 Redshift 的权限(我认为这只是调用 GetClusterCredentials 的权限?) 允许角色由指定的其他帐户(或这些帐户中的特定角色)担任的信任策略 想要访问 Redshift 的其他帐户将: 致电AssumeRole() 担任Role-A 使用返回的临时凭据通过Role-A 访问 Redshift

因此,Redshift 只会看到 Account-A 请求登录。

【讨论】:

以上是关于是否可以从另一个账户使用 IAM 角色访问 Redshift?如何?的主要内容,如果未能解决你的问题,请参考以下文章

重命名 IAM 角色

是否可以通过 IAM 角色限制从 EMR (zeppelin) 访问 S3 数据?

IAM 权限策略是不是可以用于允许访问跨账户资源?

跨账户访问 DynamoDb 表 C#

在多账户 AWS 环境中,我将如何在 IAM 用户登录时强制他/她承担角色?

如何将 S3 存储桶锁定到特定用户和 IAM 角色