amazon-web-services - 允许 AWS Redshift Cluster DB 用户组担任角色
问题描述
我如何允许 Redshift dbgroup 允许访问其他 AWS 资源,而不是允许单个 dbuser 用户?
说明:
目前,我们的角色允许 Redshift Spectrum 查询 S3 存储桶中的数据。此外,我们有一个 dbuser 说 alice,alice 也是一个 dbgroup 的一部分,比如 foobar。为了允许 alice 查询数据,我们角色中定义的信任关系看起来像:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "redshift.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
"arn:aws:redshift:us-XXXX-X:XXXXXXXXXXXX:dbuser:cluster-1a/alice"
]
}
}
}
一切正常,因为我们不断向上面显示的条件添加更多用户。例如:
"sts:ExternalId": [
"arn:aws:redshift:us-XXXX-X:XXXXXXXXXXXX:dbuser:cluster-1a/alice",
"arn:aws:redshift:us-XXXX-X:XXXXXXXXXXXX:dbuser:cluster-1a/bob"
]
由于 alice 和 bob 都是名为 foobar 的 dbgroup 的一部分,我如何允许 foobar 组承担角色而不是允许单个用户。
我想要类似的东西;
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "redshift.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
"arn:aws:redshift:us-XXXX-X:XXXXXXXXXXXX:dbgroup:cluster-1a/foobar"
]
}
}
}
PS dbuser:集群数据库用户,dbgroup:集群数据库用户组
解决方案
推荐阅读
- android - 在由 Room 库创建的 SQLite 数据库所在的 Android 设备上
- c# - 在添加一些为空的新字段时,无法将对象的错误从 DBNull 转换为其他类型?
- angular - 路由更改时组件之间的 BehaviorSubject
- node.js - 从多个集合中填充 Mongoose 文档
- c# - 如果可能,Task.WhenAll 会同时执行任务吗?
- android - 在 Android Oreo 中禁用滑动删除通知
- ios - JavaFX WebView 进度总是从 0.0 到 1.0。(无中间值)
- android - Android:关闭系统生成的运行时用户权限对话框
- java - 当前余额的双倍显示在我的简单 Web 项目中
- php - 如何回显增量计数器的总数?