本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将基于身份的策略(IAM 策略)用于Amazon WAFClassic
这是Amazon WAFClassic文档中)。仅当 2019 年 11 月之前在 Amazon WAF 中创建了 Amazon WAF 资源(例如规则和 Web ACL),但尚未将这些资源迁移到最新版本时,才应使用此版本。要迁移您的资源,请参阅迁移您的Amazon WAFClassic 资源Amazon WAF。
对于最新版本的Amazon WAF,请参阅Amazon WAF.
本部分提供了基于身份的策略的示例,这些示例展示了账户管理员如何将权限策略附加到 IAM 身份(即用户、组和角色),从而授予对Amazon WAFClassic 资源。
我们建议您首先阅读以下介绍性主题,这些主题说明基本概念和可用于管理对Amazon WAFClassic 资源。有关更多信息,请参阅有关管理对您的访问权限的概述Amazon WAFClassic 资源。
下面显示了一个示例权限策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateFunctionPermissions", "Effect": "Allow", "Action": [ "waf:ListWebACLs", "waf:ListRules", "waf:GetWebACL", "waf:GetRule", "cloudwatch:ListMetrics", "waf:GetSampledRequests" ], "Resource": "*" }, { "Sid": "PermissionToPassAnyRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::
account-id
:role/*" } ] }
该策略包含两条语句:
-
第一条语句授予查看统计信息的权限Amazon WAF经典的 Web ACL,使用
waf:ListWebACLs
、waf:ListRules
、waf:GetWebACL
、waf:GetRule
、cloudwatch:ListMetrics
, 和waf:GetSampledRequests
操作。Amazon WAFClassic 对于这些操作中的某些操作,不支持资源级别的权限。因此,该策略指定通配符 (*) 作为Resource
值。 -
第二条语句授予执行 IAM 操作的权限
iam:PassRole
上的 IAM 角色。结尾处的通配符 (*)Resource
值意味着该语句允许iam:PassRole
对任何 IAM 角色执行操作。要仅仅将这些权限扩展到特定角色,请使用特定角色名称替换资源 ARN 中的通配符 (*)。
该策略没有指定 Principal
元素,因为在基于身份的策略中,您不会指定获取权限的委托人。附加了策略的用户是隐式委托人。向 IAM 角色附加权限策略后,该角色的信任策略中标识的委托人将获取权限。
对于显示所有Amazon WAF经典 API 操作及其适用于的资源,请参阅Amazon WAFClassic API 权限:操作、资源和条件参考.
Topics
使用所需的权限Amazon WAF经典控制台
这些区域有:Amazon WAFClassic 控制台为您提供了一个创建和管理的集成环境Amazon WAFClassic 资源。控制台提供了许多功能和工作流程,它们通常需要创建Amazon WAF除了 API 特定于 API 的权限以及Amazon WAFClassic API 权限:操作、资源和条件参考. 有关这些附加控制台权限的更多信息,请参阅客户管理的策略示例。
Amazon适用于 的 托管(预定义)策略Amazon WAFClassic
Amazon通过提供由创建和管理的独立 IAM 策略来满足许多常用案例的要求。Amazon托管策略可授予常用案例的必要权限,因此,您可以免去调查都需要哪些权限的工作。有关更多信息,请参阅 IAM 用户指南中的 Amazon 托管策略。
以下Amazon托管策略(您可以将它们附加到自己账户中的用户)是特定于的Amazon WAFClassic:
-
AWSWAFReadOnlyAccess
— 授予对的只读访问权限Amazon WAFClassic 资源。 -
AWSWAFFullAccess
— 授予对的完全访问权限Amazon WAFClassic 资源。 -
AWSWAFConsoleReadOnlyAccess
— 授予对的只读访问权限Amazon WAF经典控制台,其中包括Amazon WAF和集成服务,例如 Amazon CloudFront、Amazon API Gateway、Application Load Balancer 和 Amazon CloudWatch。 -
AWSWAFConsoleFullAccess
— 授予对的完全访问权限Amazon WAF经典控制台,其中包括Amazon WAF和集成服务,例如 Amazon CloudFront、Amazon API Gateway、Application Load Balancer 和 Amazon CloudWatch。
您可以通过登录到 IAM 控制台并在该控制台中搜索特定策略来查看这些权限策略。
此外,您还可以创建自定义 IAM 策略,以授予对Amazon WAF经典 API 操作和资源。您可以将这些自定义策略挂载到需要上述权限的 IAM 用户和组或您为Amazon WAFClassic 资源。
客户管理的策略示例
此部分中的示例提供了一组可附加到用户的示例策略。如果您是首次创建策略,建议您先在账户中创建 IAM 用户,并按本节操作步骤所述顺序将策略附加到该用户。
在将每个策略附加到用户时,可使用控制台验证该策略的效果。最初,用户没有权限并且无法在控制台中执行任何操作。在将策略附加到用户时,可以验证用户是否能在控制台中执行各种操作。
建议您使用两个浏览器窗口:一个浏览器窗口用于创建用户和授予权限,另一个浏览器窗口用于使用用户凭证登录 Amazon Web Services Management Console,并在向用户授予权限时验证这些权限。
有关说明如何创建可用作执行角色的 IAM 角色的示例:Amazon WAF经典资源,请参阅创建 IAM 角色中的IAM 用户指南.
示例主题
创建 IAM 用户
首先,您需要创建一个 IAM 用户,将该用户添加到具有管理权限的 IAM 组,然后向您创建的 IAM 用户授予管理权限。随后,您可以使用专用 URL 和该用户的凭证访问 Amazon。
有关说明,请参阅创建您的第一个 IAM 用户和管理员组中的IAM 用户指南.
示例 1:授予用户对的只读访问权限Amazon WAF经典、CloudFront 和云观看
以下策略将向用户授予对的只读访问权限Amazon WAF经典资源、Amazon CloudFront 网络分配以及 Amazon CloudWatch 指标。对于需要权限查看设置的用户,这十分有用:Amazon WAF经典条件、规则和 Web ACL,用于了解与 Web ACL 关联的分配以及在 CloudWatch 中监控指标和请求示例。这些用户无法创建、更新或删除Amazon WAFClassic 资源。
{ "Version":"2012-10-17", "Statement": [ { "Action": [ "waf:Get*", "waf:List*", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics" ], "Effect": "Allow", "Resource": "*" } ] }
示例 2:授予用户对的完全访问权限Amazon WAF经典、CloudFront 和云观看
以下策略可让用户执行任何Amazon WAFCloudFront Web 分配上执行任何操作,并在 CloudWatch 中监控指标和请求示例。它对于用户十分有用Amazon WAFClassic 管理员。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "waf:*", "cloudfront:CreateDistribution", "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:UpdateDistribution", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:DeleteDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics" ], "Effect": "Allow", "Resource": "*" } ] }
强烈建议您为拥有管理权限的用户配置 Multi-Factor Authentication (MFA)。有关更多信息,请参阅 。将 Multi-Factor Authentication (MFA) 设备用于Amazon中的IAM 用户指南.
示例 3:授予对指定的访问权限Amazon Web Services 账户
此策略向账户 444455556666 授予以下权限:
-
对的完全访问权限Amazon WAF经典的操作和资源。
-
对所有 CloudFront 分配的读取和更新访问权限,这使您可以关联 Web ACL 和 CloudFront 分配。
-
对所有 CloudWatch 指标和指标统计数据的读取访问权限,以便您可以在Amazon WAFClassic 控制台。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "waf:*" ], "Resource": [ "arn:aws:waf::444455556666:*" ] }, { "Effect": "Allow", "Action": [ "cloudfront:GetDistribution", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListDistributionsByWebACLId", "cloudfront:UpdateDistribution", "cloudwatch:ListMetrics", "cloudwatch:GetMetricStatistics" ], "Resource": [ "*" ] } ] }
示例 4:授予对指定 Web ACL 的访问权限
此策略向账户 444455556666 中的 webacl
ID 112233d7c-86b2-458b-af83-51c51example 授予以下权限:
-
对 的完全访问权限Amazon WAFClassic
Get
、Update
, 和Delete
操作和资源
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "waf:*" ], "Resource": [ "arn:aws:waf::444455556666:webacl/112233d7c-86b2-458b-af83-51c51example" ] } ] }