当运行 checkov 进行 Terraform 资源扫描时,失败了
Check: CKV_AWS_111: "Ensure IAM policies does not allow write access without constraints"
FAILED for resource: aws_iam_policy_document.foo
File: /data.tf:7-18
data "aws_iam_policy_document" "foo" {
statement {
effect = "Allow"
actions = [
"cloudwatch:Describe*",
"cloudwatch:Get*",
"cloudwatch:List*",
"sns:Subscribe",
]
resources = ["*"]
}
}
从官方文档中,找到其introduction page .
页面上有一个Fix - Buildtime
,但是如何引用它来用于我的
案例?
从其
Resource
Exposure
在页面上,
我在“资源暴露”操作
列表中没有找到任何名称为cloudwatch
或sns
,为什么失败?
如果不添加# checkov:skip=CKV_AWS_111: XXXX
就修复了,如何调整
数据
block ?
最佳答案
您不应该对资源使用通配符,现在它已对所有资源广泛开放。
data "aws_iam_policy_document" "foo" {
statement {
effect = "Allow"
actions = [
"cloudwatch:Describe*",
"cloudwatch:Get*",
"cloudwatch:List*",
"sns:Subscribe",
]
resources = ["resource-arn"]
}
}
如果将资源的通配符更改为资源的 arns 列表,它将使用此策略,则 checkov 将不再显示此错误。
关于amazon-web-services - 如何通过其规则修复 checkov 失败的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67428658/