postgresql - 如何授予 lambda 权限以在 Aurora Postgresql 数据库中创建行?
问题描述
我有一个 lambda 并使用 IAM 身份验证连接到 RDS Aurora postgresql 11.8。连接部分有效,但我无法在表中插入一行。
我在数据库中创建了这个用户并使用这个用户连接到数据库。
CREATE USER mydbuser WITH LOGIN;
GRANT rds_iam TO mydbuser;
GRANT ALL ON SCHEMA "test" TO mydbuser;
我为此 lambda 添加了角色策略:
- Effect: Allow
Action:
- rds-db:connect
Resource: "arn:aws:rds-db:${self:provider.region}:${self:provider.accountId}:dbuser:*/*"
- Effect: Allow
Action:
- rds:*
Resource: "arn:aws:rds:${self:provider.region}:${self:provider.accountId}:*:*"
当我跑步时insert into
,我得到了以下错误。test
是数据库中的模式名称。我想知道如何授予 lambda 权限以在test
模式下的表中插入行。
{
"message": "permission denied for schema test",
"length": 97,
"name": "QueryFailedError",
"severity": "ERROR",
"code": "42501",
"position": "13",
"file": "aclchk.c",
"line": "3522",
"routine": "aclcheck_error",
"query": "INSERT INTO \"test\".\"Customers\"(\"customerUuid\", ...",
"parameters": [
...
]
}
解决方案
推荐阅读
- node.js - 如何修复 TypeError:无法使用 Nestjs cronjob 在 Axios 上读取未定义的属性“帖子”
- android - 像亚马逊这样的电子商务应用程序如何知道用户点击了哪个商品
- java - 从字符串文件中提取一个值并使用 Java 将其转换为 int
- laravel - 如何在 Laravel 中使用 PHPWord 在同一页面中下载 2 个文档
- javascript - 在输入更改时加载 twitter 配置文件
- c# - Virtual Assistant + Skills 场景中的 Bot 框架 SSO
- java - 如何使用 google people api 在 android 中获取其他联系人
- odoo - 如何将文件中的 many2one 字段添加为 data.xml 文件 odoo 12
- node.js - 如何在 Node.js Mongoose 中运行 mongo shell 命令?
- c# - C#:什么是类方法中的 None 关键字