我使用的是CDK版本1.139.0,之前在我的部署中添加了一个waf。现在,我尝试为该waf添加日志配置。因此,我在cdk中添加了下面的代码并生成了模板。
new CfnLoggingConfiguration(scope,'WafLoggingConfig',{
resourceArn:webAcl.attrArn, // here I attached the wabacl using wabacl code reference.
logDestinationConfigs:[arn:aws:logs:${region}:${accountId}:log-group:aws-waf-logs-for-app],
})
注意:我已经为waf创建了日志组,名为aws(它具有预期的waf前缀需求)。
在合成/生成模板之后,我执行了cdk部署来更新云形成。
我已在“云表格”中附上的政策清单:
'wafv2:AssociateWebACL',
'wafv2:CreateWebACL',
'wafv2:DeleteWebACL',
'wafv2:DescribeManagedRuleGroup',
'wafv2:DisassociateWebACL',
'wafv2:Get*',
'wafv2:List*',
'wafv2:UpdateWebACL',
'wafv2:GetLoggingConfiguration',
'wafv2:ListLoggingConfiguration',
'wafv2:PutLoggingConfiguration',
'wafv2:DeleteLoggingConfiguration',
'cloudwatch:DeleteAlarms',
'cloudwatch:Describe*',
'cloudwatch:DisableAlarmActions',
'cloudwatch:EnableAlarmActions',
'cloudwatch:GetDashboard',
'cloudwatch:ListDashboards',
'cloudwatch:PutDashboard',
'cloudwatch:DeleteDashboards',
'cloudwatch:GetMetricData',
'cloudwatch:GetMetricStatistics',
'cloudwatch:ListMetrics',
'cloudwatch:PutMetricAlarm',
'cloudwatch:PutMetricData',
以及其他资源的政策。
但是,我的云生成无法为waf部署日志配置,并在Cloudformation页面中显示下面的错误。
资源处理程序返回消息:“您没有执行此操作所需的权限。(服务: Wafv2,状态代码: 400,请求ID:{12474621823782738},扩展请求ID: null)”(RequestToken:{9732489732849732878973},HandlerErrorCode: GeneralServiceException)
注意:在上面的错误中,我修改了请求ID:和RequestToken的值。我相信我已经给出了云形成所需的策略。
它是cdk中的一个bug吗?cdk没有创建任何必要的角色吗?有人能帮我吗?
发布于 2022-01-24 19:17:17
您的策略中允许wafv2:PutLoggingConfiguration操作,但这本身并不足以允许操作。这是因为wafv2:PutLoggingConfiguration将iam:CreateServiceLinkedRole作为依赖操作。
参考文献
“从属操作”列包含除操作本身的权限外,还必须具有的任何其他权限,以便成功调用操作。如果操作访问多个资源,这是必需的。
。
https://stackoverflow.com/questions/70829639
复制相似问题