將以身分為基礎的政策 (IAM 政策) 用於AWS WAF傳統 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將以身分為基礎的政策 (IAM 政策) 用於AWS WAF傳統

注意

這是AWS WAF傳統文件中)。如果您在 2019 年 11 月 AWS WAF 之前建立 AWS WAF 資源 (例如規則和 Web ACL),而且並未將其移轉至最新版本,則應該只使用此版本。若要移轉資源,請參閱 遷移您的AWS WAF傳統資源AWS WAF

如需的最新版本AWS WAF,請參閱AWS WAF

本節提供以身分為基礎的政策範例,示範帳戶管理員如何將許可政策連接至 IAM 身分 (即使用者、群組和角色),並藉此授予許可,以對AWS WAF傳統資源。

重要

建議您先檢閱介紹主題,說明可用來管理對您的存取權的基本概念和選項。AWS WAF傳統資源。如需更多詳細資訊,請參閱 管理您的存取許可概觀AWS WAF傳統資源

以下顯示許可政策範例:

{ "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/*" } ] }

此政策具有兩個陳述式:

  • 第一個陳述式授予檢視AWS WAF傳統 Web ACL,使用waf:ListWebACLswaf:ListRuleswaf:GetWebACLwaf:GetRulecloudwatch:ListMetrics,以及waf:GetSampledRequests動作。AWS WAF典型在資源層級上並不支援上述動作的許可。因此,該政策指定萬用字元 (*) 做為 Resource 值。

  • 第二個陳述式授予 IAM 動作的許可iam:PassRoleIAM 角色。在結尾處的萬用字元 (*)Resource值表示陳述式允許iam:PassRole動作。若要將這些許可只延伸到特定角色,請將資源 ARN 中的萬用字元 (*) 更換為特定角色的名稱。

此政策不會指定 Principal 元素,因為在以身分為基礎的政策中,您未指定取得許可的委託人。當您將政策連接至使用者時,這名使用者是隱含委託人。當您將許可政策連接至 IAM 角色,該角色的信任政策中所識別的委託人即取得許可。

對於顯示所有AWS WAF傳統 API 動作和套用它們的資源,請參閱AWS WAF傳統 API 許可:動作、資源和條件參考

Topics

使用所需的許可AWS WAF傳統控制台

所以此AWS WAFClassic 主控台提供您整合環境,以便建立並管理AWS WAF傳統資源。主控台提供的許多功能和工作流程通常還需具備建立AWS WAF除了中記錄的 API 特定許可外,傳統資源AWS WAF傳統 API 許可:動作、資源和條件參考。如需額外主控台許可的詳細資訊,請參閱 客戶受管政策範例

AWS的 受管 (預先定義) 政策AWS WAF傳統

AWS 透過提供獨立的 IAM 政策來解決許多常用案例,這些政策由 所建立與管理。AWS受管政策授與常見使用案例中必要的許可,讓您免於查詢需要哪些許可。如需詳細資訊,請參閱 IAM 使用者指南中的 AWS 受管政策

如下所示AWS受管政策 (可連接到帳戶中的使用者) 專屬於AWS WAF傳統模式:

  • AWSWAFReadOnlyAccess— 授予對的唯讀存取權AWS WAF傳統資源。

  • AWSWAFFullAccess— 授予對的完整存取權AWS WAF傳統資源。

  • AWSWAFConsoleReadOnlyAccess— 授予資源的唯讀存取權限AWS WAF傳統主控台,其中包括AWS WAF和整合服務,例如 Amazon CloudFront、Amazon API Gateway、Application Load Balancer 和 Amazon CloudWatch。

  • AWSWAFConsoleFullAccess— 授予對的完整存取權AWS WAF傳統主控台,其中包括AWS WAF和整合服務,例如 Amazon CloudFront、Amazon API Gateway、Application Load Balancer 和 Amazon CloudWatch。

注意

您可以登入 IAM 主控台並在該處搜尋特定政策,來檢閱這些許可政策。

您還可以建立自訂 IAM 政策,授予執行AWS WAF傳統 API 作業與資源。您可以將這些自訂政策連接至需要上述許可的 IAM 使用者或群組,或連接至為AWS WAF傳統資源。

客戶受管政策範例

本節的範例提供一組範本政策可供您連接到使用者。如果您在建立政策方面是新手,我們建議您先在自己的帳戶中建立 IAM 使用者,將政策連接到該使用者,然後同本節步驟所概述。

當您將政策連接到使用者時,可以使用主控台來驗證每個政策的效果。起初,使用者沒有許可,且無法在主控台進行任何操作。隨著您將政策連接到使用者,便可以驗證使用者在主控台上能夠執行各種操作。

建議您使用兩個瀏覽器視窗:一個用於建立使用者和授與許可。另一個則透過使用者的登入資料登入 AWS Management Console,並在授與使用者許可時,驗證這些許可。

如需有關如何建立可做為執行角色的 IAM 角色操作範例AWS WAF典型資源,請參閱建立 IAM 角色中的IAM User Guide

範例主題

建立 IAM 使用者

首先,您需要建立 IAM 使用者,並將使用者新增至擁有管理許可的 IAM 群組,然後將管理許可授與您所建立的 IAM 使用者。然後,您可以使用特殊 URL 和使用者的登入資料存取 AWS。

如需說明,請參閱「」建立您的第一個 IAM 使用者和管理員群組中的IAM User Guide

範例 1:讓使用者唯讀存取權限AWS WAF經典、CloudFront 及 CloudWatch

以下政策授予使用者唯讀存取權,AWS WAF傳統資源、Amazon CloudFront 網頁分發以及 Amazon CloudWatch 指標。適用於需要許可以檢視設定的使用者AWS WAF傳統條件、規則和 Web ACL,查看哪些分佈與 Web ACL 相關聯,以及監控 CloudWatch 中的指標和請求範例。這些使用者無法建立、更新或刪除AWS WAF傳統資源。

{ "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:授予使用者的完整存取權AWS WAF經典、CloudFront 及 CloudWatch

下列原則可讓使用者執行任何AWS WAF傳統操作、在 CloudFront Web 分發上執行任何操作,以及監控 CloudWatch 中的指標和請求範例。適用於的使用者AWS WAF傳統管理員。

{ "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": "*" } ] }

我們強烈建議您為具有管理權限的使用者設定多重驗證 (MFA)。如需詳細資訊,請參閱「」將 Multi-Factor Authentication (MFA) 裝置與AWS中的IAM User Guide

範例 3:授予特定的存取權限AWS 帳戶

此政策授予以下許可給帳戶:44445555656666:

  • 對的完整存取AWS WAF經典作業與資源。

  • 可讀取和更新所有 CloudFront 分發的存取權限,可讓您將 Web ACL 和 CloudFront 分佈關聯。

  • 可讀取所有 CloudWatch 指標和指標統計資料的存取權限,以便檢視 CloudWatch 資料和請求範例。AWS WAF傳統控制台。

{ "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:

  • 的完整存取AWS WAF傳統GetUpdate,以及Delete操作和資源

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "waf:*" ], "Resource": [ "arn:aws:waf::444455556666:webacl/112233d7c-86b2-458b-af83-51c51example" ] } ] }