【发布时间】:2018-07-02 19:42:29
【问题描述】:
我想以编程方式列出我的 RDS 数据库实例和集群快照,因此我已将以下 IAM 政策直接附加到我的一位用户:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ReadProdSnapshotsAndInstances",
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"rds:DescribeDBClusterSnapshots"
],
"Resource": "*"
}
]
}
但是当我以该用户身份执行以下操作时(使用 AWS Node.js 开发工具包)...
rds.describeDBInstances({}, (error, data) => {
...
});
...我收到以下错误:
AccessDenied: User: arn:aws:iam::<accountId>:user/<userName> is not authorized to perform: rds:DescribeDBInstances
知道我做错了什么吗?这看起来应该很简单。
【问题讨论】:
-
是否有任何其他策略附加到该用户,明确拒绝 rds 操作?
-
不,没有附加其他政策。如果我附加内置的
AmazonRDSFullAccess策略,我的代码将按预期工作。 -
Action 为 "rds:Describe*" 是否有效?
-
您如何向 AWS 进行身份验证?我在使用 Cognito 时遇到了同样的问题,发现默认情况下 Cognito 增强身份验证不允许访问 RDS,您必须使用基本身份验证。我在这里发布了我的解决方案:stackoverflow.com/questions/67761849/…
标签: amazon-web-services aws-sdk rds