操作方法 AWS WAF 与 IAM - AWS WAFAWS Firewall Manager、和 AWS Shield Advanced

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

操作方法 AWS WAF 与 IAM

本节介绍如何使用 with IAM 的功能 AWS WAF.

在使用管理IAM访问权限之前 AWS WAF,了解哪些IAM功能可供使用 AWS WAF.

要从更高层次的角度了解如何 AWS WAF 和其他 AWS 服务适用于大多数IAM功能,请参阅 AWS IAM在《IAM用户指南》中使用的服务。

基于身份的策略 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 使用基于资源的策略来支持跨账户共享规则组。您与其他人共享自己拥有的规则组 AWS 通过向提供基于资源的策略设置来帐户 AWS WAF API致电PutPermissionPolicy或等效SDK电话CLI或致电。有关其他信息,包括其他可用语言的示例和文档链接,请参阅PutPermissionPolicy中的 AWS WAF API参考。此功能无法通过其他方式使用,例如控制台或 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 权限

本节列出了使用 Web ACL 与资源关联所需的权限 AWS WAF 行动AssociateWebACL

对于 Amazon CloudFront 分配,请使用操作代替此 CloudFront 操作UpdateDistribution。有关信息,请参阅UpdateDistributionAmazon CloudFront API 参考》。

亚马逊API网关 REST API

需要权限才能根据RESTAPI资源类型调用 API Gatew SetWebACL ay 并调用 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/*" ] }
应用程序负载均衡器

需要权限才能在 Applicati elasticloadbalancing:SetWebACL on Load Balancer 资源类型上调用操作并调用 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 AssociateWebACL在网络上ACL。

{ "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 AssociateWebACL在网络上ACL。

{ "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 服务资源类型上调用 App Runner AssociateWebACL 操作并调用 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操作并调用 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 权限

本节列出了使用解除网页ACL与资源的关联所需的权限 AWS WAF 行动DisassociateWebACL

对于 Amazon CloudFront 分配,请使用UpdateDistribution带有空网ACL号的 CloudFront 操作来代替此操作。有关信息,请参阅UpdateDistributionAmazon CloudFront API 参考》。

亚马逊API网关 REST API

需要对RESTAPI资源类型调用 API Gat SetWebACL eway 的权限。不需要许可即可拨打电话 AWS WAF DisassociateWebACL.

{ "Sid": "DisassociateWebACL", "Effect": "Allow", "Action": [ "apigateway:SetWebACL" ], "Resource": [ "arn:aws:apigateway:*::/restapis/*/stages/*" ] }
应用程序负载均衡器

需要权限才能在应用程序负载均衡器资源类型上调用 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 服务资源类型上调用 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 权限

本节列出了使用受保护资源访问网站ACL所需的权限 AWS WAF 行动GetWebACLForResource

对于 Amazon CloudFront 分配,请使用操作代替此 CloudFront 操作GetDistributionConfig。有关信息,请参阅GetDistributionConfigAmazon CloudFront API 参考》。

注意

GetWebACLForResource 需要调用 GetWebACL 的权限。在此背景下, AWS WAF GetWebACL仅用于验证您的帐户是否具有访问GetWebACLForResource返回ACL的网络所需的权限。当您致电时GetWebACLForResource,您可能会收到一条错误消息,表明您的账户无权使用wafv2:GetWebACL该资源。 AWS WAF 不会将此类错误添加到 AWS CloudTrail 事件历史记录。

Amazon API Gateway REST API、Application 负载均衡器和 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 服务资源类型上调用 App Runner DescribeWebAclForService 操作并调用 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": [ "apprunner:DescribeWebAclForService" ], "Resource": [ "arn:aws:apprunner:*:account-id:service/*/*" ] }
AWS 已验证访问实例

需要权限才能在 “已验证访问权限” 实例资源类型上调用ec2:GetVerifiedAccessInstanceWebAcl操作并调用 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": [ "ec2:GetVerifiedAccessInstanceWebAcl" ], "Resource": [ "arn:aws:ec2:*:account-id:verified-access-instance/*" ] }

ListResourcesForWebACL 权限

本节列出了ACL使用检索 Web 受保护资源列表所需的权限 AWS WAF 行动ListResourcesForWebACL

对于 Amazon CloudFront 分配,请使用操作代替此 CloudFront 操作ListDistributionsByWebACLId。有关信息,请参阅ListDistributionsByWebACLIdAmazon CloudFront API 参考》。

Amazon API Gateway REST API、Application 负载均衡器和 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 服务资源类型上调用 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 资源名称 (ARNs) Amazon Web Services 一般参考.

以下列出了特定于ARNswafv2资源的要求:

  • region对于: AWS WAF 您用来保护 Amazon CloudFront 分配的资源,请将其设置为us-east-1。否则,请将其设置为您正在使用受保护区域资源的区域。

  • scope:将范围设置为,global以便在 Amazon CloudFront 配送中使用或regional与任何区域资源一起使用 AWS WAF 支持。区域资源是 Amazon API Gateway REST API、Application Load Balancer、 AWS AppSync GraphQLAPI,一个亚马逊 Cognito 用户池, AWS App Runner 服务,以及 AWS 已验证访问实例。

  • resource-type:指定以下值之一:webaclrulegroupipsetregexpatternset、或managedruleset

  • resource-name: 指定你给出的名字 AWS WAF resource,或者指定通配符 (*) 以表示满足中其他规范的所有资源。ARN您必须指定资源名称和资源 ID,或者为两者指定通配符。

  • resource-id: 指定的 ID AWS WAF resource,或者指定通配符 (*) 以表示满足中其他规范的所有资源。ARN您必须指定资源名称和资源 ID,或者为两者指定通配符。

例如,以下内容为区域111122223333中的账户ARN指定了所有ACLs具有区域范围的网站us-west-1

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

以下内容为区域中的账户ARN111122223333指定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运算对其进行评估。如果您为单个条件键指定多个值, AWS 使用逻辑OR运算评估条件。在授予语句的权限之前必须满足所有的条件。

在指定条件时,您也可以使用占位符变量。例如,只有在资源上标有IAM用户的用户名时,您才能向IAM用户授予访问该资源的权限。有关更多信息,请参阅《IAM用户指南》中的IAM策略元素:变量和标签

AWS 支持全局条件密钥和特定于服务的条件密钥。要查看全部 AWS 全局条件键,请参见 AWS 《IAM用户指南》中的全局条件上下文密钥。

此外, AWS WAF 支持以下条件键,您可以使用这些条件键为策略提供精细筛选IAM:

  • wafv2:LogDestinationResource

    此条件密钥采用日志目标的 Amazon 资源名称 (ARN) 规范。ARN这是您在使用RESTAPI呼叫时为登录目标提供的内容PutLoggingConfiguration

    您可以显式指定ARN,也可以为指定过滤ARN。以下示例指定筛选具有特定位置和前缀ARNs的 Amazon S3 存储桶。

    "Condition": { "ArnLike": { "wafv2:LogDestinationResource": "arn:aws:s3:::aws-waf-logs-suffix/custom-prefix/*" } }
  • wafv2: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) 是一种基于属性定义权限的授权策略。In AWS,这些属性称为标签。您可以将标签附加到IAM实体(用户或角色)和许多实体 AWS 资源的费用。为实体和资源添加标签是的第一步。ABAC然后,您可以设计ABAC策略,允许在委托人的标签与他们尝试访问的资源上的标签匹配时进行操作。

ABAC在快速增长的环境中很有用,也有助于解决策略管理变得繁琐的情况。

要基于标签控制访问,您需要使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 条件键在策略的条件元素中提供标签信息。

如果某个服务对于每种资源类型都支持所有这三个条件键,则对于该服务,该值为。如果某个服务仅对于部分资源类型支持所有这三个条件键,则该值为部分

有关的更多信息ABAC,请参阅什么是ABAC? 在《IAM用户指南》中。要查看包含设置步骤的教程ABAC,请参阅IAM用户指南中的使用基于属性的访问控制 (ABAC)

将临时证书与 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。有关更多信息,请参阅创建角色以向某人委派权限 AWS 服务(在 IAM 用户指南中)。

警告

更改服务角色的权限可能会中断 AWS WAF 功能。仅在以下情况下编辑服务角色 AWS WAF 提供了执行此操作的指导。

的服务相关角色 AWS WAF

支持服务相关角色:

服务相关角色是一种与服务相关联的服务角色 AWS 服务。 该服务可以代替您执行操作。服务相关角色显示在您的 AWS 账户 并归该服务所有。IAM管理员可以查看但不能编辑服务相关角色的权限。

有关创建或管理的详细信息 AWS WAF 服务相关角色,请参阅将服务相关角色用于 AWS WAF