我最近通过手动将 KMS 密钥添加到控制塔 SNS 主题来“破坏”控制塔。当控制塔对堆栈进行检查或升级时,这并不能很好地工作。我不得不移除密钥并轻推一些堆栈以使其处于健康状态,但现在 SNS 主题未加密,Security Hub 不满意。
以前我为所有组织帐户(每个帐户一个)部署了一个用于 SNS 主题的 KMS 密钥,但我现在明白,如果我给它一个用于创建或修改登陆区的密钥,Control Tower 可以为我执行此操作。据我了解,此密钥必须是管理账户中的单个密钥,并且具有至少允许 Config 和 CloudTrail 服务的策略,但也可用于我的所有账户。
如果有人可以请为我提供一个外观模板,我将不胜感激。谢谢,麻烦您了。:)
我不能放手,所以我去测试并发现以下可能是一个很好的解决方案。
我学到的关键点:
该文档非常有用。我没有成功制定使用“aws:SourceArn”或“aws:SourceAccount”的策略,但我确实成功使用了“kms:EncryptionContext:context”。
这是我的政策,帐号已编辑:
我希望有人觉得这很有用。请注意,我怀疑您可以并且也许应该使用条件来限制最后一条语句。没有让我自己工作。
我能够通过上述答案的组合来实现这一点,并允许以下 AWS 服务角色使用密钥:
我不知道是否需要所有这些,我只是猜测。