如何 AWS WAF 使用 IAM - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

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

如何 AWS WAF 使用 IAM

在您用IAM來管理存取權之前 AWS WAF,請先瞭解哪些IAM功能可搭配使用 AWS WAF。

若要深入瞭解其他 AWS 服務如何 AWS WAF 與大部分IAM功能搭配使用,請參閱IAM使用者指南IAM中的使用AWS 服務

以身分識別為基礎的原則 AWS WAF

支援以身分識別為基礎的原則:是

以身分識別為基礎的原則是您可以附加至身分識別 (例如使用者、使用IAM者群組或角色) 的JSON權限原則文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要瞭解如何建立以身分識別為基礎的策略,請參閱《IAM使用指南》中的〈建立IAM策略〉。

使用以IAM身分識別為基礎的策略,您可以指定允許或拒絕的動作和資源,以及允許或拒絕動作的條件。您無法在身分型政策中指定主體,因為這會套用至連接的使用者或角色。若要瞭解可在JSON策略中使用的所有元素,請參閱《使用IAM者指南》中的IAMJSON策略元素參考資料。

若要檢視以 AWS WAF 身分為基礎的原則範例,請參閱。AWS WAF的身分型政策範例

以資源為基礎的政策 AWS WAF

支援以資源為基礎的政策:是

以資源為基礎的JSON策略是您附加至資源的政策文件。以資源為基礎的政策範例包括IAM角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源,政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中指定主體。主參與者可以包括帳戶、使用者、角色、同盟使用者或。 AWS 服務

若要啟用跨帳戶存取,您可以在以資源為基礎的策略中指定一個或多個帳戶中的一個或多個帳戶中的IAM實體作為主體。新增跨帳戶主體至資源型政策,只是建立信任關係的一半。當主參與者和資源不同時 AWS 帳戶,受信任帳戶中的IAM管理員也必須授與主參與者實體 (使用者或角色) 權限,才能存取資源。其透過將身分型政策連接到實體來授與許可。不過,如果資源型政策會為相同帳戶中的主體授予存取,這時就不需要額外的身分型政策。如需詳細資訊,請參閱《IAM使用指南》IAM中的〈跨帳號資源存取

AWS WAF 使用以資源為基礎的策略來支援跨帳號共用規則群組。您可以透過將資源型原則設定提供給呼叫或對等PutPermissionPolicy或 AWS WAF API呼叫,以便與其他 AWS 帳戶共用您擁有的規CLI則SDK群組。如需其他資訊,包括其他可用語言的範例和說明文件連結,請參閱《 AWS WAF API參考》PutPermissionPolicy中的。此功能無法透過其他方式使用,例如主控台或 AWS CloudFormation.

的政策動作 AWS WAF

支援原則動作:

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

JSON策略Action元素描述了您可以用來允許或拒絕策略中存取的動作。策略動作通常與關聯的 AWS API操作具有相同的名稱。有一些例外情況,例如沒有匹配API操作的僅限權限的操作。也有一些作業需要政策中的多個動作。這些額外的動作稱為相依動作

政策會使用動作來授予執行相關聯動作的許可。

若要查看每個 AWS WAF 動作和權限的清單,請參閱服務授權參考AWS WAF V2 定義的動作

中的策略動作在動作之前 AWS WAF 使用下列前置詞:

wafv2

如需在單一陳述式中指定多個動作,請用逗號分隔。

"Action": [ "wafv2:action1", "wafv2:action2" ]

您也可以使用萬用字元 (*) 來指定多個動作。例如,若要指定開頭為的 AWS WAF 所有動作List,請包括下列動作:

"Action": "wafv2:List*"

若要檢視以 AWS WAF 身分為基礎的原則範例,請參閱。AWS WAF的身分型政策範例

需要其他權限設定的動作

某些動作需要的權限無法在服務授權參考中 AWS WAF V2 定義的動作中完整描述。本節提供其他權限資訊。

AssociateWebACL 的許可

本節列出使用 AWS WAF 動作將 Web 與資源ACL相關聯所需的權限AssociateWebACL

對於 Amazon CloudFront 發行版,請使用動作而非此 CloudFront 動作UpdateDistribution。如需相關資訊,請參閱 Amazon 參 CloudFront API考資料UpdateDistribution中的。

Amazon API 网关 REST API

需要權限才能在RESTAPI資源類型SetWebACL上調用 API Gateway 並在 Web AWS WAF AssociateWebACL 上調用ACL。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "apigateway:SetWebACL" ], "Resource": [ "arn:aws:apigateway:*::/restapis/*/stages/*" ] }
Application Load Balancer

需要對 Application Load Balancer 資源類型呼叫elasticloadbalancing:SetWebACL動作以及在 Web AWS WAF AssociateWebACL 上呼叫的權限ACL。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "elasticloadbalancing:SetWebACL" ], "Resource": [ "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*" ] }
AWS AppSync GraphQL API

需要有權限才能呼叫 AWS AppSync SetWebACL GraphQL API 資源類型並在網頁 AWS WAF AssociateWebACLACL上呼叫。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "appsync:SetWebACL" ], "Resource": [ "arn:aws:appsync:*:account-id:apis/*" ] }
Amazon Cognito 使用者集區

需要對使用者集區資源類型呼叫 Amazon Cognito AssociateWebACL 動作以及在網路 AWS WAF AssociateWebACLACL上呼叫的權限。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:AssociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner 服務

需要權限才能在 App Runner 服務資源類型上調用應用程序運行器AssociateWebACL操作並在 Web AWS WAF AssociateWebACL 上調用ACL。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "apprunner:AssociateWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS 驗證存取實例

需要在「已驗證存取」執ec2:AssociateVerifiedAccessInstanceWebAcl行個體資源類型上呼叫動作並在 Web AWS WAF AssociateWebACL 上呼叫的權限ACL。

{ "Sid": "AssociateWebACL1", "Effect": "Allow", "Action": [ "wafv2:AssociateWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "AssociateWebACL2", "Effect": "Allow", "Action": [ "ec2:AssociateVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

DisassociateWebACL 的許可

本節列出使用 AWS WAF 動DisassociateWebACL作取消 Web ACL 與資源關聯所需的權限。

對於 Amazon CloudFront 分發,而不是此動作,請使用UpdateDistribution帶有空 Web ACL ID 的 CloudFront 動作。如需相關資訊,請參閱 Amazon 參 CloudFront API考資料UpdateDistribution中的。

Amazon API 网关 REST API

需要SetWebACL對RESTAPI資源類型呼叫API閘道的權限。不需要許可即可通話 AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "apigateway:SetWebACL" ], "Resource": [ "arn:aws:apigateway:*::/restapis/*/stages/*" ] }
Application Load Balancer

需要對 Application Load Balancer 資源類型呼叫elasticloadbalancing:SetWebACL動作的權限。不需要許可即可通話 AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "elasticloadbalancing:SetWebACL" ], "Resource": [ "arn:aws:elasticloadbalancing:*:account-id:loadbalancer/app/*/*" ] }
AWS AppSync GraphQL API

需要呼叫 AWS AppSync SetWebACL GraphQL API 資源類型的權限。不需要許可即可通話 AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "appsync:SetWebACL" ], "Resource": [ "arn:aws:appsync:*:account-id:apis/*" ] }
Amazon Cognito 使用者集區

需要對使用者集區資源類型呼叫 Amazon Cognito DisassociateWebACL 動作並進行呼叫 AWS WAF DisassociateWebACL的權限。

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:DisassociateWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner 服務

需要在 App Runner 服務資源類型上呼叫應用程式執行器DisassociateWebACL動作並呼叫的權限 AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "apprunner:DisassociateWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS 驗證存取實例

需要對「已驗證存取」執ec2:DisassociateVerifiedAccessInstanceWebAcl行個體資源類型呼叫動作並呼叫的權限 AWS WAF DisassociateWebACL

{ "Sid": "DisassociateWebACL1", "Effect": "Allow", "Action": "wafv2:DisassociateWebACL", "Resource": "*" }, { "Sid": "DisassociateWebACL2", "Effect": "Allow", "Action": [ "ec2:DisassociateVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

GetWebACLForResource 的許可

本節列出使用 AWS WAF 動作取得受保護資源之 Web ACL 所需的權限GetWebACLForResource

對於 Amazon CloudFront 發行版,請使用動作而非此 CloudFront 動作GetDistributionConfig。如需相關資訊,請參閱 Amazon 參 CloudFront API考資料GetDistributionConfig中的。

注意

GetWebACLForResource需要呼叫的權限GetWebACL。在此情況下,GetWebACL僅 AWS WAF 用於驗證您的帳戶是否具有訪問GetWebACLForResource返回的 Web 所需ACL的權限。當您呼叫時GetWebACLForResource,您可能會收到錯誤訊息,指出您的帳戶未獲授權wafv2:GetWebACL對資源執行。 AWS WAF 不會將這種類型的錯誤添加到 AWS CloudTrail 事件歷史記錄中。

Amazon API 閘道RESTAPI、Application Load Balancer 和 AWS AppSync GraphQL API

需要通話 AWS WAF GetWebACLForResource和網絡GetWebACL的權限ACL。

{ "Sid": "GetWebACLForResource", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }
Amazon Cognito 使用者集區

需要對使用者集區資源類型呼叫 Amazon Cognito GetWebACLForResource 動作以及呼叫 AWS WAF GetWebACLForResourceGetWebACL的權限。

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "cognito-idp:GetWebACLForResource" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner 服務

需要在 App Runner 服務資源類型上呼叫應用程式執行器DescribeWebAclForService動作以及呼叫 AWS WAF GetWebACLForResource和的權限GetWebACL

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "apprunner:DescribeWebAclForService" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS 驗證存取實例

需要對「已驗證存取」執ec2:GetVerifiedAccessInstanceWebAcl行個體資源類型呼叫動作以及呼叫 AWS WAF GetWebACLForResource和的權限GetWebACL

{ "Sid": "GetWebACLForResource1", "Effect": "Allow", "Action": [ "wafv2:GetWebACLForResource", "wafv2:GetWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "GetWebACLForResource2", "Effect": "Allow", "Action": [ "ec2:GetVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

ListResourcesForWebACL 的許可

本節列出ACL使用 AWS WAF 動作擷取 Web 受保護資源清單所需的權限ListResourcesForWebACL

對於 Amazon CloudFront 發行版,請使用動作而非此 CloudFront 動作ListDistributionsByWebACLId。如需相關資訊,請參閱 Amazon 參 CloudFront API考資料ListDistributionsByWebACLId中的。

Amazon API 閘道RESTAPI、Application Load Balancer 和 AWS AppSync GraphQL API

需要權限才能 AWS WAF ListResourcesForWebACL呼叫網頁ACL。

{ "Sid": "ListResourcesForWebACL", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }
Amazon Cognito 使用者集區

需要對使用者集區資源類型呼叫 Amazon Cognito ListResourcesForWebACL 動作並進行呼叫 AWS WAF ListResourcesForWebACL的權限。

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "cognito-idp:ListResourcesForWebACL" ], "Resource": [ "arn:aws:cognito-idp:*:account-id:userpool/*" ] }
AWS App Runner 服務

需要在 App Runner 服務資源類型上呼叫應用程式執行器ListAssociatedServicesForWebAcl動作並呼叫的權限 AWS WAF ListResourcesForWebACL

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "apprunner:ListAssociatedServicesForWebAcl" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS 驗證存取實例

需要對「已驗證存取」執ec2:DescribeVerifiedAccessInstanceWebAclAssociations行個體資源類型呼叫動作並呼叫的權限 AWS WAF ListResourcesForWebACL

{ "Sid": "ListResourcesForWebACL1", "Effect": "Allow", "Action": [ "wafv2:ListResourcesForWebACL" ], "Resource": [ "arn:aws:wafv2:region:account-id:regional/webacl/*/*" ] }, { "Sid": "ListResourcesForWebACL2", "Effect": "Allow", "Action": [ "ec2:DescribeVerifiedAccessInstanceWebAclAssociations" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

的政策資源 AWS WAF

支援原則資源:

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

ResourceJSON原則元素會指定要套用動作的一或多個物件。陳述式必須包含 ResourceNotResource 元素。最佳做法是使用其 Amazon 資源名稱 (ARN) 指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

對於不支援資源層級許可的動作 (例如列出操作),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

若要查看資 AWS WAF 源類型及其清單ARNs,請參閱服務授權參考AWS WAF V2 定義的資源。若要瞭解您可以針對每個資源指定ARN哪些動作,請參閱 AWS WAF V2 定義的動作。若要允許或拒絕 AWS WAF 資源子集的存取,請在策略ARN的resource元素中包含資源的資源。

ARNs的 AWS WAF wafv2資源具有以下格式:

arn:partition:wafv2:region:account-id:scope/resource-type/resource-name/resource-id

如需有關ARN規格的一 Amazon 資訊,請參閱 Amazon Web Services 一般參考. ARNs

以下列出資wafv2源ARNs的特定需求:

  • region:對於您用來保護 Amazon CloudFront 分發的 AWS WAF 資源,請將其設定為us-east-1。否則,請將其設定為您正在使用受保護區域資源的區域。

  • scope:將範圍設定global為與 Amazon CloudFront 分發搭配使用,或regional與任何 AWS WAF 支援的區域資源搭配使用。區域資源包括 Amazon API 閘道RESTAPI、應用程式負載平衡器、 AWS AppSync GraphQL API、Amazon Cognito 使用者集區、 AWS App Runner 服務和 AWS 驗證存取執行個體。

  • resource-type:指定下列其中一個值:webaclrulegroupipsetregexpatternset、或managedruleset

  • resource-name:指定您為 AWS WAF 資源提供的名稱,或指定萬用字元 (*) 以指示符合中其他規格的所有資源ARN。您必須指定資源名稱和資源 ID,或為兩者指定萬用字元。

  • resource-id:指定 AWS WAF 資源的 ID,或指定萬用字元 (*) 以指示符合中其他規格的所有資源ARN。您必須指定資源名稱和資源 ID,或為兩者指定萬用字元。

例如,以下ARN指定所有ACLs具有區域範圍的 Web 區域111122223333中的帳戶us-west-1

arn:aws:wafv2:us-west-1:111122223333:regional/webacl/*/*

下列內容ARN指定區域111122223333中帳戶MyIPManagementRuleGroup的全域範圍命名的規則群組us-east-1

arn:aws:wafv2:us-east-1:111122223333:global/rulegroup/MyIPManagementRuleGroup/1111aaaa-bbbb-cccc-dddd-example-id

若要檢視以 AWS WAF 身分為基礎的原則範例,請參閱。AWS WAF的身分型政策範例

的政策條件索引鍵 AWS WAF

支援服務特定政策條件金鑰:

管理員可以使用 AWS JSON策略來指定誰可以存取什麼內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

Condition 元素 (或 Condition 區塊) 可讓您指定使陳述式生效的條件。Condition 元素是選用項目。您可以建立使用條件運算子的條件運算式 (例如等於或小於),來比對政策中的條件和請求中的值。

若您在陳述式中指定多個 Condition 元素,或是在單一 Condition 元素中指定多個索引鍵, AWS 會使用邏輯 AND 操作評估他們。如果您為單一條件索引鍵指定多個值,請使用邏輯OR運算來 AWS 評估條件。必須符合所有條件,才會授與陳述式的許可。

您也可以在指定條件時使用預留位置變數。例如,只有在IAM使用者名稱標記資源時,您才可以授與IAM使用者存取資源的權限。如需詳細資訊,請參閱《IAM使用指南》中的IAM政策元素:變數和標籤

AWS 支援全域條件金鑰和服務特定條件金鑰。若要查看所有 AWS 全域條件索引鍵,請參閱《使用指南》中的AWS 全域條件內IAM容索引

此外,還 AWS WAF 支援下列條件金鑰,您可以用來為IAM原則提供精細篩選:

  • 波夫 2:LogDestinationResource

    此條件金鑰為記錄目的地採用 Amazon 資源名稱 (ARN) 規格。這是您在ARN使用RESTAPI呼叫時為記錄目標提供的PutLoggingConfiguration

    您可以明確指定,ARN而且您可以指定的篩選ARN。下列範例會針對具有特定位置和前置詞的 Amazon S3 儲存貯ARNs體指定篩選。

    "Condition": { "ArnLike": { "wafv2:LogDestinationResource": "arn:aws:s3:::aws-waf-logs-suffix/custom-prefix/*" } }
  • 波夫 2:LogScope

    此條件索引鍵會以字串定義記錄組態的來源。目前,這一律設定為的預設值Customer,表示記錄目的地為您擁有及管理。

若要查看 AWS WAF 條件金鑰清單,請參閱服務授權參考AWS WAF V2 的條件金鑰。若要瞭解您可以使用條件索引鍵的動作和資源,請參閱 AWS WAF V2 定義的動作

若要檢視以 AWS WAF 身分為基礎的原則範例,請參閱。AWS WAF的身分型政策範例

ACLs在 AWS WAF

支持ACLs:

存取控制清單 (ACLs) 控制哪些主參與者 (帳戶成員、使用者或角色) 具有存取資源的權限。ACLs類似於以資源為基礎的策略,雖然它們不使用JSON政策文件格式。

ABAC與 AWS WAF

支援 ABAC (策略中的標籤): 部分

以屬性為基礎的存取控制 (ABAC) 是一種授權策略,可根據屬性定義權限。在中 AWS,這些屬性稱為標籤。您可以將標籤附加至IAM實體 (使用者或角色) 和許多 AWS 資源。標記實體和資源是的第一步ABAC。然後,您可以設計ABAC策略,以便在主參與者的標籤符合他們嘗試存取的資源上的標籤時允許作業。

ABAC在快速成長的環境中很有幫助,並且有助於原則管理變得繁瑣的情況。

如需根據標籤控制存取,請使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 條件索引鍵,在政策的條件元素中,提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰,則對該服務而言,值為 Yes。如果服務僅支援某些資源類型的全部三個條件金鑰,則值為 Partial

如需有關的詳細資訊ABAC,請參閱什麼是ABAC?《IAM使用者指南》中。若要檢視包含設定步驟的自學課程ABAC,請參閱《使用指南》中的〈使用以屬性為基礎的存取控制 (ABAC) IAM

使用臨時登入資料 AWS WAF

支持臨時憑據:

當您使用臨時憑據登錄時,某些 AWS 服務 不起作用。如需其他資訊,包括哪些 AWS 服務 與臨時登入資料搭配使用 AWS 服務 ,請參閱《IAM使用指南》IAM中的使用方式。

如果您使用除了使用者名稱和密碼以外的任何方法登入,則您正在 AWS Management Console 使用臨時認證。例如,當您 AWS 使用公司的單一登入 (SSO) 連結存取時,該程序會自動建立臨時認證。當您以使用者身分登入主控台,然後切換角色時,也會自動建立臨時憑證。如需有關切換角色的詳細資訊,請參閱《IAM使用者指南》中的〈切換到角色 (主控台)

您可以使用 AWS CLI 或手動建立臨時認證 AWS API。然後,您可以使用這些臨時登入資料來存取 AWS。 AWS 建議您動態產生臨時登入資料,而不是使用長期存取金鑰。如需詳細資訊,請參閱IAM。

轉寄服務的存取工作階段 AWS WAF

支援轉寄存取工作階段 (FAS):

當您使用使用IAM者或角色在中執行動作時 AWS,您會被視為主參與者。使用某些服務時,您可能會執行某個動作,進而在不同服務中啟動另一個動作。FAS會使用主參與者呼叫的權限 AWS 服務,並結合要求 AWS 服務 向下游服務發出要求。FAS只有當服務收到需要與其他 AWS 服務 資源互動才能完成的請求時,才會發出請求。在此情況下,您必須具有執行這兩個動作的許可。有關提出FAS請求時的策略詳細信息,請參閱轉發訪問會話

AWS WAF的服務角色

支援服務角色:

服務角色是服務假定代表您執行動作的IAM角色。IAM管理員可以從中建立、修改和刪除服務角色IAM。如需詳細資訊,請參閱《IAM使用指南》 AWS 服務中的建立角色以將權限委派給

警告

變更服務角色的權限可能會中斷 AWS WAF 功能。只有在 AWS WAF 提供指引時才編輯服務角色。

服務連結角色 AWS WAF

支援服務連結角色:

服務連結角色是一種連結至. AWS 服務服務可以擔任代表您執行動作的角色。服務連結角色會顯示在您的中, AWS 帳戶 且屬於服務所有。IAM管理員可以檢視 (但無法編輯服務連結角色) 的權限。

如需有關建立或管理 AWS WAF 服務連結角色的詳細資訊,請參閱使用服務連結角色 AWS WAF