带有 Redshift 的 AWS EventBridge 规则 - 未调用过程
AWS EventBridge Rule with Redshift - Procedure not being called
我创建了一个事件规则来使用临时凭证调用 redshift 存储过程。
从 Redshift 中我可以看到该角色已成功获取凭据以作为预期用户登录到集群和数据库..但我看不到任何调用存储过程的痕迹。
用户在正确的架构上授予使用权限,并在过程本身上执行。
STL_QUERY 或 STL_ERROR 中没有任何内容显示尝试呼叫。
在 CloudTrail 中查看,我可以看到带有 'Success' 的 'ExecuteStatment' 事件,但 requestparameters.sql 值给出为“OMITTED".
不确定接下来要看哪里才能找到问题?
我假设一旦连接通过身份验证,就不会再涉及任何与 AWS IAM 相关的内容。
想知道我是否错过了一些明显的东西,或者 eventbridge 的一个怪癖 conifg/functionalty?
事件规则目标
{
"Targets": [
{
"Id": "target_xxxxxxxxx",
"Arn": "arn:aws:redshift:us-east-1:xxxxxxxxxxxx:cluster:xxxxxxxxxx",
"RoleArn": "arn:aws:iam::xxxxxxxxxxx:role/xxxxxxxxx",
"RedshiftDataParameters": {
"Database": "xxxxxxxx",
"DbUser": "service_xxxxxxxxxx_scheduler",
"Sql": "CALL control.post_load_refresh();",
"StatementName": "myteststatement",
"WithEvent": false
}
}
]
}
STL_CONNECTION_LOG
username: IAM:service_xxxxxxxxxx_scheduler
event: authenticated
event: initiating session
event: set application_name
event: set application_name event: disconnecting session
数据库允许执行过程
GRANT USAGE ON SCHEMA control to "IAM:service_xxxxxxxxxx_scheduler";
GRANT EXECUTE on PROCEDURE control.post_load_refresh() TO "IAM:service_xxxxxxxxxx_scheduler";
用户错误。
我已向“IAM:”用户授予权限,因为这是连接和进行调用的内容。
但是,re-reading 文档,我看到“IAM:”用户从其 non-prefixed 等效名称继承权限。
因此,授予用户 service_xxxxxxxxxx_scheduler
不是到IAM:service_xxxxxxxxxx_scheduler。
我创建了一个事件规则来使用临时凭证调用 redshift 存储过程。
从 Redshift 中我可以看到该角色已成功获取凭据以作为预期用户登录到集群和数据库..但我看不到任何调用存储过程的痕迹。
用户在正确的架构上授予使用权限,并在过程本身上执行。 STL_QUERY 或 STL_ERROR 中没有任何内容显示尝试呼叫。
在 CloudTrail 中查看,我可以看到带有 'Success' 的 'ExecuteStatment' 事件,但 requestparameters.sql 值给出为“OMITTED".
不确定接下来要看哪里才能找到问题? 我假设一旦连接通过身份验证,就不会再涉及任何与 AWS IAM 相关的内容。
想知道我是否错过了一些明显的东西,或者 eventbridge 的一个怪癖 conifg/functionalty?
事件规则目标
{
"Targets": [
{
"Id": "target_xxxxxxxxx",
"Arn": "arn:aws:redshift:us-east-1:xxxxxxxxxxxx:cluster:xxxxxxxxxx",
"RoleArn": "arn:aws:iam::xxxxxxxxxxx:role/xxxxxxxxx",
"RedshiftDataParameters": {
"Database": "xxxxxxxx",
"DbUser": "service_xxxxxxxxxx_scheduler",
"Sql": "CALL control.post_load_refresh();",
"StatementName": "myteststatement",
"WithEvent": false
}
}
]
}
STL_CONNECTION_LOG
username: IAM:service_xxxxxxxxxx_scheduler
event: authenticated
event: initiating session
event: set application_name
event: set application_name event: disconnecting session
数据库允许执行过程
GRANT USAGE ON SCHEMA control to "IAM:service_xxxxxxxxxx_scheduler";
GRANT EXECUTE on PROCEDURE control.post_load_refresh() TO "IAM:service_xxxxxxxxxx_scheduler";
用户错误。 我已向“IAM:”用户授予权限,因为这是连接和进行调用的内容。
但是,re-reading 文档,我看到“IAM:”用户从其 non-prefixed 等效名称继承权限。
因此,授予用户 service_xxxxxxxxxx_scheduler 不是到IAM:service_xxxxxxxxxx_scheduler。