

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

# 对 Amazon Inspector 使用服务相关角色
<a name="using-service-linked-roles"></a>

Amazon Inspector 使用名`AWSServiceRoleForAmazonInspector2`为的 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)。此服务相关角色是与 Amazon Inspector 直接相关的 IAM 角色。它由 Amazon Inspector 预定义，它包括亚马逊检查员 AWS 服务 代表您致电他人所需的所有权限。

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

必须配置权限，允许 IAM 实体（如组或角色）创建、编辑或删除服务相关角色。有关更多信息，请参阅《*IAM 用户指南*》中的[服务相关角色权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。只有在首先删除服务相关角色的相关资源后，才能删除该角色。这将保护您的 Amazon Inspector 资源，因为您不会无意中删除对资源的访问权限。

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

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

 Amazon Inspector 使用名为 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonInspector2ServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonInspector2ServiceRolePolicy.html) 的托管式策略。该服务相关角色信任 `inspector2.amazonaws.com` 服务担任该角色。

该角色的权限策略名为 [https://docs.aws.amazon.com/inspector/latest/user/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonInspector2ServiceRolePolicy](https://docs.aws.amazon.com/inspector/latest/user/security-iam-awsmanpol.html#security-iam-awsmanpol-AmazonInspector2ServiceRolePolicy)，允许 Amazon Inspector 执行以下任务：
+ 使用 Amazon Elastic Compute Cloud (Amazon EC2) 操作检索有关实例和网络路径的信息。
+ 使用 AWS Systems Manager 操作从您的 Amazon EC2 实例中检索库存，并从自定义路径中检索有关第三方包裹的信息。
+ 使用 AWS Systems Manager `SendCommand`操作调用目标实例的 CIS 扫描。
+ 使用 Amazon Elastic Container Registry 操作检索有关您的容器映像的信息。
+ 使用 AWS Lambda 操作来检索有关您的 Lambda 函数的信息。
+ 使用 AWS Organizations 操作来描述关联的账户。
+ 使用 CloudWatch 操作来检索有关上次调用 Lambda 函数的时间的信息。
+ 使用“选择 IAM”操作检索可能在您的 Lambda 代码中造成安全漏洞的 IAM policy 的相关信息。
+ 使用 Amazon Q 操作对您的 Lambda 函数中的代码执行扫描。Amazon Inspector 使用以下 Amazon Q 操作：
  + codeguru-security: CreateScan — 授予创建 Amazon Q; 扫描的权限。
  + codeguru-security：GetScan — 授予检索 Amazon Q 扫描元数据的权限。
  + codeguru-security：ListFindings — 授予检索 Amazon Q 生成的调查结果的权限
  + codeguru-security：DeleteScansByCategory — 授予 Amazon Q 删除由 Amazon Inspector 启动的扫描的权限。
  + codeguru-security：BatchGetFindings — 授予检索 Amazon Q 生成的一批特定调查结果的权限
+ 使用“选择 Elastic Load Balancing”操作对属于 Elastic Load Balancing 目标组的 EC2 实例执行网络扫描。
+ 使用 Amazon ECS 和 Amazon EKS 操作允许进行只读访问，以查看集群和任务并描述任务。
+ 使用 AWS Organizations 操作列出跨组织的 Amazon Inspector 的委托管理员。
+ 使用 Amazon Inspector 操作可跨组织启用和禁用 Amazon Inspector。
+ 使用 Amazon Inspector 操作可跨组织指定委派管理员账户并关联成员账户。

**注意**  
 Amazon Inspector 不再使用它 CodeGuru 来执行 Lambda 扫描。 AWS 将于 2025 年 11 月 20 CodeGuru 日停止提供支持。有关更多信息，请参阅[终止对 CodeGuru 安全的支持](https://docs.aws.amazon.com/codeguru/latest/security-ug/end-of-support.html)。Amazon Inspector 现在使用 Amazon Q 执行 Lambda 扫描，不需要本节中描述的权限。

 要查看此策略的权限，请参阅《*AWS 托管策略参考指南》ServiceRolePolicy*中的 [AmazonInspector2](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonInspector2ServiceRolePolicy.html)。

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

您无需手动创建服务关联角色。当你在 AWS 管理控制台、或 AWS API 中激活 Amazon Inspector 时，Amazon Inspector 会为你创建与服务相关的角色。 AWS CLI

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

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

## 删除适用于 Amazon Inspector 的服务相关角色
<a name="delete-slr"></a>

如果您不再使用 Amazon Inspector，我们建议您删除 `AWSServiceRoleForAmazonInspector2` 服务相关角色。在删除角色之前，您必须在每个激活该角色 AWS 区域 的地方停用 Amazon Inspector。停用 Amazon Inspector 时，它不会为您删除该角色。因此，如果您再次激活 Amazon Inspector，它可以使用现有角色。这样，您就可以避免出现未监控或维护的未使用实体。但是，您必须先清除服务相关角色的资源，然后才能手动删除它。

如果删除此服务相关角色然后需要再次创建它，则可以使用相同的流程在您的账户中重新创建此角色。激活 Amazon Inspector 时，Amazon Inspector 会为您重新创建服务相关角色。

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

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

# Amazon Inspector 无代理扫描的服务相关角色权限
<a name="slr-permissions-agentless"></a>

Amazon Inspector 无代理扫描使用名为 `AWSServiceRoleForAmazonInspector2Agentless` 的服务相关角色。这个 SLR 允许 Amazon Inspector 在您的账户中创建 Amazon EBS 卷快照，然后访问该快照中的数据。该服务相关角色信任 `agentless.inspector2.amazonaws.com` 服务担任该角色。

**重要**  
此服务相关角色中的语句会阻止 Amazon Inspector 对您使用 `InspectorEc2Exclusion` 标签从扫描中排除的任何 EC2 实例执行无代理扫描。此外，当用于加密卷的 KMS 密钥带有 `InspectorEc2Exclusion` 标签时，这些语句会阻止 Amazon Inspector 访问相应卷中的加密数据。有关更多信息，请参阅 [从 Amazon Inspector 扫描中排除实例](scanning-ec2.md#exclude-ec2)。

该角色的权限策略名为 `AmazonInspector2AgentlessServiceRolePolicy`，允许 Amazon Inspector 执行以下任务：
+ 使用 Amazon Elastic Compute Cloud（Amazon EC2）操作检索有关 EC2 实例、卷和快照的信息。
  + 使用 Amazon EC2 标记操作，用 `InspectorScan` 标签键为扫描的快照添加标签。
  + 使用 Amazon EC2 快照操作创建快照，用 `InspectorScan` 标签键为其添加标签，然后删除 Amazon EBS 卷带有 `InspectorScan` 标签键的快照。
+ 使用 Amazon EBS 操作，从带有 `InspectorScan` 标签键的快照中检索信息。
+ 使用选择 AWS KMS 解密操作来解密使用客户托管密钥加密的 AWS KMS 快照。当用于加密快照的 KMS 密钥带有 `InspectorEc2Exclusion` 标签时，Amazon Inspector 不会解密相应快照。

该角色使用以下权限策略进行配置：

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "InstanceIdentification",
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeInstances",
				"ec2:DescribeVolumes",
				"ec2:DescribeSnapshots"
			],
			"Resource": "*"
		},
		{
			"Sid": "GetSnapshotData",
			"Effect": "Allow",
			"Action": [
				"ebs:ListSnapshotBlocks",
				"ebs:GetSnapshotBlock"
			],
			"Resource": "arn:aws:ec2:*:*:snapshot/*",
			"Condition": {
				"StringLike": {
					"aws:ResourceTag/InspectorScan": "*"
				}
			}
		},
		{
			"Sid": "CreateSnapshotsAnyInstanceOrVolume",
			"Effect": "Allow",
			"Action": "ec2:CreateSnapshots",
			"Resource": [
				"arn:aws:ec2:*:*:instance/*",
				"arn:aws:ec2:*:*:volume/*"
			]
		},
		{
			"Sid": "DenyCreateSnapshotsOnExcludedInstances",
			"Effect": "Deny",
			"Action": "ec2:CreateSnapshots",
			"Resource": "arn:aws:ec2:*:*:instance/*",
			"Condition": {
				"StringEquals": {
					"ec2:ResourceTag/InspectorEc2Exclusion": "true"
				}
			}
		},
		{
			"Sid": "CreateSnapshotsOnAnySnapshotOnlyWithTag",
			"Effect": "Allow",
			"Action": "ec2:CreateSnapshots",
			"Resource": "arn:aws:ec2:*:*:snapshot/*",
			"Condition": {
				"Null": {
					"aws:TagKeys": "false"
				},
				"ForAllValues:StringEquals": {
					"aws:TagKeys": "InspectorScan"
				}
			}
		},
		{
			"Sid": "CreateOnlyInspectorScanTagOnlyUsingCreateSnapshots",
			"Effect": "Allow",
			"Action": "ec2:CreateTags",
			"Resource": "arn:aws:ec2:*:*:snapshot/*",
			"Condition": {
				"StringLike": {
					"ec2:CreateAction": "CreateSnapshots"
				},
				"Null": {
					"aws:TagKeys": "false"
				},
				"ForAllValues:StringEquals": {
					"aws:TagKeys": "InspectorScan"
				}
			}
		},
		{
			"Sid": "DeleteOnlySnapshotsTaggedForScanning",
			"Effect": "Allow",
			"Action": "ec2:DeleteSnapshot",
			"Resource": "arn:aws:ec2:*:*:snapshot/*",
			"Condition": {
				"StringLike": {
					"ec2:ResourceTag/InspectorScan": "*"
				}
			}
		},
		{
			"Sid": "DenyKmsDecryptForExcludedKeys",
			"Effect": "Deny",
			"Action": "kms:Decrypt",
			"Resource": "arn:aws:kms:*:*:key/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceTag/InspectorEc2Exclusion": "true"
				}
			}
		},
		{
			"Sid": "DecryptSnapshotBlocksVolContext",
			"Effect": "Allow",
			"Action": "kms:Decrypt",
			"Resource": "arn:aws:kms:*:*:key/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				},
				"StringLike": {
					"kms:ViaService": "ec2.*.amazonaws.com",
					"kms:EncryptionContext:aws:ebs:id": "vol-*"
				}
			}
		},
		{
			"Sid": "DecryptSnapshotBlocksSnapContext",
			"Effect": "Allow",
			"Action": "kms:Decrypt",
			"Resource": "arn:aws:kms:*:*:key/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				},
				"StringLike": {
					"kms:ViaService": "ec2.*.amazonaws.com",
					"kms:EncryptionContext:aws:ebs:id": "snap-*"
				}
			}
		},
		{
			"Sid": "DescribeKeysForEbsOperations",
			"Effect": "Allow",
			"Action": "kms:DescribeKey",
			"Resource": "arn:aws:kms:*:*:key/*",
			"Condition": {
				"StringEquals": {
					"aws:ResourceAccount": "${aws:PrincipalAccount}"
				},
				"StringLike": {
					"kms:ViaService": "ec2.*.amazonaws.com"
				}
			}
		},
		{
			"Sid": "ListKeyResourceTags",
			"Effect": "Allow",
			"Action": "kms:ListResourceTags",
			"Resource": "arn:aws:kms:*:*:key/*"
		}
	]
}
```

------

## 创建用于无代理扫描的服务相关角色
<a name="create-slr"></a>

您无需手动创建服务关联角色。当你在 AWS 管理控制台、或 AWS API 中激活 Amazon Inspector 时，Amazon Inspector 会为你创建与服务相关的角色。 AWS CLI

## 编辑用于无代理扫描的服务相关角色
<a name="edit-slr"></a>

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

## 删除用于无代理扫描的服务相关角色
<a name="delete-slr"></a>

如果不再需要使用某个需要服务相关角色的特征或服务，我们建议您删除该角色。这样您就没有未被主动监控或维护的未使用实体。

**重要**  
要删除 `AWSServiceRoleForAmazonInspector2Agentless` 角色，您必须在所有支持无代理扫描的区域中将扫描模式设置为基于代理。

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

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