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

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

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

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

参考:

AWS WAF 定义的操作

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

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

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

注意

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

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

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

bytematchset*

CreateGeoMatchSet 授予创建 GeoMatchSet 写入

geomatchset*

CreateIPSet 授予创建 IPSet 写入

ipset*

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

ratebasedrule*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateRegexMatchSet 授予创建 RegexMatchSet 写入

regexmatchset*

CreateRegexPatternSet 授予创建 RegexPatternSet 写入

regexpatternset*

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

rule*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateRuleGroup 授予创建的权限 RuleGroup,这是一组可以在 Web 中使用的预定义规则 ACL 写入

rulegroup*

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSizeConstraintSet 授予创建 SizeConstraintSet 写入

sizeconstraintset*

CreateSqlInjectionMatchSet 授予创建 SqlInjectionMatchSet 写入

sqlinjectionmatchset*

CreateWebACL 授予创建 Web 的权限ACL,其中包含过滤 Web 请求的规则 权限管理

webacl*

aws:RequestTag/${TagKey}

aws:TagKeys

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

webacl*

s3:PutObject

CreateXssMatchSet 授予创建权限 XssMatchSet,用于检测包含跨站脚本攻击的请求 写入

xssmatchset*

DeleteByteMatchSet 授予删除权限 ByteMatchSet 写入

bytematchset*

DeleteGeoMatchSet 授予删除权限 GeoMatchSet 写入

geomatchset*

DeleteIPSet 授予删除的权限 IPSet 写入

ipset*

DeleteLoggingConfiguration 授予 LoggingConfiguration 从 Web 上删除的权限 ACL 写入

webacl*

DeletePermissionPolicy 授予从规则组中删除IAM策略的权限 权限管理

rulegroup*

DeleteRateBasedRule 授予删除权限 RateBasedRule 写入

ratebasedrule*

DeleteRegexMatchSet 授予删除权限 RegexMatchSet 写入

regexmatchset*

DeleteRegexPatternSet 授予删除权限 RegexPatternSet 写入

regexpatternset*

DeleteRule 授予删除规则的权限 写入

rule*

DeleteRuleGroup 授予删除权限 RuleGroup 写入

rulegroup*

DeleteSizeConstraintSet 授予删除权限 SizeConstraintSet 写入

sizeconstraintset*

DeleteSqlInjectionMatchSet 授予删除的权限 SqlInjectionMatchSet 写入

sqlinjectionmatchset*

DeleteWebACL 授予删除网站的权限 ACL 权限管理

webacl*

DeleteXssMatchSet 授予删除的权限 XssMatchSet 写入

xssmatchset*

GetByteMatchSet 授予检索权限 ByteMatchSet 读取

bytematchset*

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

geomatchset*

GetIPSet 授予检索权限 IPSet 读取

ipset*

GetLoggingConfiguration 授予在 Web 上检索 LoggingConfiguration 的权限 ACL 读取

webacl*

GetPermissionPolicy 授予检索规则组IAM策略的权限 读取

rulegroup*

GetRateBasedRule 授予检索权限 RateBasedRule 读取

ratebasedrule*

GetRateBasedRuleManagedKeys 授予检索当前被屏蔽的 IP 地址数组的权限 RateBasedRule 读取

ratebasedrule*

GetRegexMatchSet 授予检索权限 RegexMatchSet 读取

regexmatchset*

GetRegexPatternSet 授予检索权限 RegexPatternSet 读取

regexpatternset*

GetRule 授予检索规则的权限 读取

rule*

GetRuleGroup 授予检索权限 RuleGroup 读取

rulegroup*

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

webacl

GetSizeConstraintSet 授予检索权限 SizeConstraintSet 读取

sizeconstraintset*

GetSqlInjectionMatchSet 授予检索权限 SqlInjectionMatchSet 读取

sqlinjectionmatchset*

GetWebACL 授予检索 Web 的权限 ACL 读取

webacl*

GetXssMatchSet 授予检索权限 XssMatchSet 读取

xssmatchset*

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

ratebasedrule

rule

rulegroup

webacl

ListWebACLs 授予检索 W ebACLSummary 对象数组的权限 列出
ListXssMatchSets 授予检索 XssMatchSet 对象数组的权限 列出
PutLoggingConfiguration 授予将 LoggingConfiguration 与指定网站关联的权限 ACL 写入

webacl*

iam:CreateServiceLinkedRole

PutPermissionPolicy 授予将IAM策略附加到规则组、在账户之间共享规则组的权限 权限管理

rulegroup*

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

ratebasedrule

rule

rulegroup

webacl

aws:RequestTag/${TagKey}

aws:TagKeys

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

ratebasedrule

rule

rulegroup

webacl

aws:TagKeys

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

bytematchset*

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

geomatchset*

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

ipset*

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

ratebasedrule*

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

regexmatchset*

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

regexpatternset*

UpdateRule 授予修改配方的权限 写入

rule*

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

rulegroup*

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

sizeconstraintset*

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

sqlinjectionmatchset*

UpdateWebACL 授予在 Web 中插入或删除 ActivatedRule 对象的权限 ACL 权限管理

webacl*

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

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 策略的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

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

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