AWS WAF 的操作、资源和条件键 - 服务授权参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS WAF 的操作、资源和条件键

AWS WAF(服务前缀:waf)提供可在 IAM 权限策略中使用的以下特定于服务的资源、操作和条件上下文键。

参考:

AWS WAF 定义的操作

您可以在 IAM policy 语句的 Action 元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource 元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。

操作表的条件键列包括可以在策略语句的 Condition 元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。

注意

资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。

有关下表中各列的详细信息,请参阅操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
CreateByteMatchSet 授予创建 ByteMatchSet 的权限 Write

bytematchset*

CreateGeoMatchSet 授予创建 GeoMatchSet 的权限 Write

geomatchset*

CreateIPSet 授予创建 IPSet 的权限 Write

ipset*

CreateRateBasedRule 授予创建 RateBasedRule 的权限,以限制来自单个 IP 地址的请求量 Write

ratebasedrule*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateRegexMatchSet 授予创建 RegexMatchSet 的权限 Write

regexmatchset*

CreateRegexPatternSet 授予创建 RegexPatternSet 的权限 Write

regexpatternset*

CreateRule 授予创建规则以筛选 Web 请求的权限 Write

rule*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateRuleGroup 授予创建 RuleGroup 的权限,这是您可以在 WebACL 中使用的预定义规则的集合 Write

rulegroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSizeConstraintSet 授予创建 SizeConstraintSet 的权限 Write

sizeconstraintset*

CreateSqlInjectionMatchSet 授予创建 SqlInjectionMatchSet 的权限 Write

sqlinjectionmatchset*

CreateWebACL 授予创建 WebACL 的权限,其中包含筛选 Web 请求的规则 Permissions management

webacl*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateWebACLMigrationStack 授予在 S3 存储桶中创建 CloudFormation Web ACL 模板的权限,以便将 Web ACL 从 AWS WAF Classic 迁移到 AWS WAF v2 Write

webacl*

s3:PutObject

CreateXssMatchSet 授予创建 XssMatchSet 的权限,您可以使用该权限检测包含跨站点脚本攻击的请求 Write

xssmatchset*

DeleteByteMatchSet 授予删除 ByteMatchSet 的权限 Write

bytematchset*

DeleteGeoMatchSet 授予删除 GeoMatchSet 的权限 Write

geomatchset*

DeleteIPSet 授予删除 IPSet 的权限 Write

ipset*

DeleteLoggingConfiguration 授予从 Web ACL 中删除 LoggingConfiguration 的权限 Write

webacl*

DeletePermissionPolicy 授予从规则组中删除 IAM policy 的权限 Permissions management

rulegroup*

DeleteRateBasedRule 授予删除 RateBasedRule 的权限 Write

ratebasedrule*

DeleteRegexMatchSet 授予删除 RegexMatchSet 的权限 Write

regexmatchset*

DeleteRegexPatternSet 授予创建 RegexPatternSet 的权限 Write

regexpatternset*

DeleteRule 授予删除规则的权限 Write

rule*

DeleteRuleGroup 授予删除 RuleGroup 的权限 Write

rulegroup*

DeleteSizeConstraintSet 授予删除 SizeConstraintSet 的权限 Write

sizeconstraintset*

DeleteSqlInjectionMatchSet 授予删除 SqlInjectionMatchSet 的权限 Write

sqlinjectionmatchset*

DeleteWebACL 授予删除 WebACL 的权限 Permissions management

webacl*

DeleteXssMatchSet 授予删除 XssMatchSet 的权限 Write

xssmatchset*

GetByteMatchSet 授予检索 ByteMatchSet 的权限 Read

bytematchset*

GetChangeToken 授予检索要在创建、更新和删除请求中使用的更改令牌的权限 Read
GetChangeTokenStatus 授予检索更改令牌状态的权限 Read
GetGeoMatchSet 授予检索 GeoMatchSet 的权限 Read

geomatchset*

GetIPSet 授予检索 IPSet 的权限 Read

ipset*

GetLoggingConfiguration 授予检索 Web ACL 的 LoggingConfiguration 的权限 Read

webacl*

GetPermissionPolicy 授予检索规则组的 IAM policy 的权限 Read

rulegroup*

GetRateBasedRule 授予检索 RateBasedRule 的权限 Read

ratebasedrule*

GetRateBasedRuleManagedKeys 授予检索当前被 RateBasedRule 阻止的 IP 地址阵列的权限 Read

ratebasedrule*

GetRegexMatchSet 授予检索 RegexMatchSet 的权限 Read

regexmatchset*

GetRegexPatternSet 授予检索 RegexPatternSet 的权限 Read

regexpatternset*

GetRule 授予检索规则的权限 Read

rule*

GetRuleGroup 授予检索 RuleGroup 的权限 Read

rulegroup*

GetSampledRequests 授予检索有关 Web 请求示例集的详细信息的权限 Read

webacl

GetSizeConstraintSet 授予检索 SizeConstraintSet 的权限 Read

sizeconstraintset*

GetSqlInjectionMatchSet 授予检索 SqlInjectionMatchSet 的权限 Read

sqlinjectionmatchset*

GetWebACL 授予检索 WebACL 的权限 Read

webacl*

GetXssMatchSet 授予检索 XssMatchSet 的权限 Read

xssmatchset*

ListActivatedRulesInRuleGroup 授予检索 ActivatedRule 对象数组的权限 List
ListByteMatchSets 授予检索 ByteMatchSetSummary 对象数组的权限 List
ListGeoMatchSets 授予检索 GeoMatchSetSummary 对象数组的权限 List
ListIPSets 授予检索 IPSetSummary 对象数组的权限 List
ListLoggingConfigurations 授予检索 LoggingConfiguration 对象数组的权限 List
ListRateBasedRules 授予检索 RuleSummary 对象数组的权限 List
ListRegexMatchSets 授予检索 RegexMatchSetSummary 对象数组的权限 List
ListRegexPatternSets 授予检索 RegexPatternSetSummary 对象数组的权限 List
ListRuleGroups 授予检索 RuleGroup 对象数组的权限 List
ListRules 授予检索 RuleSummary 对象数组的权限 List
ListSizeConstraintSets 授予检索 SizeConstraintSetSummary 对象数组的权限 List
ListSqlInjectionMatchSets 授予检索 SqlInjectionMatchSet 对象数组的权限 List
ListSubscribedRuleGroups 授予检索您订阅的 RuleGroup 对象数组的权限 List
ListTagsForResource 授予检索资源标签的权限 Read

ratebasedrule

rule

rulegroup

webacl

ListWebACLs 授予检索 WebACLSummary 对象数组的权限 List
ListXssMatchSets 授予检索 XssMatchSet 对象数组的权限 List
PutLoggingConfiguration 授予将 LoggingConfiguration 与指定的 Web ACL 关联的权限 Write

webacl*

iam:CreateServiceLinkedRole

PutPermissionPolicy 授予将 IAM policy 附加到规则组,以在账户之间共享规则组的权限 Permissions management

rulegroup*

TagResource 授予将标签添加到资源的权限 Tagging

ratebasedrule

rule

rulegroup

webacl

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource 授予从资源中删除标签的权限 Tagging

ratebasedrule

rule

rulegroup

webacl

aws:TagKeys

UpdateByteMatchSet 授予在 ByteMatchSet 中插入或删除 ByteMatchTuple 对象的权限 Write

bytematchset*

UpdateGeoMatchSet 授予在 GeoMatchSet 中插入或删除 GeoMatchConstraint 对象的权限 Write

geomatchset*

UpdateIPSet 授予在 IPSet 中插入或删除 IPSetDescriptor 对象的权限 Write

ipset*

UpdateRateBasedRule 授予修改基于费率的规则的权限 Write

ratebasedrule*

UpdateRegexMatchSet 授予在 RegexMatchSet 中插入或删除 RegexMatchTuple 对象的权限 Write

regexmatchset*

UpdateRegexPatternSet 授予在 RegexPatternSet 中插入或删除 RegexPatternStrings 的权限 Write

regexpatternset*

UpdateRule 授予修改配方的权限 Write

rule*

UpdateRuleGroup 授予在 RuleGroup 中插入或删除 ActivatedRule 对象的权限 Write

rulegroup*

UpdateSizeConstraintSet 授予在 SizeConstraintSet 中插入或删除 SizeConstraint 对象的权限 Write

sizeconstraintset*

UpdateSqlInjectionMatchSet 授予在 SqlInjectionMatchSet 中插入或删除 SqlInjectionMatchTuple 对象的权限 Write

sqlinjectionmatchset*

UpdateWebACL 授予在 WebACL 中插入或删除 ActivatedRule 对象的权限 Permissions management

webacl*

UpdateXssMatchSet 授予在 XssMatchSet 中插入或删除 XssMatchTuple 对象的权限 Write

xssmatchset*

AWS WAF 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在资源类型表的最后一列。有关下表中各列的详细信息,请参阅资源类型表

资源类型 ARN 条件键
bytematchset arn:${Partition}:waf::${Account}:bytematchset/${Id}
ipset arn:${Partition}:waf::${Account}:ipset/${Id}
ratebasedrule arn:${Partition}:waf::${Account}:ratebasedrule/${Id}

aws:ResourceTag/${TagKey}

rule arn:${Partition}:waf::${Account}:rule/${Id}

aws:ResourceTag/${TagKey}

sizeconstraintset arn:${Partition}:waf::${Account}:sizeconstraintset/${Id}
sqlinjectionmatchset arn:${Partition}:waf::${Account}:sqlinjectionset/${Id}
webacl arn:${Partition}:waf::${Account}:webacl/${Id}

aws:ResourceTag/${TagKey}

xssmatchset arn:${Partition}:waf::${Account}:xssmatchset/${Id}
regexmatchset arn:${Partition}:waf::${Account}:regexmatch/${Id}
regexpatternset arn:${Partition}:waf::${Account}:regexpatternset/${Id}
geomatchset arn:${Partition}:waf::${Account}:geomatchset/${Id}
rulegroup arn:${Partition}:waf::${Account}:rulegroup/${Id}

aws:ResourceTag/${TagKey}

AWS WAF 的条件键

AWS WAF 定义以下可以在 IAM policy 的 Condition 素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

条件键 描述 类型
aws:RequestTag/${TagKey} 根据每个标签的允许值集筛选操作 字符串
aws:ResourceTag/${TagKey} 根据与资源关联的标签值筛选操作 字符串
aws:TagKeys 根据在请求中是否具有必需标签以筛选操作 字符串数组