

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

# Amazon Detective 的身份和访问管理
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) AWS 服务 可帮助管理员安全地控制对 AWS 资源的访问权限。IAM 管理员控制可以*通过身份验证*（登录）和*授权*（具有权限）使用资源的人员。您可以使用 IAM AWS 服务 ，无需支付额外费用。

**Topics**
+ [受众](#security_iam_audience)
+ [使用身份进行身份验证](#security_iam_authentication)
+ [使用策略管理访问](#security_iam_access-manage)
+ [Amazon Detective 如何与 IAM 协同工作](security_iam_service-with-iam.md)
+ [Amazon Detective 基于身份的策略示例](security_iam_id-based-policy-examples.md)
+ [AWS Amazon Detective 的托管政策](security-iam-awsmanpol.md)
+ [使用 Detective 的服务相关角色](using-service-linked-roles.md)
+ [对 Amazon Detective 身份和访问进行故障排除](security_iam_troubleshoot.md)

## 受众
<a name="security_iam_audience"></a>

您的使用方式 AWS Identity and Access Management (IAM) 因您的角色而异：
+ **服务用户**：如果您无法访问功能，请从管理员处请求权限（请参阅[对 Amazon Detective 身份和访问进行故障排除](security_iam_troubleshoot.md)）
+ **服务管理员**：确定用户访问权限并提交权限请求（请参阅[Amazon Detective 如何与 IAM 协同工作](security_iam_service-with-iam.md)）
+ **IAM 管理员**：编写用于管理访问权限的策略（请参阅[Amazon Detective 基于身份的策略示例](security_iam_id-based-policy-examples.md)）

## 使用身份进行身份验证
<a name="security_iam_authentication"></a>

身份验证是您 AWS 使用身份凭证登录的方式。您必须以 IAM 用户身份进行身份验证 AWS 账户根用户，或者通过担任 IAM 角色进行身份验证。

您可以使用来自身份源的证书 AWS IAM Identity Center （例如（IAM Identity Center）、单点登录身份验证或 Google/Facebook 证书，以联合身份登录。有关登录的更多信息，请参阅《AWS 登录 用户指南》**中的[如何登录您的 AWS 账户](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html)。

对于编程访问， AWS 提供 SDK 和 CLI 来对请求进行加密签名。有关更多信息，请参阅*《IAM 用户指南》*中的[适用于 API 请求的AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。

### AWS 账户 root 用户
<a name="security_iam_authentication-rootuser"></a>

 创建时 AWS 账户，首先会有一个名为 AWS 账户 *root 用户的*登录身份，该身份可以完全访问所有资源 AWS 服务 和资源。我们强烈建议不要使用根用户进行日常任务。有关要求根用户凭证的任务，请参阅*《IAM 用户指南》*中的[需要根用户凭证的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

### IAM 用户和群组
<a name="security_iam_authentication-iamuser"></a>

*[IAM 用户](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*是对某个人员或应用程序具有特定权限的一个身份。建议使用临时凭证，而非具有长期凭证的 IAM 用户。有关更多信息，请参阅 *IAM 用户指南*[中的要求人类用户使用身份提供商的联合身份验证才能 AWS 使用临时证书进行访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)。

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)指定一组 IAM 用户，便于更轻松地对大量用户进行权限管理。有关更多信息，请参阅*《IAM 用户指南》*中的 [IAM 用户使用案例](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html)。

### IAM 角色
<a name="security_iam_authentication-iamrole"></a>

*[IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*是具有特定权限的身份，可提供临时凭证。您可以通过[从用户切换到 IAM 角色（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html)或调用 AWS CLI 或 AWS API 操作来代入角色。有关更多信息，请参阅《IAM 用户指南》**中的[担任角色的方法](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)。

IAM 角色对于联合用户访问、临时 IAM 用户权限、跨账户访问、跨服务访问以及在 Amazon EC2 上运行的应用程序非常有用。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。

## 使用策略管理访问
<a name="security_iam_access-manage"></a>

您可以 AWS 通过创建策略并将其附加到 AWS 身份或资源来控制中的访问权限。策略定义了与身份或资源关联时的权限。 AWS 在委托人提出请求时评估这些政策。大多数策略都以 JSON 文档的 AWS 形式存储在中。有关 JSON 策略文档的更多信息，请参阅*《IAM 用户指南》*中的 [JSON 策略概述](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json)。

管理员使用策略，通过定义哪个**主体**可以在什么**条件**下对哪些**资源**执行哪些**操作**来指定谁有权访问什么。

默认情况下，用户和角色没有权限。IAM 管理员创建 IAM 策略并将其添加到角色中，然后用户可以担任这些角色。IAM 策略定义权限，与执行操作所用的方法无关。

### 基于身份的策略
<a name="security_iam_access-manage-id-based-policies"></a>

基于身份的策略是您附加到身份（用户、组或角色）的 JSON 权限策略文档。这些策略控制身份可以执行什么操作、对哪些资源执行以及在什么条件下执行。要了解如何创建基于身份的策略，请参阅《IAM 用户指南》**中的[使用客户管理型策略定义自定义 IAM 权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)。

基于身份的策略可以是*内联策略*（直接嵌入到单个身份中）或*托管策略*（附加到多个身份的独立策略）。要了解如何在托管策略和内联策略之间进行选择，请参阅*《IAM 用户指南》*中的[在托管策略与内联策略之间进行选择](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html)。

### 基于资源的策略
<a name="security_iam_access-manage-resource-based-policies"></a>

基于资源的策略是附加到资源的 JSON 策略文档。示例包括 IAM *角色信任策略*和 Amazon S3 *存储桶策略*。在支持基于资源的策略的服务中，服务管理员可以使用它们来控制对特定资源的访问。您必须在基于资源的策略中[指定主体](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。

基于资源的策略是位于该服务中的内联策略。您不能在基于资源的策略中使用 IAM 中的 AWS 托管策略。

### 访问控制列表 (ACLs)
<a name="security_iam_access-manage-acl"></a>

访问控制列表 (ACLs) 控制哪些委托人（账户成员、用户或角色）有权访问资源。 ACLs 与基于资源的策略类似，尽管它们不使用 JSON 策略文档格式。

Amazon S3 和 Amazon VPC 就是支持的服务示例 ACLs。 AWS WAF要了解更多信息 ACLs，请参阅《*亚马逊简单存储服务开发者指南*》中的[访问控制列表 (ACL) 概述](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)。

### 其他策略类型
<a name="security_iam_access-manage-other-policies"></a>

AWS 支持其他策略类型，这些策略类型可以设置更常见的策略类型授予的最大权限：
+ **权限边界** – 设置基于身份的策略可以授予 IAM 实体的最大权限。有关更多信息，请参阅《 IAM 用户指南》**中的 [IAM 实体的权限边界](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)。
+ **服务控制策略 (SCPs)**-在中指定组织或组织单位的最大权限 AWS Organizations。有关更多信息，请参阅《AWS Organizations 用户指南》**中的[服务控制策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。
+ **资源控制策略 (RCPs)**-设置账户中资源的最大可用权限。有关更多信息，请参阅《*AWS Organizations 用户指南》*中的[资源控制策略 (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)。
+ **会话策略** – 在为角色或联合用户创建临时会话时，作为参数传递的高级策略。有关更多信息，请参阅《IAM 用户指南》**中的[会话策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)。

### 多个策略类型
<a name="security_iam_access-manage-multiple-policies"></a>

当多个类型的策略应用于一个请求时，生成的权限更加复杂和难以理解。要了解在涉及多种策略类型时如何 AWS 确定是否允许请求，请参阅 *IAM 用户指南*中的[策略评估逻辑](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)。

# Amazon Detective 如何与 IAM 协同工作
<a name="security_iam_service-with-iam"></a>

默认情况下，用户和角色没有创建或修改 Amazon Detective 资源的权限。他们也无法使用 AWS 管理控制台 AWS CLI、或 AWS API 执行任务。Detective 管理员必须拥有 AWS Identity and Access Management (IAM) 策略，授予 IAM 用户和角色对他们所需的指定资源执行特定 API 操作的权限。然后，管理员必须将这些策略附加到需要这些权限的主体。

Detective 使用基于 IAM 身份的策略为以下类型的用户和操作授予权限：
+ **管理员账户** - 管理员账户是行为图的所有者，行为图使用其账户中的数据。管理员账户可以邀请成员账户为行为图提供数据。管理员帐户还可以使用行为图来分类和调查与这些帐户关联的发现和资源。

  可以设置策略，允许管理员账户以外的用户执行不同类型的任务。例如，管理员账户中的用户可能只具有管理成员账户的权限。其他用户可能只拥有使用行为图进行调查的权限。
+ **成员账户** — 成员账户是受邀向行为图提供数据的账户。成员账号对邀请作出回应。接受邀请后，成员账户可以从行为图中删除其账户。

要全面了解 Detective 和其他人如何 AWS 服务 使用 IAM，请参阅 IA *M 用户指南*中的 [“在 JSON” 选项卡上创建策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor)。

## Detective 基于身份的策略
<a name="security_iam_service-with-iam-id-based-policies"></a>

通过使用 IAM 基于身份的策略，可以指定允许或拒绝的操作和资源以及允许或拒绝操作的条件。Detective 支持特定的操作、资源和条件键。

要了解在 JSON 策略中使用的所有元素，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)。

### 操作
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

JSON 策略的 `Action` 元素描述可用于在策略中允许或拒绝访问的操作。在策略中包含操作以授予执行关联操作的权限。

策略语句必须包含 `Action` 或 `NotAction` 元素。`Action` 元素列出了策略允许的操作。`NotAction` 元素列出了不允许的操作。

为 Detective 定义的操作反映了可以使用 Detective 执行的任务。Detective 中的策略操作具有以下前缀：`detective:`。

例如，要授予使用 `CreateMembers` API 操作邀请成员账户访问行为图的权限，应将 `detective:CreateMembers` 操作纳入其策略中。

要在单个语句中指定多项操作，请使用逗号将它们隔开。例如，对于成员账户，该策略包括一组与管理邀请相关的操作：

```
"Action": [
      "detective:ListInvitations",
      "detective:AcceptInvitation",
      "detective:RejectInvitation",
      "detective:DisassociateMembership
]
```

可以使用通配符 (\$1) 指定多个操作。例如，要管理行为图中使用的数据，Detective 中的管理员账户必须能够执行以下任务：
+ 查看他们的成员账户列表 (`ListMembers`)。
+ 获取有关所选成员账户的信息 (`GetMembers`)。
+ 邀请成员账号查看其行为图 (`CreateMembers`)。
+ 将成员从其行为图中删除 (`DeleteMembers`)。

可以授予对所有以 `Members` 词结尾的操作的访问权限，而不必单独列出这些操作。这方面的政策可能包括以下操作：

```
"Action": "detective:*Members"
```



要查看 Detective 操作的列表，请参阅《服务授权参考》**中的 [Amazon Detective 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondetective.html#amazondetective-actions-as-permissions)。

### 资源
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Resource` JSON 策略元素指定要向其应用操作的一个或多个对象。作为最佳实践，请使用其 [Amazon 资源名称（ARN）](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)指定资源。对于不支持资源级权限的操作，请使用通配符 (\$1) 指示语句应用于所有资源。

```
"Resource": "*"
```



有关格式的更多信息 ARNs，请参阅 [Amazon 资源名称 (ARNs) 和 AWS 服务命名空间](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)。

对于 Detective，唯一的资源类型是行为图。Detective 中的行为图资源拥有以下 ARN：

```
arn:aws:detective:${Region}:${AccountId}:graph:${GraphId}
```

例如，行为图具有以下值：
+ 行为图的区域是 `us-east-1`。
+ 管理员账户 ID 的账户 ID 是 `111122223333`。
+ 行为图的图 ID 是 `027c7c4610ea4aacaf0b883093cab899`。

要在 `Resource` 语句中识别此行为图，可以使用以下 ARN：

```
"Resource": "arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899"
```

要在 `Resource` 语句中指定多个资源，请使用逗号分隔它们。

```
"Resource": [
      "resource1",
      "resource2"
]
```

例如，在多个行为图中，可能会邀请同 AWS 一个账户成为成员账户。在该成员账户的政策中，`Resource` 语句将列出他们受邀访问的行为图。

```
"Resource": [
      "arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899",
      "arn:aws:detective:us-east-1:444455556666:graph:056d2a9521xi2bbluw1d164680eby416"
]
```

某些 Detective 操作（例如创建行为图、列出行为图和列出行为图邀请）不会在特定行为图上执行。要执行这些操作，`Resource` 语句必须使用通配符 (\$1)。

```
"Resource": "*"
```

对于管理员账户操作，Detective 始终会验证发出请求的用户是否属于受影响行为图的管理员账户。对于成员账户操作，Detective 始终会验证提出请求的用户是否属于成员账户。即使 IAM 策略授予对行为图的访问权限，但如果用户不属于正确的账户，也无法执行操作。

对于在特定行为图上执行的所有操作，IAM 策略应包括图的 ARN。图 ARN 可稍后添加。例如，当一个账户首次启用 Detective 时，初始 IAM 策略会使用图 ARN 的通配符提供对所有 Detective 操作的访问权限。这样，用户就可以立即开始管理成员账户，并在其行为图中进行调查。创建行为图后，可以更新策略以添加图 ARN。

### 条件键
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

管理员可以使用 AWS JSON 策略来指定谁有权访问什么。也就是说，哪个**主体**可以对什么**资源**执行**操作**，以及在什么**条件**下执行。

`Condition` 元素根据定义的条件指定语句何时执行。您可以创建使用[条件运算符](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)（例如，等于或小于）的条件表达式，以使策略中的条件与请求中的值相匹配。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

Detective 不定义自己的一组条件键。它确实支持使用全局条件键。要查看所有 AWS 全局条件键，请参阅 *IAM 用户指南*中的[AWS 全局条件上下文密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。



要了解可以对哪些操作和资源使用条件键，请参阅 [Amazon Detective 定义的操作](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazondetective.html#amazondetective-actions-as-permissions)。

### 示例
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



要查看 Detective 基于身份的策略的示例，请参阅[Amazon Detective 基于身份的策略示例](security_iam_id-based-policy-examples.md)。

## Detective 基于资源的策略（不受支持）
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Detective 不支持基于资源的策略。

## 基于 Detective 行为图标签的授权
<a name="security_iam_service-with-iam-tags"></a>

可以为每个行为图分配标签值。可以在条件语句中使用这些标签值来管理对行为图的访问。

标签值的条件语句使用以下格式。

```
{"StringEquals"{"aws:ResourceTag/<tagName>": "<tagValue>"}}
```

例如，当 `Department` 标签的值为 `Finance` 时，使用以下代码来允许或拒绝操作。

```
{"StringEquals"{"aws:ResourceTag/Department": "Finance"}}
```

有关使用资源标签值的策略示例，请参阅[管理员账户：根据标签值限制访问](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-graph-tags)。

## Detective IAM 角色
<a name="security_iam_service-with-iam-roles"></a>

I [AM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是您的 AWS 账户中具有特定权限的实体。

### 使用 Detective 的临时凭证
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

可以使用临时凭证进行联合身份验证登录，代入 IAM 角色或代入跨账户角色。您可以通过调用[AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)或之类的 AWS STS API 操作来获取临时安全证书[GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)。

Detective 支持使用临时凭证。

### 服务关联角色
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[服务相关角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)允许 AWS 服务访问其他服务中的资源以代表您完成操作。服务关联角色显示在 IAM 账户中，并归该服务所有。IAM 管理员可以查看但不能编辑服务关联角色的权限。

有关创建或管理 Detective 服务相关角色的详细信息，请参阅[使用 Detective 的服务相关角色](using-service-linked-roles.md)。

### 服务角色（不支持）
<a name="security_iam_service-with-iam-roles-service"></a>

此特征允许服务代表您代入[服务角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)。此角色允许服务访问其他服务中的资源以代表您完成操作。服务角色显示在 IAM 账户中，并归该账户所有。这意味着，IAM 管理员可以更改该角色的权限。但是，这样做可能会中断服务的功能。

Detective 不支持服务角色。

# Amazon Detective 基于身份的策略示例
<a name="security_iam_id-based-policy-examples"></a>

默认情况下，IAM 用户和角色没有创建或修改 Detective 资源的权限。他们也无法使用 AWS 管理控制台 AWS CLI、或 AWS API 执行任务。

IAM 管理员必须创建 IAM 策略，以便为用户和角色授予权限以对所需的指定资源执行特定的 API 操作。然后，管理员将这些策略附加到需要这些权限的 IAM 用户或组。

要了解如何使用这些示例 JSON 策略文档创建 IAM 基于身份的策略，请参阅《IAM 用户指南》中的[在 JSON 选项卡上创建策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)**。

**Topics**
+ [策略最佳实践](#security_iam_service-with-iam-policy-best-practices)
+ [使用 Detective 控制台](#security_iam_id-based-policy-examples-console)
+ [允许用户查看他们自己的权限](#security_iam_id-based-policy-examples-view-own-permissions)
+ [管理员账户：在行为图中管理成员账户](#security_iam_id-based-policy-examples-admin-account-mgmt)
+ [管理员账户：使用行为图进行调查](#security_iam_id-based-policy-examples-admin-investigate)
+ [成员账号：管理行为图邀请和成员资格](#security_iam_id-based-policy-examples-member-account)
+ [管理员账户：根据标签值限制访问](#security_iam_id-based-policy-examples-graph-tags)

## 策略最佳实践
<a name="security_iam_service-with-iam-policy-best-practices"></a>

基于身份的策略确定某个人是否可以创建、访问或删除账户中的 Detective 资源。这些操作可能会使 AWS 账户产生成本。创建或编辑基于身份的策略时，请遵循以下指南和建议：
+ **开始使用 AWS 托管策略并转向最低权限权限** — 要开始向用户和工作负载授予权限，请使用为许多常见用例授予权限的*AWS 托管策略*。它们在你的版本中可用 AWS 账户。我们建议您通过定义针对您的用例的 AWS 客户托管策略来进一步减少权限。有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)或[工作职能的AWS 托管策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html)。
+ **应用最低权限**：在使用 IAM 策略设置权限时，请仅授予执行任务所需的权限。为此，您可以定义在特定条件下可以对特定资源执行的操作，也称为*最低权限许可*。有关使用 IAM 应用权限的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的策略和权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)。
+ **使用 IAM 策略中的条件进一步限制访问权限**：您可以向策略添加条件来限制对操作和资源的访问。例如，您可以编写策略条件来指定必须使用 SSL 发送所有请求。如果服务操作是通过特定的方式使用的，则也可以使用条件来授予对服务操作的访问权限 AWS 服务，例如 CloudFormation。有关更多信息，请参阅《IAM 用户指南》**中的 [IAM JSON 策略元素：条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)。
+ **使用 IAM Access Analyzer 验证您的 IAM 策略，以确保权限的安全性和功能性**：IAM Access Analyzer 会验证新策略和现有策略，以确保策略符合 IAM 策略语言（JSON）和 IAM 最佳实践。IAM Access Analyzer 提供 100 多项策略检查和可操作的建议，以帮助您制定安全且功能性强的策略。有关更多信息，请参阅《IAM 用户指南》**中的[使用 IAM Access Analyzer 验证策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **需要多重身份验证 (MFA**)-如果 AWS 账户您的场景需要 IAM 用户或根用户，请启用 MFA 以提高安全性。若要在调用 API 操作时需要 MFA，请将 MFA 条件添加到您的策略中。有关更多信息，请参阅《IAM 用户指南》**中的[使用 MFA 保护 API 访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html)。

有关 IAM 中的最佳实操的更多信息，请参阅《IAM 用户指南》**中的 [IAM 中的安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)。

## 使用 Detective 控制台
<a name="security_iam_id-based-policy-examples-console"></a>

要使用 Amazon Detective 控制台，用户或角色必须有权访问与 API 中的相应操作相匹配的相关操作。

要启用 Detective 并成为行为图的管理员账户，必须向用户或角色授予 `CreateGraph` 操作权限。

要使用 Detective 控制台执行任何管理员账户操作，必须向用户或角色授予 `ListGraphs` 操作权限。这就授予了他们作为管理员账户检索行为图的权限。还必须向他们授予执行特定管理员账户操作的权限。

管理员账户最基本的操作是在行为图中查看成员账户列表，并使用行为图进行调查。
+ 要查看行为图中的成员账户列表，必须向主体授予 `ListMembers` 操作的权限。
+ 要在行为图中进行调查，必须向主体授予 `SearchGraph` 操作的权限。

要使用 Detective 控制台执行任何成员账户操作，必须向用户或角色授予 `ListInvitations` 操作的权限。这会授予查看行为图邀请的权限。然后就可以授予他们特定成员账户操作的权限。

## 允许用户查看他们自己的权限
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

该示例说明了如何创建策略，以支持 IAM 用户查看附加到其用户身份的内联和托管策略。此策略包括在控制台上或使用 AWS CLI 或 AWS API 以编程方式完成此操作的权限。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## 管理员账户：在行为图中管理成员账户
<a name="security_iam_id-based-policy-examples-admin-account-mgmt"></a>

此示例策略适用于仅负责管理行为图中使用的成员账户的管理员账户用户。该策略还允许用户查看使用信息并停用 Detective。该策略未授予使用行为图进行调查的权限。

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

****  

```
{"Version":"2012-10-17",		 	 	 
  "Statement":[
   {
    "Effect":"Allow",
    "Action":["detective:ListMembers","detective:CreateMembers","detective:DeleteMembers","detective:DeleteGraph","detective:Get*","detective:StartMonitoringMember"],
    "Resource":"arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899"
  },
  {
    "Effect":"Allow",
    "Action":["detective:CreateGraph","detective:ListGraphs"],
    "Resource":"*"
  }
 ]
}
```

------

## 管理员账户：使用行为图进行调查
<a name="security_iam_id-based-policy-examples-admin-investigate"></a>

此示例策略适用于仅使用行为图进行调查的管理员账户用户。他们无法在行为图中查看或编辑成员账户列表。

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

****  

```
{"Version":"2012-10-17",		 	 	 
  "Statement":[
   {
    "Effect":"Allow",
    "Action":["detective:SearchGraph"],
    "Resource":"arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899"
   },
   {
    "Effect":"Allow",
    "Action":["detective:ListGraphs"],
    "Resource":"*"
  }
 ]
}
```

------

## 成员账号：管理行为图邀请和成员资格
<a name="security_iam_id-based-policy-examples-member-account"></a>

此示例策略适用于属于成员账户的用户。在示例中，成员账户属于两个行为图。该策略授予回复邀请和从行为图中删除成员账户的权限。

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

****  

```
{"Version":"2012-10-17",		 	 	 
  "Statement":[
   {
    "Effect":"Allow",
   "Action":["detective:AcceptInvitation","detective:RejectInvitation","detective:DisassociateMembership"],
   "Resource":[
       "arn:aws:detective:us-east-1:111122223333:graph:027c7c4610ea4aacaf0b883093cab899",
       "arn:aws:detective:us-east-1:444455556666:graph:056d2a9521xi2bbluw1d164680eby416"
    ]
  },
  {
    "Effect":"Allow",
    "Action":["detective:ListInvitations"],
    "Resource":"*"
  }
 ]
}
```

------

## 管理员账户：根据标签值限制访问
<a name="security_iam_id-based-policy-examples-graph-tags"></a>

如果行为图的 `SecurityDomain` 标签与用户的 `SecurityDomain` 标签匹配，则以下策略允许用户使用行为图进行调查。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "detective:SearchGraph"
            ],
            "Resource": "arn:aws:detective:*:*:graph:*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SecurityDomain": "aws:PrincipalTag/SecurityDomain"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "detective:ListGraphs"
            ],
            "Resource": "*"
        }
    ]
}
```

------

如果行为图的 `SecurityDomain` 标签值为 `Finance`，则以下策略禁止用户使用行为图进行调查。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[ {
        "Effect":"Deny",
        "Action":["detective:SearchGraph"],
        "Resource":"arn:aws:detective:*:*:graph:*",
        "Condition": {
            "StringEquals": {"aws:ResourceTag/SecurityDomain": "Finance"}
        }
    } ]
}
```

------

# AWS Amazon Detective 的托管政策
<a name="security-iam-awsmanpol"></a>

 AWS 托管策略是由创建和管理的独立策略 AWS。 AWS 托管策略旨在为许多常见用例提供权限，以便您可以开始为用户、组和角色分配权限。

请记住， AWS 托管策略可能不会为您的特定用例授予最低权限权限，因为它们可供所有 AWS 客户使用。我们建议通过定义特定于使用案例的[客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)来进一步减少权限。

您无法更改 AWS 托管策略中定义的权限。如果 AWS 更新 AWS 托管策略中定义的权限，则更新会影响该策略所关联的所有委托人身份（用户、组和角色）。 AWS 最有可能在启动新的 API 或现有服务可以使用新 AWS 服务 的 API 操作时更新 AWS 托管策略。

有关更多信息，请参阅《IAM 用户指南》**中的 [AWS 托管式策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)。







## AWS 托管策略：AmazonDetectiveFullAccess
<a name="security-iam-awsmanpol-amazondetectivefullaccess"></a>

您可以将 `AmazonDetectiveFullAccess` 策略附加到 IAM 身份。

此策略授予管理权限，允许主体完全访问所有 Amazon Detective 操作。可以在主体为其账户启用 Detective 之前，将该策略附加到主体。它还必须附加到用于运行 Detective Python 脚本以创建和管理行为图的角色。

拥有这些权限的主体可以管理成员账户，为其行为图添加标签，并使用 Detective 进行调查。他们还可以存档 GuardDuty 调查结果。该策略提供了 Detective 控制台显示其中账户的账户名所需的权限 AWS Organizations。

**权限详细信息**

该策略包含以下权限：
+ `detective`— 允许主体完全访问所有 Detective 操作。
+ `organizations`— 允许主体从 AWS Organizations 获取有关组织内账户的信息。如果账户属于某个组织，则这些权限允许 Detective 控制台显示账户名称和账号。
+ `guardduty`— 允许校长从 Detective 内部获取和存档 GuardDuty调查结果。
+ `securityhub`— 允许校长从 Detective 内部获取 Security Hub CSPM 的调查结果。



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "detective:*",
                "organizations:DescribeOrganization",
                "organizations:ListAccounts"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "guardduty:ArchiveFindings"
            ],
            "Resource": "arn:aws:guardduty:*:*:detector/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "guardduty:GetFindings",
                "guardduty:ListDetectors"
                
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                 "securityHub:GetFindings"
            ],
            "Resource": "*"
         } 
    ]
}
```

------

## AWS 托管策略：AmazonDetectiveMemberAccess
<a name="security-iam-awsmanpol-amazondetectivememberaccess"></a>

可以将 `AmazonDetectiveMemberAccess` 策略附加到您的 IAM 实体。





该策略为成员提供对 Amazon Detective 的访问权限并限定对控制台的访问权限。

可以通过此策略：
+ 查看 Detective 图成员资格邀请并接受或拒绝这些邀请。
+ 在**使用情况**页面上查看在 Detective 中的活动如何影响使用该服务的费用。
+ 在图中退出成员资格。

该策略授予只读权限，允许在一定范围内访问 Detective 控制台。



**权限详细信息**

该策略包含以下权限：




+ `detective`— 允许成员访问 Detective。



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "detective:AcceptInvitation",
        "detective:BatchGetMembershipDatasources",
        "detective:DisassociateMembership",
        "detective:GetFreeTrialEligibility",
        "detective:GetPricingInformation",
        "detective:GetUsageInformation",
        "detective:ListInvitations",
        "detective:RejectInvitation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS 托管策略：AmazonDetectiveInvestigatorAccess
<a name="security-iam-awsmanpol-amazondetectiveinvestigatoraccesspolicy"></a>

可以将 `AmazonDetectiveInvestigatorAccess` 策略附加到您的 IAM 实体。





该策略为调查人员提供对 Detective 服务的访问权限并限定对 Detective 控制台 UI 依赖项的访问权限。此策略授予在 Detective 中为 IAM 用户和 IAM 角色启用 Detective 调查的权限。您可以通过调查确定漏洞指标，例如使用调查报告的调查发现，该报告提供有关安全指标的分析和见解。该报告按严重程度进行排序，严重程度是使用 Detective 的行为分析和机器学习确定的。您可以使用该报告来确定资源修复的优先级。



**权限详细信息**

该策略包含以下权限：




+ `detective`：允许主体调查人员访问 Detective 操作，启用 Detective 调查并启用调查发现组摘要。
+ `guardduty`— 允许校长从 Detective 内部获取和存档 GuardDuty调查结果。
+ `securityhub`— 允许校长从 Detective 内部获取 Security Hub CSPM 的调查结果。
+ `organizations`— 允许委托人从 AWS Organizations中检索有关组织中帐户的信息。如果账户属于某个组织，则这些权限允许 Detective 控制台显示账户名称和账号。



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DetectivePermissions",
      "Effect": "Allow",
      "Action": [ 
        "detective:BatchGetGraphMemberDatasources",
        "detective:BatchGetMembershipDatasources",
        "detective:DescribeOrganizationConfiguration",
        "detective:GetFreeTrialEligibility",
        "detective:GetGraphIngestState",
        "detective:GetMembers",
        "detective:GetPricingInformation",
        "detective:GetUsageInformation",
        "detective:ListDatasourcePackages",
        "detective:ListGraphs",
        "detective:ListHighDegreeEntities",
        "detective:ListInvitations",
        "detective:ListMembers",
        "detective:ListOrganizationAdminAccount",
        "detective:ListTagsForResource",
        "detective:SearchGraph",
        "detective:StartInvestigation",
        "detective:GetInvestigation",
        "detective:ListInvestigations",
        "detective:UpdateInvestigationState",
        "detective:ListIndicators",
        "detective:InvokeAssistant"
      ],
      "Resource": "*"
    },
    {
      "Sid": "OrganizationsPermissions",
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeOrganization",
        "organizations:ListAccounts"
      ],
      "Resource": "*"
    },
    {
      "Sid": "GuardDutyPermissions",
      "Effect": "Allow",
      "Action": [
        "guardduty:ArchiveFindings",
        "guardduty:GetFindings",
        "guardduty:ListDetectors"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SecurityHubPermissions",
      "Effect": "Allow",
      "Action": [
        "securityHub:GetFindings"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## AWS 托管策略： AmazonDetectiveOrganizationsAccess
<a name="security-iam-awsmanpol-amazondetectiveorganizationsaccesspolicy"></a>

可以将 `AmazonDetectiveOrganizationsAccess` 策略附加到您的 IAM 实体。

该策略授予在组织内启用和管理 Amazon Detective 的权限。可以在整个组织内启用 Detective 并确定 Detective 的授权管理员账户。

**权限详细信息**

该策略包含以下权限：




+ `detective`— 允许主体访问 Detective 操作。
+ `iam`— 指定在 Detective 调用 `EnableOrganizationAdminAccount` 时创建服务相关角色。
+ `organizations`— 允许委托人从 AWS Organizations中检索有关组织中帐户的信息。如果账户属于某个组织，则这些权限允许 Detective 控制台显示账户名称和账号。支持 AWS 服务集成，允许将指定成员账户注册为委托管理员和注销其他 “安全服务”，并允许委托人检索其他安全服务（例如 Amazon Detective、Amazon GuardDuty、Amazon Macie 和）中的委托管理员账户。 AWS Security Hub CSPM



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "detective:DisableOrganizationAdminAccount",
        "detective:EnableOrganizationAdminAccount",
        "detective:ListOrganizationAdminAccount"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:CreateServiceLinkedRole"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "iam:AWSServiceName": "detective.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:EnableAWSServiceAccess",
        "organizations:RegisterDelegatedAdministrator",
        "organizations:DeregisterDelegatedAdministrator"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "organizations:ServicePrincipal": [
            "detective.amazonaws.com"
          ]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:DescribeAccount",
        "organizations:DescribeOrganization",
        "organizations:ListAccounts"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "organizations:ListDelegatedAdministrators"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "organizations:ServicePrincipal": [
            "detective.amazonaws.com",
            "guardduty.amazonaws.com",
            "macie.amazonaws.com",
            "securityhub.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

## AWS 托管策略：AmazonDetectiveServiceLinkedRole
<a name="security-iam-awsmanpol-amazondetectiveservicelinkedrolepolicy"></a>

无法将 `AmazonDetectiveServiceLinkedRole` 策略附加到 IAM 实体。此附加到服务相关角色的策略允许 Detective 代表您执行操作。有关更多信息，请参阅 [使用 Detective 的服务相关角色](using-service-linked-roles.md)。



该策略授予管理权限，允许服务相关角色检索组织的账户信息。

**权限详细信息**

该策略包含以下权限：


+ `organizations`— 检索组织的账户信息。



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

****  

```
{
  "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
              "organizations:DescribeAccount",
              "organizations:ListAccounts"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Detective 对 AWS 托管策略的更新
<a name="security-iam-awsmanpol-updates"></a>

查看自该服务开始跟踪这些更改以来 Detective AWS 托管策略更新的详细信息。有关此页面更改的自动提示，请订阅[ 文档历史记录页面](doc-history.md)上的 RSS 信息源。








| 更改 | 描述 | 日期 | 
| --- | --- | --- | 
|  [AmazonDetectiveInvestigatorAccess](#security-iam-awsmanpol-amazondetectiveinvestigatoraccesspolicy)：对现有策略的更新  |  在 `AmazonDetectiveInvestigatorAccess` 策略中新增了 Detective 调查和调查发现组摘要操作。 这些操作允许启动、检索和更新 Detective 调查；以及从 Detective 内部获取调查发现组的摘要。  | 2023 年 11 月 26 日 | 
|  [AmazonDetectiveFullAccess](#security-iam-awsmanpol-amazondetectivefullaccess) 和 [AmazonDetectiveInvestigatorAccess](#security-iam-awsmanpol-amazondetectiveorganizationsaccesspolicy) – 现有策略更新  |  Detective 在`AmazonDetectiveFullAccess`和`AmazonDetectiveInvestigatorAccess`策略中添加了 Security Hub CSPM `GetFindings` 操作。 这些操作允许从 Detective 内部获取 Security Hub CSPM 的调查结果。  | 2023 年 5 月 16 日 | 
|  [AmazonDetectiveOrganizationsAccess](#security-iam-awsmanpol-amazondetectiveorganizationsaccesspolicy)：新策略  |  Detective 增加了 `AmazonDetectiveOrganizationsAccess` 策略。 该策略授予在组织内启用和管理 Detective 的权限  | 2023 年 3 月 2 日 | 
|  [AmazonDetectiveMemberAccess](#security-iam-awsmanpol-amazondetectivememberaccess)：新策略  |  Detective 添加了 `AmazonDetectiveMemberAccess` 策略。 该策略为成员提供对 Detective 的访问权限并限定对控制台 UI 依赖项的访问权限。  |  2023 年 1 月 17 日  | 
|  [AmazonDetectiveFullAccess](#security-iam-awsmanpol-amazondetectivefullaccess) – 对现有策略的更新  |  Detective 在`AmazonDetectiveFullAccess`政策中添加了 GuardDuty `GetFindings`行动。 这些操作允许从 Detective 内部获取 GuardDuty 调查结果。  | 2023 年 1 月 17 日 | 
|  [AmazonDetectiveInvestigatorAccess](#security-iam-awsmanpol-amazondetectiveinvestigatoraccesspolicy)：新策略  | Detective 添加了 `AmazonDetectiveInvestigatorAccess` 策略。 该策略允许主体在 Detective 中进行调查。 | 2023 年 1 月 17 日  | 
|  [AmazonDetectiveServiceLinkedRole](#security-iam-awsmanpol-amazondetectiveservicelinkedrolepolicy)：新策略  |  Detective 为其服务相关角色添加了一项新策略。 该策略允许服务相关角色检索有关组织中账户的信息。  | 2021 年 12 月 16 日 | 
|  Detective 开始跟踪更改情况  |  Detective 开始跟踪其 AWS 托管策略的变化。  | 2021 年 5 月 10 日 | 

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

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

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

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

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

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

Detective 使用名为 **AWSServiceRoleForDetective**— 允许侦探代表你访问 AWS Organizations 信息的服务相关角色。

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

 AWSServiceRoleForDetective 服务相关角色使用托管策略[`AmazonDetectiveServiceLinkedRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-amazondetectiveservicelinkedrolepolicy)。

有关`AmazonDetectiveServiceLinkedRolePolicy`政策更新的详细信息，请参阅 [Amazon Detective 对 AWS 托管策略的更新](https://docs.aws.amazon.com//detective/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-updates)。要获得有关本政策变更的自动提醒，请订阅 Detective [文档历史记录页面上的](https://docs.aws.amazon.com//detective/latest/userguide/doc-history.html) RSS 提要。

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

## 创建 Detective 的服务相关角色
<a name="create-slr"></a>

无需手动创建服务相关角色。当你在 AWS 管理控制台、或 AWS API 中为组织指定 Detective 管理员账户时 AWS CLI，Detective 会为你创建服务相关角色。

如果您删除该服务关联角色，然后需要再次创建，您可以使用相同流程在账户中重新创建此角色。为某个组织指定 Detective 管理员账户时，Detective 会再次创建服务相关角色。

## 编辑 Detective 的服务相关角色
<a name="edit-slr"></a>

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

## 删除 Detective 的服务相关角色
<a name="delete-slr"></a>

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

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

**删除 Detective 使用的 Detective 资源 AWSService RoleForDetective**

1. 删除 Detective 管理员账户。请参阅[为组织指定 Detective 管理员](accounts-designate-admin.md)。

1. 在指定 Detective 管理员账户的每个区域重复该过程。

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

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

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

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

# 对 Amazon Detective 身份和访问进行故障排除
<a name="security_iam_troubleshoot"></a>

使用以下信息可帮助您诊断和修复在使用 Detective 和 IAM 时可能遇到的常见问题。如果您在使用 AWS Identity and Access Management(IAM) 时遇到访问被拒绝问题或类似困难，请参阅 IA [M *用户指南中的 IAM* 疑难解答](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot.html)主题。

## 我无权在 Detective 中执行操作
<a name="security_iam_troubleshoot-no-permissions"></a>

如果 AWS 管理控制台 告诉您您无权执行某项操作，则必须联系管理员寻求帮助。管理员是指提供用户名和密码的人员。

当 `mateojackson` IAM 用户尝试使用控制台接受行为图的成员账户的邀请，但不具备 `detective:AcceptInvitation` 权限时，会发生以下示例错误。

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: detective:AcceptInvitation on resource: arn:aws:detective:us-east-1:444455556666:graph:567856785678
```

在这种情况下，Mateo 请求他的管理员更新其策略，以允许他使用 `detective:AcceptInvitation` 操作访问 `arn:aws:detective:us-east-1:444455556666:graph:567856785678` 资源。

## 我无权执行 iam：PassRole
<a name="security_iam_troubleshoot-passrole"></a>

如果收到错误提示，表明您无权执行 `iam:PassRole` 操作，则必须更新策略，允许向 Detective 传递角色。

有些 AWS 服务 允许您将现有角色传递给该服务，而不是创建新的服务角色或服务相关角色。为此，必须具有将角色传递到服务的权限。

当名为 `marymajor` 的 IAM 用户尝试使用控制台在 Detective 中执行操作时，会发生以下示例错误。但是，服务必须具有服务角色所授予的权限才可执行此操作。Mary 不具有将角色传递到服务的权限。

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

在这种情况下，必须更新 Mary 的策略以允许她执行 `iam:PassRole` 操作。

如果您需要帮助，请联系您的 AWS 管理员。您的管理员是提供登录凭证的人。

## 我想允许 AWS 账户之外的人访问我的 Detective 资源
<a name="security_iam_troubleshoot-cross-account-access"></a>

您可以创建一个角色，以便其他账户中的用户或您组织外的人员可以使用该角色来访问您的资源。您可以指定谁值得信赖，可以代入角色。对于支持基于资源的策略或访问控制列表 (ACLs) 的服务，您可以使用这些策略向人们授予访问您的资源的权限。

要了解更多信息，请参阅以下内容：
+ 要了解 Detective 是否支持这些特征，请参阅[Amazon Detective 如何与 IAM 协同工作](security_iam_service-with-iam.md)。
+ 要了解如何提供对您拥有的资源的访问权限 AWS 账户 ，请参阅 [IAM 用户*指南中的向您拥有 AWS 账户 的另一个 IAM 用户*提供访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html)权限。
+ 要了解如何向第三方提供对您的资源的访问[权限 AWS 账户，请参阅 *IAM 用户指南*中的向第三方提供](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html)访问权限。 AWS 账户 
+ 要了解如何通过身份联合验证提供访问权限，请参阅《IAM 用户指南》**中的[为经过外部身份验证的用户（身份联合验证）提供访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)。
+ 要了解使用角色和基于资源的策略进行跨账户访问之间的差别，请参阅《IAM 用户指南》**中的 [IAM 中的跨账户资源访问](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)。