

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

# 使用角色在中创建和管理 CloudTrail 事件上下文 CloudTrail
事件上下文角色

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

服务相关角色使设置变得 CloudTrail 更加容易，因为您不必手动添加必要的权限。 CloudTrail 定义其服务相关角色的权限，除非另有定义，否则 CloudTrail 只能担任其角色。定义的权限包括信任策略和权限策略，以及不能附加到任何其他 IAM 实体的权限策略。

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

有关支持服务相关角色的其他服务的信息，请参阅与 [IAM 配合使用的Amazon 服务，](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)并在**服务相关角色**列中查找标有 “**是**” 的服务。选择**是**和链接，查看该服务的服务关联角色文档。

## 的服务相关角色权限 CloudTrail


CloudTrail 使用名为的服务相关角色 **AWSServiceRoleForCloudTrailEventContext**— 此服务关联角色用于管理 CloudTrail 事件上下文和 EventBridge 规则。

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

名为的角色权限策略 CloudTrailEventContext CloudTrail 允许对指定资源完成以下操作：
+ 针对资源标签的操作：
  + `tag:GetResources`
+  CloudTrail 服务主体对所有 Amazon EventBridge 资源执行的操作以创建规则：
  + `events:PutRule`
+ 对所有 Amazon EventBridge 资源执行操作，以便 CloudTrail 服务主体管理其创建的规则：
  + `events:PutTargets`
  + `events:DeleteRule`
  + `events:RemoveTargets`
  + `events:RemoveTargets`
+  CloudTrail 服务主体对所有 Amazon EventBridge 资源执行的操作，以描述其创建的规则：
  + `events:DescribeRule`
  + `events:DeRegisterResource`
+ 对所有 Amazon EventBridge 资源执行的操作：
  + `events:ListRules`

您必须配置使用户、组或角色能够创建、编辑或删除服务相关角色的权限。有关更多信息，请参阅*《IAM 用户指南》*中的[服务相关角色权限](https://docs.amazonaws.cn/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

有关与之关联的托管策略的更多信息 AWSServiceRoleForCloudTrailEventContext，请参阅[Amazon 的托管策略 Amazon CloudTrail](security-iam-awsmanpol.md)。

## 为创建服务相关角色 CloudTrail


您无需手动创建服务关联角色。当您开始使用 Amazon Web Services 管理控制台、或 Amazon API 中的上下文事件功能时， CloudTrail会为您创建服务相关角色。 Amazon CLI

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。当您开始使用上下文事件功能时， CloudTrail 会再次为您创建服务相关角色。

## 编辑的服务相关角色 CloudTrail


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

## 删除的 AWSServiceRoleForCloudTrailEventContext 服务相关角色 CloudTrail


如果您不再需要使用需要 AWSServiceRoleForCloudTrailEventContext服务相关角色的功能或服务，我们建议您删除该角色。这样就没有未被主动监控或维护的未使用实体。但是，必须先清理服务相关角色的资源，然后才能通过从事件数据存储中移除 TagContext 密钥来手动将其删除。

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

**删除 AWSServiceRoleForCloudTrailEventContext 服务关联角色使用的 CloudTrail 资源**

1. 在终端或命令行中，对要从中移除 `TagContext` 键的事件存储运行 **put-event-configuration** 命令。例如，要从位于美国东部（俄亥俄州）地区的*111122223333*账户中移除该`TagContext`密钥，且该账户的 ARN 为唯一*arn:aws:cloudtrail:us-east-2:111122223333:eventdatastore/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111*的`TagContext`上下文密钥选择器，则应使用未为以下项指定值的**put-event-configuration**命令：`--context-key-selectors`

   ```
    aws cloudtrail put-event-configuration --event-data-store arn:aws:cloudtrail:us-east-2:111122223333:eventdatastore/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 --max-event-size Large --context-key-selectors
   ```

1. 对分区中每个区域的每个数据存储重复此命令。有关更多信息，请参阅[使用 Amazon 资源名称识别 Amazon 资源 (ARNs)](https://docs.amazonaws.cn/IAM/latest/UserGuide/reference-arns.html)。

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

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

