微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

跨帐户共享 aurora 无服务器数据库集群的最佳方式是什么?

如何解决跨帐户共享 aurora 无服务器数据库集群的最佳方式是什么?

我正在组织的主帐户中启动一个 aurora 无服务器数据库集群,并尝试从组织的许多子帐户之一访问它,但是我收到错误消息 Error: cluster arn:aws:rds:<region>:<mainaccount>:cluster:<clustername> does not belong to the calling account id <subaccount>。以前,当集群在子账户中启动时,我的连接工作正常,所以据我所知,这似乎是一个纯粹的 IAM 相关问题。

到目前为止我已经尝试过:

  • 使用 AWS RAM 控制台与组织中的所有帐户共享集群,这导致了相同的错误。进一步的研究表明,数据库集群的 RAM 似乎更多地用于提供克隆访问而不是查询访问。
  • 寻找方法向集群本身添加策略,使整个组织能够访问资源(似乎没有任何方法可以做到这一点?)

我正在考虑的另一件事我还没有尝试过,因为它感觉太重(而且可能太贵了?)而不是最好的做事方式:

  • 在主帐户中创建一个角色,授予所有组织帐户访问权限
  • 在子账号中我的db-access用户的权限中添加对角色的访问
  • 每次我去进行数据库调用时,都会进行 STS 调用获取具有数据库访问权限的主帐户中角色的临时凭据
  • 使用临时凭证访问数据 API

这似乎比我想要的要复杂,所以我想如果有人知道更好的方法,我会问——使用来自非服务器的数据 API 访问 aurora 无服务器集群的最佳方法是什么? - 在我的组织中拥有集群的帐户?

编辑: 我为访问数据库而执行的语句具有以下形式:

svc.ExecuteStatement(&rdsdataservice.ExecuteStatementInput{
    Schema:aws.String(schema),Database:aws.String(db),ResourceArn:aws.String(DatabaseARN),SecretArn:aws.String(SecretARN),sql: aws.String(`SELECT ... `),})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。