

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

# 将服务相关角色用于 AWS Audit Manager
<a name="using-service-linked-roles"></a>

AWS Audit Manager 使用 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)。服务相关角色是一种与 Audit Manager 直接关联的独特类型的 IAM 角色。服务相关角色由 Audit Manager 预定义，包括该服务代表您调用其他 AWS 服务所需的所有权限。

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

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

## 的服务相关角色权限 AWS Audit Manager
<a name="slr-permissions"></a>

Audit Manager 使用名为的服务相关角色`AWSServiceRoleForAuditManager`，该角色允许访问使用或管理的 AWS Audit Manager AWS 服务和资源。

`AWSServiceRoleForAuditManager` 服务关联角色信任 `auditmanager.amazonaws.com` 服务来代入角色。

角色权限策略允许 Au [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAuditManagerServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAuditManagerServiceRolePolicy.html)dit Manager 自动收集有关您的 AWS 使用情况的证据。更具体地说，它可以代表您执行以下操作。
+ Audit Manager 可以 AWS Security Hub CSPM 用来收集**合规性检查**证据。在这种情况下，Audit Manager 使用以下权限直接从中报告安全检查结果 AWS Security Hub CSPM。然后，它将结果作为证据附加到您的相关评测控件中。
  + `securityhub:DescribeStandards`
**注意**  
有关 Audit Manager 可以描述哪些特定的 Security Hub CSPM 控件的更多信息，请参阅 Audit Manager [支持的AWS Security Hub CSPM 控件](https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-ash.html)。 AWS Audit Manager
+ Audit Manager 可以 AWS Config 用来收集**合规性检查**证据。在这种情况下，Audit Manager 使用以下权限直接从中报告 AWS Config 规则评估结果 AWS Config。然后，它将结果作为证据附加到您的相关评测控件中。
  + `config:DescribeConfigRules` 
  + `config:DescribeDeliveryChannels`
  + `config:ListDiscoveredResources`
**注意**  
有关 Audit Manager 可以描述哪些特定 AWS Config 规则的更多信息，请参阅 Audit Manager [支持的AWS Config 规则 AWS Audit Manager](https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-config.html)。
+ Audit Manager 可以 AWS CloudTrail 用来收集**用户活动**证据。在这种情况下，Audit Manager 使用以下权限从 CloudTrail 日志中捕获用户活动。然后，它将该活动作为证据附加到您的相关评测控件中。
  + `cloudtrail:DescribeTrails`
  + `cloudtrail:LookupEvents`
**注意**  
有关 Audit Manager 可以描述哪些特定 CloudTrail [AWS CloudTrail 事件的更多信息，请参阅支持的事件名称 AWS Audit Manager](https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-cloudtrail.html)。
+ Audit Manager 可以使用 AWS API 调用来收集**资源配置**证据。在这种情况下，Audit Manager 使用以下权限调用只读权限 APIs ，这些权限描述了您在以下方面的资源配置 AWS 服务。然后，它会将 API 响应作为证据附加到您的相关评测控件中。
  + `acm:GetAccountConfiguration`
  + `acm:ListCertificates`
  + `apigateway:GET`
  + `autoscaling:DescribeAutoScalingGroups`
  + `backup:ListBackupPlans`
  + `backup:ListRecoveryPointsByResource`
  + `bedrock:GetCustomModel`
  + `bedrock:GetFoundationModel`
  + `bedrock:GetModelCustomizationJob`
  + `bedrock:GetModelInvocationLoggingConfiguration`
  + `bedrock:ListCustomModels`
  + `bedrock:ListFoundationModels`
  + `bedrock:ListGuardrails`
  + `bedrock:ListModelCustomizationJobs`
  + `cloudfront:GetDistribution`
  + `cloudfront:GetDistributionConfig`
  + `cloudfront:ListDistributions`
  + `cloudtrail:DescribeTrails`
  + `cloudtrail:GetTrail`
  + `cloudtrail:ListTrails`
  + `cloudtrail:LookupEvents`
  + `cloudwatch:DescribeAlarms`
  + `cloudwatch:DescribeAlarmsForMetric`
  + `cloudwatch:GetMetricStatistics`
  + `cloudwatch:ListMetrics`
  + `cognito-idp:DescribeUserPool`
  + `config:DescribeConfigRules`
  + `config:DescribeDeliveryChannels`
  + `config:ListDiscoveredResources`
  + `directconnect:DescribeDirectConnectGateways`
  + `directconnect:DescribeVirtualGateways`
  + `dynamodb:DescribeBackup`
  + `dynamodb:DescribeContinuousBackups`
  + `dynamodb:DescribeTable`
  + `dynamodb:DescribeTableReplicaAutoScaling`
  + `dynamodb:ListBackups`
  + `dynamodb:ListGlobalTables`
  + `dynamodb:ListTables`
  + `ec2:DescribeAddresses`
  + `ec2:DescribeCustomerGateways`
  + `ec2:DescribeEgressOnlyInternetGateways`
  + `ec2:DescribeFlowLogs`
  + `ec2:DescribeInstanceCreditSpecifications`
  + `ec2:DescribeInstanceAttribute`
  + `ec2:DescribeInstances`
  + `ec2:DescribeInternetGateways`
  + `ec2:DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations`
  + `ec2:DescribeLocalGateways`
  + `ec2:DescribeLocalGatewayVirtualInterfaces`
  + `ec2:DescribeNatGateways`
  + `ec2:DescribeNetworkAcls`
  + `ec2:DescribeRouteTables` 
  + `ec2:DescribeSecurityGroups`
  + `ec2:DescribeSecurityGroupRules`
  + `ec2:DescribeSnapshots`
  + `ec2:DescribeTransitGateways`
  + `ec2:DescribeVolumes`
  + `ec2:DescribeVpcEndpoints`
  + `ec2:DescribeVpcEndpointConnections`
  + `ec2:DescribeVpcEndpointServiceConfigurations`
  + `ec2:DescribeVpcPeeringConnections`
  + `ec2:DescribeVpcs`
  + `ec2:DescribeVpnConnections`
  + `ec2:DescribeVpnGateways`
  + `ec2:GetEbsDefaultKmsKeyId`
  + `ec2:GetEbsEncryptionByDefault`
  + `ec2:GetLaunchTemplateData`
  + `ecs:DescribeClusters`
  + `eks:DescribeAddonVersions`
  + `elasticache:DescribeCacheClusters`
  + `elasticache:DescribeServiceUpdates`
  + `elasticfilesystem:DescribeAccessPoints`
  + `elasticfilesystem:DescribeFileSystems`
  + `elasticloadbalancing:DescribeLoadBalancers`
  + `elasticloadbalancing:DescribeSslPolicies`
  + `elasticloadbalancing:DescribeTargetGroups`
  + `elasticmapreduce:ListClusters`
  + `elasticmapreduce:ListSecurityConfigurations`
  + `es:DescribeDomains`
  + `es:DescribeDomain`
  + `es:DescribeDomainConfig`
  + `es:ListDomainNames`
  + `events:DeleteRule`
  + `events:DescribeRule`
  + `events:DisableRule`
  + `events:EnableRule`
  + `events:ListConnections`
  + `events:ListEventBuses`
  + `events:ListEventSources`
  + `events:ListRules`
  + `events:ListTargetsByRule`
  + `events:PutRule`
  + `events:PutTargets`
  + `events:RemoveTargets`
  + `firehose:ListDeliveryStreams`
  + `fsx:DescribeFileSystems`
  + `guardduty:ListDetectors `
  + `iam:GenerateCredentialReport`
  + `iam:GetAccessKeyLastUsed`
  + `iam:GetAccountAuthorizationDetails `
  + `iam:GetAccountPasswordPolicy`
  + `iam:GetAccountSummary` 
  + `iam:GetCredentialReport`
  + `iam:GetGroupPolicy`
  + `iam:GetPolicy`
  + `iam:GetPolicyVersion`
  + `iam:GetRolePolicy`
  + `iam:GetUser`
  + `iam:GetUserPolicy`
  + `iam:ListAccessKeys`
  + `iam:ListAttachedGroupPolicies`
  + `iam:ListAttachedRolePolicies`
  + `iam:ListAttachedUserPolicies`
  + `iam:ListEntitiesForPolicy`
  + `iam:ListGroupPolicies`
  + `iam:ListGroups`
  + `iam:ListGroupsForUser`
  + `iam:ListMfaDeviceTags`
  + `iam:ListMfaDevices`
  + `iam:ListOpenIdConnectProviders`
  + `iam:ListPolicies`
  + `iam:ListPolicyVersions`
  + `iam:ListRolePolicies`
  + `iam:ListRoles`
  + `iam:ListSamlProviders`
  + `iam:ListUserPolicies`
  + `iam:ListUsers`
  + `iam:ListVirtualMFADevices`
  + `kafka:ListClusters`
  + `kafka:ListKafkaVersions`
  + `kinesis:ListStreams`
  + `kms:DescribeKey`
  + `kms:GetKeyPolicy`
  + `kms:GetKeyRotationStatus`
  + `kms:ListGrants`
  + `kms:ListKeyPolicies`
  + `kms:ListKeys`
  + `lambda:ListFunctions`
  + `license-manager:ListAssociationsForLicenseConfiguration` 
  +  `license-manager:ListLicenseConfigurations`
  + `license-manager:ListUsageForLicenseConfiguration`
  + `logs:DescribeDestinations`
  + `logs:DescribeExportTasks`
  + `logs:DescribeLogGroups`
  + `logs:DescribeMetricFilters`
  + `logs:DescribeResourcePolicies`
  + `logs:FilterLogEvents`
  + `logs:GetDataProtectionPolicy`
  + `organizations:DescribeOrganization`
  + `organizations:DescribePolicy` 
  + `rds:DescribeCertificates`
  + `rds:DescribeDBClusterEndpoints`
  + `rds:DescribeDBClusterParameterGroups`
  + `rds:DescribeDBClusters`
  + `rds:DescribeDBInstances`
  + `rds:DescribeDBInstanceAutomatedBackups`
  + `rds:DescribeDBSecurityGroups`
  + `redshift:DescribeClusters`
  + `redshift:DescribeClusterSnapshots`
  + `redshift:DescribeLoggingStatus`
  + `route53:GetQueryLoggingConfig` 
  + `s3:GetBucketAcl`
  + `s3:GetBucketLogging`
  + `s3:GetBucketOwnershipControls`
  + `s3:GetBucketPolicy`
    + 此 API 操作 AWS 账户 在可用的范围内运行。 service-linked-role但无法访问跨账户存储桶策略。
  + `s3:GetBucketPublicAccessBlock`
  + `s3:GetBucketTagging`
  + `s3:GetBucketVersioning`
  + `s3:GetEncryptionConfiguration`
  + `s3:GetLifecycleConfiguration` 
  + `s3:ListAllMyBuckets`
  + `sagemaker:DescribeAlgorithm`
  + `sagemaker:DescribeDomain`
  + `sagemaker:DescribeEndpoint`
  + `sagemaker:DescribeEndpointConfig`
  + `sagemaker:DescribeFlowDefinition`
  + `sagemaker:DescribeHumanTaskUi`
  + `sagemaker:DescribeLabelingJob`
  + `sagemaker:DescribeModel`
  + `sagemaker:DescribeModelBiasJobDefinition`
  + `sagemaker:DescribeModelCard`
  + `sagemaker:DescribeModelQualityJobDefinition`
  + `sagemaker:DescribeTrainingJob`
  + `sagemaker:DescribeUserProfile`
  + `sagemaker:ListAlgorithms`
  + `sagemaker:ListDomains`
  + `sagemaker:ListEndpointConfigs`
  + `sagemaker:ListEndpoints`
  + `sagemaker:ListFlowDefinitions`
  + `sagemaker:ListHumanTaskUis`
  + `sagemaker:ListLabelingJobs`
  + `sagemaker:ListModels`
  + `sagemaker:ListModelBiasJobDefinitions`
  + `sagemaker:ListModelCards`
  + `sagemaker:ListModelQualityJobDefinitions`
  + `sagemaker:ListMonitoringAlerts`
  + `sagemaker:ListMonitoringSchedules`
  + `sagemaker:ListTrainingJobs`
  + `sagemaker:ListUserProfiles`
  + `securityhub:DescribeStandards`
  + `secretsmanager:DescribeSecret`
  + `secretsmanager:ListSecrets`
  + `sns:ListTagsForResource`
  + `sns:ListTopics`
  + `sqs:ListQueues`
  + `waf-regional:GetLoggingConfiguration`
  + `waf-regional:GetRule`
  + `waf-regional:GetWebAcl`
  + `waf-regional:ListRuleGroups`
  + `waf-regional:ListRules`
  + `waf-regional:ListSubscribedRuleGroups`
  + `waf-regional:ListWebACLs`
  + `waf:GetRule`
  + `waf:GetRuleGroup`
  + `waf:ListActivatedRulesInRuleGroup`
  + `waf:ListRuleGroups`
  + `waf:ListRules`
  + `waf:ListWebAcls`
  + `wafv2:ListWebAcls`
**注意**  
 有关 Audit Manager 可以描述的特定 API 调用的更多信息，请参阅 [支持自定义控件数据来源的 API 调用](control-data-sources-api.md#apis-for-custom-control-data-sources)。

要查看服务相关角色 `AWSServiceRoleForAuditManager` 的完整权限详细信息，请参阅《*AWS 托管式策略参考指南*》中的 [AWSAuditManagerServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAuditManagerServiceRolePolicy.html)。

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

## 创建 AWS Audit Manager 服务相关角色
<a name="create-slr"></a>

您无需手动创建服务关联角色。启用后 AWS Audit Manager，该服务会自动为您创建服务相关角色。您可以从的入门页面启用 Audit Manager AWS 管理控制台，也可以通过 API 或 AWS CLI启用。有关更多信息，请参阅本用户指南中的 [正在启用 AWS Audit Manager](setup-audit-manager.md)。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。

## 编辑 AWS Audit Manager 服务相关角色
<a name="edit-slr"></a>

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

**允许 IAM 实体编辑 `AWSServiceRoleForAuditManager` 服务相关角色的描述**  
将以下语句添加到需要编辑服务相关角色的描述的 IAM 实体的权限策略。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:UpdateRoleDescription"
    ],
    "Resource": "arn:aws:iam::*:role/aws-service-role/auditmanager.amazonaws.com/AWSServiceRoleForAuditManager*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "auditmanager.amazonaws.com"}}
}
```

## 删除 AWS Audit Manager 服务相关角色
<a name="delete-slr"></a>

如果您不再使用 Audit Manager，我们建议您删除 `AWSServiceRoleForAuditManager` 服务相关角色。这样您就没有未被主动监控或维护的未使用实体。但是，您必须先清除服务相关角色，然后才能将其删除。

**清除 服务相关角色**  
必须先确认服务相关角色没有活动会话并移除该角色使用的任何资源，然后才能使用 IAM 删除 Audit Manager 服务相关角色。为此，请确保将 Audit Manager 全部 AWS 区域注销。取消注册后，Audit Manager 将不再使用服务相关角色。

有关如何取消注册 Audit Manager 的说明，请参阅以下资源：
+ 本指南中的[正在禁用 AWS Audit Manager](disable.md)
+ **《AWS Audit Manager API 参考》中的 [DeregisterAccount](https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html)
+ *在 “[参考资料” 中注销账户](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/auditmanager/deregister-account.html)AWS CLI AWS Audit Manager*

有关如何手动删除 Audit Manager 资源的说明，请参阅本指南中的[删除 Audit Manager 数据](https://docs.aws.amazon.com/audit-manager/latest/userguide/data-protection.html#data-deletion-and-retention)。

**删除 服务相关角色**  
您可以使用 IAM 控制台、 AWS Command Line Interface (AWS CLI) 或 IAM API 删除服务相关角色。

------
#### [ IAM console ]

请按照以下步骤在 IAM 控制台中删除服务相关角色。

**删除服务相关角色 (控制台)**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 IAM 控制台的导航窗格中，选择**角色**。然后选中 `AWSServiceRoleForAuditManager` 旁边的复选框，而不是选择名称或行本身。

1. 在页面顶部的**角色操作**下方，选择**删除**。

1. 在确认对话框中，查看上次访问的信息，该信息显示每个选定角色上次访问 AWS 服务的时间。这样可帮助您确认角色当前是否处于活动状态。如果要继续，请在文本输入字段中输入 **AWSServiceRoleForAuditManager**，然后选择**删除**以提交服务相关角色进行删除。

1. 监视 IAM 控制台通知，以监控服务相关角色的删除进度。由于 IAM 服务相关角色删除是异步的，因此，在您提交角色进行删除后，删除任务可能成功，也可能失败。如果任务成功，则角色将从列表中移除，并会在页面顶部显示成功消息。

------
#### [ AWS CLI ]

您可以使用中的 IAM 命令 AWS CLI 删除服务相关角色。

**删除服务相关角色 (AWS CLI)**

1. 输入以下命令以列出您账户中的角色：

   ```
   aws iam get-role --role-name AWSServiceRoleForAuditManager
   ```

1. 如果服务相关角色正被使用或具有关联的资源，则无法删除它，因此您必须提交删除请求。如果不满足这些条件，该请求可能会被拒绝。您必须从响应中捕获 `deletion-task-id` 以检查删除任务的状态。

   键入以下命令以提交服务相关角色的删除请求：

   ```
   aws iam delete-service-linked-role --role-name AWSServiceRoleForAuditManager
   ```

1. 使用以下命令以检查删除任务的状态：

   ```
   aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id
   ```

   删除任务的状态可能是 `NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED` 或 `FAILED`。如果删除失败，则调用会返回失败的原因，以便您进行问题排查。

------
#### [ IAM API ]

您可以使用 IAM API 删除服务相关角色。

**删除服务相关角色（API）**

1. [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)致电列出您账户中的角色。在请求中，指定 `AWSServiceRoleForAuditManager` 作为 `RoleName`。

1. 如果服务相关角色正被使用或具有关联的资源，则无法删除它，因此您必须提交删除请求。如果不满足这些条件，该请求可能会被拒绝。您必须从响应中捕获 `DeletionTaskId` 以检查删除任务的状态。

   要提交服务相关角色的删除请求，请致[DeleteServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html)电。在请求中，指定 `AWSServiceRoleForAuditManager` 作为 `RoleName`。

1. 要检查删除的状态，请调用 [GetServiceLinkedRoleDeletionStatus](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetServiceLinkedRoleDeletionStatus.html)。在请求中，指定 `DeletionTaskId`。

   删除任务的状态可能是 `NOT_STARTED`、`IN_PROGRESS`、`SUCCEEDED` 或 `FAILED`。如果删除失败，则调用会返回失败的原因，以便您进行问题排查。

------

### 删除 Audit Manager 服务相关角色的提示
<a name="delete-slr-tips"></a>

如果 Audit Manager 正在使用服务相关角色或具有关联的资源，则该角色的删除过程可能会失败。这种情况会发生在以下场景中：

1. 您的账户仍在一个或多个 AWS 区域注册了 Audit Manager。

1. 您的账户是 AWS 组织的一部分，管理账户或委托管理员账户仍在 Audit Manager 中注册。

要解决删除失败的问题，请先检查您是否 AWS 账户 是组织的一员。您可以通过调用 [DescribeOrganization](https://docs.aws.amazon.com/organizations/latest/APIReference/API_DescribeOrganization.html)API 操作或导航到 AWS Organizations 控制台来执行此操作。

**如果你 AWS 账户 是组织的一员**

1. 在您添加过委派管理员的所有 AWS 区域 中，使用管理帐户[在 Audit Manager 中删除委派管理员](https://docs.aws.amazon.com/audit-manager/latest/userguide/remove-delegated-admin.html)。

1. 使用您的管理帐户在所有使用该服务 AWS 区域 的地方[注销 Audit Manager](https://docs.aws.amazon.com/audit-manager/latest/userguide/disable.html)。

1. 请按照之前程序中的步骤重新尝试删除服务相关角色。

**如果你 AWS 账户 不是组织的一员**

1. 请务必在所有使用该服务 AWS 区域 的地方[注销 Audit Manager](https://docs.aws.amazon.com/audit-manager/latest/userguide/disable.html)。

1. 请按照之前程序中的步骤重新尝试删除服务相关角色。

从 Audit Manager 注销后，该服务将停止使用服务相关角色。然后，您可以成功删除该角色。

## AWS Audit Manager 服务相关角色支持的区域
<a name="slr-regions"></a>

AWS Audit Manager 支持在所有提供服务 AWS 区域 的地方使用与服务相关的角色。有关更多信息，请参阅[AWS 服务端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。