小编DaD*_*eem的帖子

AWS 跨账户 SNS 发布

我们有两个账户 111111111111 和 222222222222。

要求 - 账户 111111111111 将每天创建 RDS 快照。拍摄快照后,我们希望账户 111111111111 发布到账户 222222222222 中创建的 SNS 主题。账户 222222222222 收到通知后,它会运行 Lambda 函数。

我已将以下策略附加到帐户 222222222222 中创建的主题

     "Sid":"RestoreRDSEng_topic_publish",
     "Effect":"Allow",
     "Principal":{
        "AWS":"111111111111"
     },
     "Action":"sns:Publish",
     "Resource":"arn:aws:sns:us-east-1:222222222222:RestoreRDSEng",
     "Condition":{
        "StringEquals":{
           "AWS:SourceAccount":"222222222222"
        },

     }
  } 
Run Code Online (Sandbox Code Playgroud)

当帐户 111111111111 尝试发布到 222222222222 时,我收到以下错误

*“message”:“AuthorizationError:用户:arn:aws:sts ::************假设角色/tf-rds_eventhandler/tf-rds_eventhandler无权执行:SNS:发布于资源:arn:aws:sns:us-east-1:xxxxxxxxxxxx:RestoreRDSEng\n\t状态代码:403,请求 ID:098f4647-c9ad-51fe-9bc3-17b45deef60e"*

问题:

  1. 这种做法有什么问题吗?

  2. 我是否应该在帐户 222222222222 中创建一个具有对 111111111111 的可信访问权限的角色?

  3. 任何其他建议将不胜感激。

amazon-web-services aws-access-policy

7
推荐指数
1
解决办法
1万
查看次数

Redshift 撤销权限不起作用

我有一个带有四个架构(Schema1、Schema2、Schema3 和 Schema 4)的 Amazon Redshift 集群。

User1在这个集群中创建了一个用户。我希望此用户对Schema1. 目前,该用户可以访问(选择、插入、更新、删除)所有模式中的所有表。

我尝试了 Redshift 手册中的所有命令,但看起来没有任何效果。

例子:

REVOKE ALL on schema schema1 from User1
REVOKE ALL on schema schema2 from User1
REVOKE ALL on schema schema3 from User1
REVOKE ALL on schema schema4 from User1
Run Code Online (Sandbox Code Playgroud)

我还尝试撤销个人权限(插入、更新、删除)。

我还尝试从单个表中撤销权限(插入、更新、删除)

尝试了手册中的所有组合。我正在使用 SQL Workbench,所有语句都成功执行,没有任何语法错误。

想不通。任何帮助表示赞赏。

PS 我在角色和权限方面有 15 年的数据库经验。

amazon-web-services amazon-redshift

5
推荐指数
1
解决办法
4790
查看次数