我的公司有 2 个 AWS 账户。首先(我们称之为游乐场),我拥有完全的管理权限。在第二个(我们称之为生产)我有有限的 IAM 权限
我在两个账户上都启用了 AWS Config(使用附录中的 terraform 文件)。
我最初怀疑这可能是 IAM 角色权限问题。
例如跑步
aws configservice list-discovered-resources --resource-type AWS::EC2::SecurityGroup --profile playground
给了我一个由 AWS Config 在操场上发现的安全组列表(几乎是我在控制台仪表板上看到的)。
另一方面:
aws configservice list-discovered-resources --resource-type AWS::EC2::SecurityGroup --profile production返回一个空列表(虽然有安全组。与其他类型相同的结果,例如AWS::EC2::Instance)
{
"resourceIdentifiers": []
}
Run Code Online (Sandbox Code Playgroud)
由于 IAM 角色确实有权进行描述 API 调用,因此我放弃了 IAM 权限怀疑。有用。只是它返回null。
可能是 AWS Config 角色AWSServiceRoleForConfig吗?它没有任何意义。由于这是一个服务相关角色,它默认应具有所有必需的权限。(不过会在帖子末尾附加政策)
现在奇怪的部分:
我的规则验证了一些资源(例如 EFS),但抛出此消息: The specified resource is either unknown or has not been discovered.
我仍然怀疑这可能是 IAM 问题,但我无法弄清楚发生了什么。我已经为此苦苦挣扎了好几天,我真的可以在这里使用一些帮助。
根据官方文档:
AWS …
amazon-web-services amazon-iam cloud-security terraform-provider-aws aws-config