amazon-web-services - Redshift GetClusterCredentials IAM 策略需要 DbName
问题描述
如何定义 IAM 策略以有效地要求 DbName?
我想要做的是只允许使用指定的、列入白名单的 DbName 调用 GetClusterCredentials。问题是 DbName 参数是可选的。我还指定了 DbUser 资源,以便我可以${redshift:DbUser}
在 IAM 策略条件中引用。
解决方案
GetClusterCredentials 支持的条件键之一是redshift:DbName
,可用于根据数据库名称限制 IAM 策略。例如,如果 DbName 未设置为“test-db”,则以下策略语句应拒绝该操作。
{
"Sid": "GetClusterCredsStatement",
"Effect": "Allow",
"Action": [
"redshift:GetClusterCredentials"
],
"Resource": [
"arn:aws:redshift:us-west-2:123456789012:dbname:examplecluster/*"
],
"Condition": {
"StringEquals": {
"redshift:DbName": "test-db"
}
}
}
推荐阅读
- r - Adding ggsn::scalebar() causes a plot to be miss-aligned in a multi-panel figure
- php - Laravel Eloquent ORM - 选择两个关系都不存在的所有模型时,生成的 SQL 和查询构建器结果不匹配
- python - How to put a health bar over the sprite in pygame
- sql - How to update a table while joining based on a condition?
- c++ - C++ 简单文件 I/O 问题
- ios - 图像不仅在 iOS 模拟器中显示
- javascript - when back if previous page is x go another page framework7/cordova
- c# - Unity 游戏不适合安卓屏幕
- javascript - React Component Re-Renders when updating input using React Hooks
- python - 这是 AES GCM 文件加密的好习惯吗?