

**引入全新的主机体验 AWS WAF**

现在，您可以使用更新的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息，请参阅[使用控制台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

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

# 使用 Shield Advance 的服务相关角色
<a name="shd-using-service-linked-roles"></a>

本节介绍如何使用服务相关角色让 Shield Advanced 访问您 AWS 账户中的资源。

AWS Shield Advanced 使用 AWS Identity and Access Management (IAM) [服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服务相关角色是一种独特类型的 IAM 角色，它与 Shield Advanced 直接相关。服务相关角色由 Shield Advanced 预定义，包括该服务代表您调用其他 AWS 服务所需的所有权限。

服务相关角色可让您更轻松地设置 Shield Advanced，因为您不必手动添加必要的权限。Shield Advanced 定义其服务相关角色的权限，除非另外定义，否则只有 Shield Advanced 可以代入该角色。定义的权限包括信任策略和权限策略，以及不能附加到任何其他 IAM 实体的权限策略。

只有在首先删除相关资源后，您才能删除服务关联角色。这将保护您的 Shield Advanced 资源，因为您不会无意中删除对资源的访问权限。

有关支持服务相关角色的其他服务的信息，请参阅[使用 IAM 的AWS 服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并查找**服务相关角色**列中显示为**是**的服务。选择**是**和链接，查看该服务的服务关联角色文档。

## Shield Advanced 的服务相关角色权限
<a name="shd-slr-permissions"></a>

Shield Advanced 使用名为**AWSServiceRoleForAWSShield**的服务相关角色。此角色允许 Shield Advanced 访问和管理 AWS 资源，以便代表您自动响应应用层 DDo S 的攻击。有关此函数的更多信息，请参阅 [使用 Shield Advanced 自动缓解应用层 DDo S](ddos-automatic-app-layer-response.md)。

 AWSServiceRoleForAWSShield 服务相关角色信任以下服务来代入该角色：
+ `shield.amazonaws.com`

名为的角色权限策略 AWSShieldServiceRolePolicy 允许 Shield Advanced 对所有 AWS 资源完成以下操作：
+ `wafv2:GetWebACL`
+ `wafv2:UpdateWebACL`
+ `wafv2:GetWebACLForResource`
+ `wafv2:ListResourcesForWebACL`
+ `cloudfront:ListDistributions`
+ `cloudfront:GetDistribution`

当允许对所有 AWS 资源执行操作时，这在策略中显示为`"Resource": "*"`。这仅意味着服务相关角色可以对该操作*支持的所有 AWS 资源执行每项指定的操作*。例如，只有 `wafv2` Web ACL 资源支持操作 `wafv2:GetWebACL`。

Shield Advanced 仅对已启用应用层保护功能的受保护资源以及与这些受保护资源关联 ACLs 的 Web 进行资源级 API 调用。

您必须配置权限，允许 IAM 实体（如用户、组或角色）创建、编辑或删除服务关联角色。有关更多信息，请参阅《IAM 用户指南》**中的[服务关联角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

## 为 Shield Advance 创建服务相关角色
<a name="shd-create-slr"></a>

您无需手动创建服务关联角色。当您为、或 AWS API 中的资源启用自动应用层 DDo缓解时 AWS 管理控制台，Shield Advanced 会为您创建服务相关角色。 AWS CLI

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您为资源启用自动应用层 DDo S 缓解时，Shield Advanced 会再次为您创建服务相关角色。

## 为 Shield Advance 编辑服务相关角色
<a name="shd-edit-slr"></a>

Shield Advanced 不允许你编辑 AWSServiceRoleForAWSShield 服务相关角色。创建服务关联角色后，您将无法更改角色的名称，因为可能有多种实体引用该角色。但是可以使用 IAM 编辑角色描述。有关更多信息，请参阅《IAM 用户指南》**中的[编辑服务关联角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 为 Shield Advance 删除服务相关角色
<a name="shd-delete-slr"></a>

如果不再需要使用某个需要服务关联角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，必须先清除服务相关角色的资源，然后才能手动删除它。

**注意**  
在您尝试删除资源时，如果 Shield Advanced 正在使用该角色，删除操作可能会失败。如果发生这种情况，请等待几分钟后重试。

**删除使用的 Shield Advanced 资源 AWSService RoleFor AWSShield**

对于配置了应用层 DDo S 保护的所有资源，请禁用自动应用层 DDo S 缓解措施。有关控制台说明，请参阅 [配置应用层 DDo S 保护](manage-protection.md#configure-app-layer-protection)。

**使用 IAM 手动删除服务关联角色**

使用 IAM 控制台 AWS CLI、或 AWS API 删除 AWSServiceRoleForAWSShield服务相关角色。有关更多信息，请参见《IAM 用户指南》**中的[删除服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。

## Shield Advanced 服务相关角色支持的区域
<a name="shd-slr-regions"></a>

Shield Advanced 支持在服务可用的所有区域中使用服务相关角色。有关更多信息，请参阅 [Shield Advanced 端点和限额](https://docs.aws.amazon.com/general/latest/gr/shield.html)。