

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

# 自动化 IAM 配置 AMS
<a name="auto-iam-provisioning"></a>

AWS Managed Services (AMS) 支持使用 AMS Advanced 变更请求 () 和新变更类型 (RFCs) 自动验证和配置 IAM 资源（包括角色和策略CTs）。以前，这些请求经过半自动流程，有时会导致等待时间很长。现在，您可以使用 AMS 自动 IAM 配置来配置 IAM 资源并更快地获得结果。

# AMS 中的自动 IAM 配置的工作原理
<a name="aip-how-works"></a>

自动化 IAM 配置依赖于 IAM 的自动运行时检查来验证 IAM 资源的更改。这些自动检查是在运行 “创建”、“更新” 或 “删除” 更改类型时执行的，可防止过度宽松或模式不安全的 IAM 资源部署到您的账户中。这使您可以将 IAM 审核的严格程度与团队的专业知识相匹配。我们建议刚接触云服务且需要手动检查所有 IAM 资源变更的团队使用现有的 “需要审阅” 的更改类型：部署 \$1 高级堆栈组件 \$1 身份和访问管理 (IAM) \$1 [创建实体或策略（需要审阅），(ct-3dpd8mdd9jn1r)](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-identity-and-access-management-iam-create-entity-or-policy-review-required.html)。具有 AWS 专业知识并能控制其环境的团队可以使用自动 IAM 配置来加快部署速度。您可以使用此功能通过自动运行时检查来执行验证，或者在成功验证后对 IAM 资源进行验证和配置。

**重要**  
AWS Managed Services 已主动实施了一系列验证[运行时检查](aip-runtime-checks.md)，以防止创建具有特定权限和条件的 IAM 资源或策略。有关这些权限和条件的描述，请参阅[在 AMS 高级版中部署 IAM 资源](https://docs.aws.amazon.com/managedservices/latest/userguide/deploy-iam-resources.html)。自动变更类型 [ct-1n9gfnog5x7fl、ct-1e0xmuy1diafq 和 ct-17cj84y7](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-identity-and-access-management-iam-create-entity-or-policy-read-write-permissions.html) [632o6 允许精通管理 IAM 资源的用户配置允许超出只读权限的操作的 IA](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html) M [角色和策略](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-delete-entity-or-policy-read-write-permissions.html)。  
[https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html)但是，这些资源不能遵循 AMS 命名标准，也不是标准 AMS 堆栈的一部分。AMS 尽最大努力为这些特定资源提供运营和安全支持。  
虽然手动和自动流程都旨在维护我们的安全标准，但值得注意的是，两者之间的检查存在差异。自动配置允许更灵活地创建和更新角色和策略；因此，它们是不一样的。建议您的组织仔细查看《AMS 用户指南》中列出的验证[运行时检查](aip-runtime-checks.md)，以确保它们符合贵组织的期望和要求。

**验证流程**

![\[验证流程\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/userguide/images/Validation-Flow.png)


**验证和配置流程**

![\[验证和配置流程\]](http://docs.aws.amazon.com/zh_cn/managedservices/latest/userguide/images/Validation-and-Provisioning-Flow.png)


**注意**  
此功能适用于对 IAM 资源有经验 AWS 的团队，我们不建议刚开始使用该功能的团队使用 AWS。自动验证流程旨在捕捉大多数错误，有助于团队在了解所需的权限后快速查看 IAM 的更改。为了安全有效地使用新的变更类型，我们建议您充分了解 AWS IAM 以及变更类型提供的[运行时检查](https://docs.aws.amazon.com/managedservices/latest/userguide/aip-runtime-checks.html)，以确定它们是否适合您的团队。

# 登录 AMS 在 AMS 中自动配置 IAM
<a name="aip-onboarding"></a>

要使用新的更改类型，请先使用以下更改类型提交 RFC 来启用 AMS 自动 IAM 配置：管理 \$1 托管账户 \$1 具有读写权限的 AMS 自动 IAM 配置 \$1 [启用（需要审阅）(ct-1706xvvk6j9hf)](https://docs.aws.amazon.com/managedservices/latest/ctref/management-managed-automated-iam-provisioning-with-read-write-permissions-enable-review-required.html)。 AWS 要求您的组织通过客户安全风险管理 (CSRM) 流程，以确保这些变更类型的使用符合您的组织政策。作为所需审查的一部分， AWS 运营团队会与您合作，以风险接受的形式获得您的安全团队联系人的明确批准。要了解更多信息，请参阅 [RFC 客户风险管理 (CSRM](https://docs.aws.amazon.com/managedservices/latest/userguide/rfc-security.html)) 流程。

在开启具有读写权限的 AMS 自动 IAM 配置功能的 RFC 成功后，AMS 将在用于提交启用 RFC 的账户中启用 AMS 自动 IAM 配置变更类型。要确认账户是否已开启 AMS 自动 IAM 配置，请在 IAM 控制台中查看该`AWSManagedServicesIAMProvisionAdminRole`角色。

在入职过程中，AMS 会在账户的同一 AWS 区域配置 IAM 访问分析器，以利用其访问预览功能。IAM Access Analyzer 可帮助识别您的组织和账户中与外部实体共享的资源，根据策略语法和最佳实践验证 IAM 策略，并根据 AWS CloudTrail 日志中的访问活动生成 IAM 策略。要了解更多信息，请参阅[使用 AWS Identity and Access Management Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html)。

一旦加载，就会部署到`AWSManagedServicesIAMProvisionAdminRole`已启用的账户。如果您选择通过 SAML 联合使用此角色，则必须将该角色加入您的联合解决方案。

作为入职的一部分，您可以使用请求更新 AWSManaged服务的IAMProvisionAdminRole信任政策，以授予其他 IAM 角色 ARN 代入此角色。 AWS Security Token Service

# 在 AMS 中使用 AMS 自动化 IAM 配置
<a name="aip-using"></a>

您可以使用 RFCs 以下 AMS 自动 IAM 配置更改类型进行创建。

**注意**  
仅支持对角色和策略进行置备。  
更新角色时，Update CT 将现有的托管策略列表 Amazon 资源名称 (ARNs) 和 “代入角色” 策略文档替换为提供的托管策略列表 ARNs 和 “代入角色” 策略文档。在部分更新中；例如，在现有托管策略列表中添加或删除 ARN ARNs，不允许在 “代入角色” 策略文档中添加或删除单个策略声明。同样，在更新策略时，Update CT 会取代现有的策略文档，并且不允许在现有政策文档中添加或删除单个政策声明。
选择 “仅验证” 选项后，将在不预配置任何 IAM 实体或策略的情况下执行运行时检查。不管有什么发现，RFC 的状态都是 “成功”。“成功” 状态表示已成功对所提供的 IAM 实体或策略进行验证。
+ 部署 \$1 高级堆栈组件 \$1 身份和访问管理 (IAM) Management [\$1 创建实体或策略（读写权限）(](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-identity-and-access-management-iam-create-entity-or-policy-read-write-permissions.html)ct-1n9gfnog5x7fl)：自动验证和配置新的 IAM 实体或策略。
+ 管理 \$1 高级堆栈组件 \$1 身份和访问管理 (IAM) Management [\$1 更新实体或策略（读写权限）（](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html)ct-1e0xmuy1diafq）：现有 IAM 实体或策略会自动更新和验证。
+ 管理 \$1 高级堆栈组件 \$1 身份和访问管理 (IAM) Management [\$1 删除实体或策略（读写权限）(](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-delete-entity-or-policy-read-write-permissions.html)ct-17cj84y7632o6)：使用自动创建实体或策略更改类型配置的现有 IAM 实体或策略已删除。

您只能 CTs 使用专用 IAM 角色调用前三个角色:`AWSManagedServicesIAMProvisionAdminRole`. 此角色仅适用于使用管理 \$1 托管账户 \$1 AMS 自动 IAM 配置读写权限 \$1 [启用（需要审核）(ct-1706xvvk6j9hf)](https://docs.aws.amazon.com/managedservices/latest/ctref/management-managed-automated-iam-provisioning-with-read-write-permissions-enable-review-required.html) 加入该功能的账户。

**重要**  
创建、更新和删除更改类型在您的账户中始终可见，但默认情况下它们并未开启。如果您在未先启用 AMS 自动 IAM 配置功能的情况下尝试使用其中一种更改类型提交 RFC，则会显示 “未授权” 错误。

**限制:**
+ 创建 CT 可能允许您创建具有创建 AWS 资源权限的 IAM 角色或策略。但是，由这些角色和策略创建的 AWS 资源不由 AMS 管理。最佳做法是遵守组织控制以限制此类角色或策略的创建。
+ Update CT 无法修改通过 CFN Ingest、直接更改模式、开发者模式创建的 IAM 角色和策略，在某些情况下，也无法修改通过现有 AMS Advanced 手动或自动模式创建的 IAM 角色和策略。 CTs
+ 删除 CT 无法删除不是使用 AMS 自动 IAM 配置创建 CT 创建的现有角色或策略。
+ 直接更改模式角色不支持具有读写权限的 AMS 自动 IAM 配置功能。这意味着您无法使用这些角色配置或更新具有读写权限的 IAM 角色和策略。
+ 具有读写权限的 AMS 自动 IAM 配置创建、更新和删除更改类型与 ServiceNow 连接器不兼容。

# 在 AMS 中对 AMS 自动 IAM 配置进行运行时检查
<a name="aip-runtime-checks"></a>

自动化 IAM 配置利用来自 AMS 边界策略的检查 AWS Identity and Access Management Access Analyzer，并根据 AMS 边界策略执行额外的检查和验证。AMS 基于 IAM 最佳实践、在云端操作客户工作负载的经验以及 AMS IAM 手动评估的集体经验，定义了额外的检查和验证。

您可以在更改请求 (RFC) 输出中查看策略运行时检查结果。调查结果包括资源标识符、生成调查结果的角色 and/or 策略中的位置，以及一条概述 IAM 实体或资源未能通过检查的消息。这些发现可帮助您制定功能齐全且符合安全最佳实践的策略。

**注意**  
自动 IAM 配置会尝试具体说明未能通过检查的实体或策略定义中的位置。根据类型，该位置可能包括资源名称、ARN 或数组内的索引。例如，一份可帮助您调整实体或政策以取得成功结果的声明。

为了获得流畅的 AMS 自动 IAM 配置体验，最佳做法是使用 “仅验证” 选项来运行验证检查，直到 RFC 输出中没有报告验证检查的结果。当验证检查未报告任何发现结果时，选择从 AMS 控制台**创建副本**以快速创建现有 RFC 的副本。准备好配置后，在 “**参数**” 部分中，将 “**仅验证**” 值从 “**是**” 切换为 “**否**”，然后继续。

以下是 AMS 自动 IAM 配置为确保您的 IAM 资源安全而执行的运行时检查：

**注意**  
要配置包含这些自动变更类型拒绝的操作的 IAM 策略，您必须遵循 RFC 客户安全风险管理 (CSRM) 流程。使用以下更改类型：部署 \$1 高级堆栈组件 \$1 身份和访问管理 (IAM) Management (IAM) \$1 创建实体或策略（需要审查）(ct-3dpd8mdd9jn1r)。
+ **IAM Access Analyzer 策略检查和验证：**另请参阅[访问分析器策略检查参考](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-reference-policy-checks.html)和 [IAM Access Analyzer 策略验证](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)。
+ **AMS 权限边界策略检查：**对一组默认情况下被拒绝的服务的操作。有关更多信息，请参阅 [IAM 自动配置权限边界检查](https://docs.aws.amazon.com/managedservices/latest/userguide/aip-runtime-checks-perm-boundary.html)。
+ **客户定义的权限边界策略检查：**对一组被拒绝的服务执行其他受限操作。有关更多信息，请参阅 [IAM 自动配置权限边界检查](https://docs.aws.amazon.com/managedservices/latest/userguide/aip-runtime-checks-perm-boundary.html)。
+ **AMS 定义的自定义检查**：用于识别所请求的 IAM 实体或策略中的各种不安全和过于宽松的策略或访问模式的检查，如果找到则拒绝请求。有关信息，请参阅 [AWS JSON 策略元素：委托人](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)。


| 调查发现 | 说明 | 
| --- | --- | 
| 可以从您信任区域之外的外部账户访问该角色。 | 此发现指的是角色信任策略中列出的委托人，该委托人位于您的信任区域之外。信任区域定义为创建角色的账户或该账户所属的 AWS 组织。不属于该账户或同一 AWS 组织的实体是外部实体。要解决此问题，请查看委托 ARNs 人中的账户 ID，确保它们属于您并且是 AMS 已注册账户。 | 
| 该角色可由不属于 AMS 客户所有账户*External\$1Account\$1ID*的账户所拥有的外部实体访问。*Account\$1ID* | 如果角色信任策略包含一个不属于您的账户 ID 的委托人 ARN 和一个 AMS 已注册账户，则会生成此结果。要解决此问题，请从角色信任策略中删除任何此类委托人。 | 
| 规范用户 ID 不是 IAM 信任策略中支持的委托人。 | IAM 信任策略 IDs 不支持规范委托人。要解决此问题，请从角色信任策略中移除任何此类委托人。 | 
| 您信任区域之外的外部 Web 身份可以访问该角色。 | 如果角色信任策略允许 SAML IdP 以外的外部 Web 身份提供商 (IdP)，则会生成此结果。要解决此问题，请查看角色信任策略并删除允许该`sts:AssumeRoleWithWebIdentity`操作的声明。 | 
| 可以通过 SAML 联合访问该角色；但是，所提供的 SAML 身份提供商 (IdP) 不存在。 | 如果角色信任策略包含您的账户中不存在的 SAML IdP，则会生成此结果。要解决此问题，请确保您的账户中存在所有列出的 SAML IdP。 | 
| 策略包含等同于管理员或高级用户访问权限的特权操作。考虑将权限范围缩小到特定的服务、操作或资源。如果使用高级策略元素（例如**NotAction**或 **NotResource**），请确保它们授予的访问权限不会超出您的预期，尤其是在 Allo **w** 语句中。 | 在 AWS Identity and Access Management 使用 IAM 策略设置权限时，仅授予执行任务所需的权限是最佳安全实践。通过定义在特定条件下可以对特定资源采取的操作（也称为最低权限权限）来实现此目的。当自动化检测到策略授予广泛权限且不符合最小权限原则时，就会生成此发现。要解决调查结果，请查看并减少权限。 | 
| 语句包含的权限操作*Service\$1Name*。考虑使用 deny 语句排除这些操作。有关特权操作的列表，请参阅 AMS 文档中的边界策略参考。 | AMS 认为某项服务的某些行为存在风险，需要客户安全团队进行进一步的风险审查和接受。当自动化检测到授予此类权限的给定策略时，就会生成此结果。要解决此问题，请在您的政策中拒绝这些操作。有关操作列表，请参阅 AMS 边界策略。有关 AMS 边界策略的详细信息，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)。 | 
| [https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-identity-and-access-management-iam-update-entity-or-policy-read-write-permissions.html) *Service\$1Name*考虑将权限范围限定为特定的变更类型，或者使用 deny 语句排除这些变更类型。 | 如果策略授予使用自动 IAM 配置更改类型 () CTs 执行 RFC 相关操作的权限，则会生成此结果。 CTs 它们需要接受风险，并且只能通过已上岗的角色使用。因此，你不能向它们授予权限 CTs。要解决此问题，请拒绝使用这些 CTs操作的 RFC 操作。 | 
| 语句包含的特权操作，这些操作不限于您的服务*Service\$1Name*资源。考虑将操作范围限定为特定资源或排除带有 AMS 命名空间前缀的资源。如果使用通配符，请确保它们将范围限制在您的资源范围内。 | 如果策略授予的权限操作不限于给定服务的资源，则会生成此结果。通配符通常会创建过于宽松的策略，从而将一系列资源或操作纳入权限的范围。要解决此问题，要么缩小您拥有的资源的权限范围，要么排除 AMS 命名空间中的资源。有关 AMS 命名空间前缀的列表，请参阅 AMS 文档中的边界策略。请注意，并非所有前缀都适用于所有服务。有关 AMS 边界策略的详细信息，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)。 | 
| 账户 ID 或亚马逊资源名称 (ARN) 无效。 | 如果策略或角色信任策略中指定的任何 ARN 或账户 ID 无效，则会生成此结果。要查看有效资源 ARN 的服务资源，请参阅[服务授权参考](https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html)。确保账户 ID 为 12 位数字，并且该账户处于活动状态。 AWS | 
| 在 ARN 中限制使用通配符 (\$1) 作为账户 ID。 | 如果在 ARN 的账户 ID 字段中指定了通配符 (\$1)，则会生成此结果。账户 ID 字段中的通配符与任何账户匹配，并可能授予对资源的非预期权限。要解决此问题，请将通配符替换为特定的账户 ID。 | 
| 指定的资源账户不属于同一 AMS 客户拥有的账户*Account\$1ID*。 | 如果资源 ARN 中指定的账户 ID 不属于您且不由 AMS 管理，则会生成此结果。要解决这个问题，请确保所有资源（如其在策略中的 ARN 中指定）都属于由 AMS 管理的账户。 | 
| 角色名称位于 AMS 受限命名空间中。 | 如果您尝试创建名称以 AMS 保留前缀开头的角色，则会生成此结果。要解决此问题，请使用特定于您的用例的角色名称。有关 AMS 保留前缀的列表，请参阅 [AMS 保留](https://docs.aws.amazon.com/managedservices/latest/userguide/ams-reserved-prefixes.html)前缀 | 
| 策略名称位于 AMS 受限命名空间中。 | 如果您尝试创建名称以 AMS 保留前缀开头的策略，则会生成此结果。要解决此问题，请使用特定于您的用例的策略名称。有关 AMS 保留前缀的列表，请参阅 [AMS 保留前](https://docs.aws.amazon.com/managedservices/latest/userguide/ams-reserved-prefixes.html)缀。 | 
| ARN 中的资源 ID 位于 AMS 受限命名空间中。 | 如果您尝试创建向 AMS 命名空间中的命名资源授予权限的策略，则会生成此结果。要解决此问题，请确保您限制资源的权限或拒绝对 AMS 命名空间中的资源的权限。有关 AMS 命名空间的更多信息，请参阅 [AMS 受限](https://docs.aws.amazon.com/managedservices/latest/userguide/apx-namespaces.html)命名空间。 | 
| 策略变量大小写无效。将变量更新为*Variable\$1Names*。 | 如果在错误的情况下尝试创建包含 IAM 全局策略变量的策略，则会生成此结果。要解决此问题，请在策略中对全局变量使用正确的大小写。有关全局变量的列表，请参阅[AWS 全局条件上下文键](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。有关策略变量的更多信息，请参阅 [IAM 策略元素：变量和标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) | 
| 语句包含不限于您的 KMS 密钥的特权操作。考虑将这些权限限定为特定的密钥或排除 AMS 拥有的密钥。 | 如果策略包含的权限不限于您拥有的特定 KMS 密钥，则会生成此结果。要解决此问题，请将权限范围限定为特定密钥或排除 AMS 拥有的密钥。AMS 拥有的密钥具有特定的别名集。有关 AMS 拥有的密钥别名的列表，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)。 | 
| 语句包含不限于 KMS 密钥别名的权限操作。考虑将这些权限限定为您的密钥或别名，或者排除 AMS 拥有的密钥别名。 | 如果策略包含的权限不限于您拥有的特定 KMS 密钥别名，则会生成此结果。要解决此问题，请将权限范围限定为特定密钥或排除 AMS 拥有的密钥。AMS 拥有的密钥具有特定的别名集。有关 AMS 拥有的密钥别名的列表，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)。 | 
| 语句包含的特权操作，这些操作的范围不够大，仅限于使用的 KMS 密钥。`kms:ResourceAliases condition`考虑使用特定的别名以及条件键的相应集合运算符。如果在别名中使用通配符，请确保它们将范围限制在有限的 KMS 密钥集内。 | 如果您使用条件来限定 KMS 密钥的权限范围，而不是使用将范围缩小`kms:ResourceAliases`到 KMS 密钥的别名，则会生成此结果。或者，如果`kms:ResourceAliases`条件密钥的值还包含 AMS 拥有的 KMS 密钥别名。要解决此问题，请更新条件以将权限范围缩小到您的 KMS 密钥的别名或排除 AMS 拥有的 KMS 密钥的别名。有关 AMS 拥有的密钥别名的列表，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)。 | 
| 该角色必须附有 customer\$1deny\$1policy。将策略 ARN 包含在托管策略列表中。 ARNs | 如果您正在创建的角色没有`customer_deny_policy`附加到该角色，则会生成此结果。要解决此问题，请在托管策略 ARNs 列表`customer_deny_policy`中添加。 | 
|  AWS 托管策略过于宽松或授予受 AMS 边界策略限制的权限。 | 如果角色的**ManagedPolicyArns**值包含任何提供对相关服务的完全或管理员级别访问权限的 AMS 托管策略，则会生成此结果。要解决这个问题，请查看 AWS 托管策略的使用情况，使用提供范围缩小权限的策略，或者根据最低权限原则定义自己的策略。 | 
| 客户托管策略位于受限的 AMS 命名空间中。 | 如果将任何在 AWS 命名空间中以名称为前缀的客户托管策略附加到该角色，则会生成此结果。要解决此问题，请从该角色的**ManagedPolicyArn**列表中删除该策略。 | 
| 无法将 customer\$1deny\$1policy 与角色分离。将策略 ARN 包含在托管策略列表中。 ARNs | 如果在更新期间与`customer_deny_policy`角色分离，则会生成此结果。要解决此问题，请将`customer_deny_policy`添加到角色的**ManagedPolicyArns**字段中，然后重试。 | 
| 客户管理的策略是在 AMS 变更管理服务之外配置的，或者未经事先验证。 | 如果将一个或多个现有的客户托管策略附加到某个角色，并且 ARNs 这些策略不是通过 AMS 变更管理服务（通过 RFC）配置的，则会生成此结果。例如，开发人员模式或直接更改模式允许客户在没有 RFC 的情况下配置 IAM 策略。要解决此问题，请 ARNs 从该角色的**ManagedPolicyArns**列表中删除客户托管策略。 | 
| 提供的托管策略数量 ARNs 超过每个角色配额的附加策略。 | 如果附加到角色的托管策略总数超过每个角色的策略配额，则会生成此结果。有关 IAM 配额的更多信息，请参阅 [IAM 和 AWS STS 配额、名称要求和字符限制](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)。使用此信息来减少您附加到该角色的策略数量。 | 
| 信任策略大小 (\$1trust\$1policy\$1) 超过了假设角色策略大小配额 \$1size\$1。 | 如果代入角色策略文档的大小超过策略大小配额，则会生成此结果。有关 IAM 配额的更多信息，请参阅 [IAM 和 AWS STS 配额、名称要求和字符限制](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html)。 | 
| 声明包含 Amazon S3 的所有变异操作。考虑将这些权限的范围仅限于必需的操作。如果使用通配符，请确保通配符的作用范围有限的一组突变动作。 | 如果给定策略授予所有 Amazon Simple Storage Service 变异权限，而不考虑一个或多个资源，则会生成此结果。要解决此问题，请仅对您的存储桶执行必需的 Amazon S3 突变操作。 | 
| 声明包含不允许对 Amazon S3 中的任何存储桶执行的特权操作。考虑添加一条否认这些操作的声明。 | 如果策略允许对任何存储桶执行特权操作，则会生成此结果。有关特权操作的列表，请参阅[AMS 自动化 IAM 配置权限边界检查](aip-runtime-checks-perm-boundary.md)要解决此问题，请在策略中删除或拒绝这些操作。 | 
| 声明包含不限于 Amazon S3 中存储桶的特权操作。可以考虑包含您的存储桶或排除带有 AMS 命名空间前缀的存储桶。如果使用通配符，请确保它们与您的命名空间中的存储桶相匹配。 | 如果策略授予 Amazon S3 操作的范围不限于您的存储桶，则会生成此结果。如果在指定存储桶资源时使用通配符，则通常会发生这种情况。要解决此问题，请指定存储桶名称或您拥有的存储桶名称 ARNs ，或者排除带有 AMS 命名空间前缀的存储桶。 | 
| 声明包含不限于 Amazon S3 中存储桶的特权操作。考虑避免使用通配符 (\$1) 来限定账户中所有存储桶的范围。 | 如果策略授予 Amazon S3 操作的范围不限于您的存储桶，则会生成此结果。如果在指定存储桶资源时使用通配符，则通常会发生这种情况。要解决此问题，请指定存储桶名称或您拥有的存储桶名称 ARNs ，或者排除带有 AMS 命名空间前缀的存储桶。 | 
| 语句包含一个资源通配符，其作用域为所有 Amazon S3 存储桶，包括不存在的存储桶和您不拥有的存储桶。考虑使用条件和`s3:ResourceAccount`条件键来确定权限的范围。 | 如果策略向使用通配符指定的存储桶授予权限，则会生成此结果。使用通配符通常会将不存在或非所有者的存储桶置于范围内。要解决这个问题，请使用条件和`aws:ResourceAccount`条件键将权限范围限定为仅限于当前账户内的存储桶。有关更多详细信息，请参阅[限制对特定 AWS 账户拥有的 Amazon S3 存储桶的访问权限](https://aws.amazon.com/blogs/storage/limit-access-to-amazon-s3-buckets-owned-by-specific-aws-accounts/)。 | 
| 语句包含一个`NotResource`策略元素，该元素的作用域可能包括大量存储桶，包括不存在的存储桶和您不拥有的存储桶。考虑使用条件和`s3:ResourceAccount`条件键来确定权限的范围。 | 如果策略利用`NotResources`策略元素来指定存储桶资源，则会生成此结果。使用该`NotResource`元素可能会限制大量存储桶，包括不存在的存储桶或非所有者的存储桶。要解决这个问题，请使用条件和`aws:ResourceAccount`条件键将权限范围限定为仅限于当前账户内的存储桶。 | 
| 声明包含 Amazon S3 对不存在、不归账户所有或名称中包含通配符的操作*Account\$1ID*，该通配符的范围可能限定为大量存储桶，包括不存在的存储桶和您不拥有的存储桶。*Bucket\$1Name*考虑使用条件和条件键来确定权限的`s3:ResourceAccount`范围 | 如果策略向不存在、不归您所有或存储桶名称中包含通配符覆盖大量存储分区且访问范围不限于当前账户的存储桶授予权限，则会生成此结果。要解决这个问题，请使用条件和`aws:ResourceAccount`条件键将权限范围限定为仅限于当前账户内的存储桶。 | 
| 声明包含 Amazon S3 对不存在或不属于账户的存储桶*Bucket\$1Name*的操作*Account\$1ID*，或者名称中包含通配符，该通配符的作用域可能限定为大量存储桶，包括不存在的存储桶和您不拥有的存储桶。在条件下使用`s3:ResourceAccount`或指定的资源帐户不属于您，访问不受限制。 | 如果策略向不存在、不归您所有或存储桶名称中包含通配符覆盖大量存储桶且访问权限仅限于特定账户的存储桶授予权限，则会生成此结果。但是，`aws:ResourceAccount`条件键中指定的账户不属于您，而是由 AMS 管理。要解决此问题，请更新`aws:ResourceAccount`条件密钥并设置您拥有并由 AMS 管理的相应账户 ID。 | 
| 声明包含不限于您的 Amazon EC2 实例的特权操作。考虑将操作范围限定为特定实例， ARNs 或者排除名称标签键值在 AMS 命名空间前缀中的实例。如果使用通配符，请确保它们与您拥有的命名空间相匹配。 | 如果策略授予对 AMS 拥有的 Amazon EC2 实例的特权操作，则会生成此发现。AMS 实例使用**名称**标签键进行标记，其值在 AMS 命名空间中。要解决这个问题，请使用`StringNotLike`运算符指定您的资源或排除 AMS 实例，条件为其`aws:ResourceTag/Name`密钥排除 AMS 命名空间中的值 | 
| 语句包含特权操作，这些操作不限于 AWS Systems Manager 参数存储中的资源。考虑指定 ARNs 您的参数或排除带有 AMS 命名空间前缀的参数。如果使用通配符，请确保它们仅限于您的参数。 | 如果策略向不属于您的参数授予权限，则会生成此结果。这通常是使用通配符或在策略声明的资源下列出带有 AMS 命名空间前缀的参数的情况。要解决此问题，请指定命名空间内的参数或使用 deny 语句排除 AMS 参数。 | 
| 语句包含针对中的资源的特权操作 AWS Systems Manager。考虑将权限范围限定为只读操作或针对您的资源的操作。 | 如果策略授予对 Systems Manager 资源的参数存储或只读操作以外的权限，则会生成此结果。要解决此问题，请将权限减少为只读操作或仅限参数存储。 | 
| 语句包含不限于您拥有的 \$1message\$1 的特权操作。*Service\$1Name*考虑酌情将这些权限限定为特定的资源类型，或者排除 AMS 拥有的资源。如果使用通配符，请确保它们匹配*Resources*。 | 如果策略允许对您的资源（尤其是命名资源）进行未授予的特权操作，则会生成此结果。要解决此问题，请查看您的资源列表，看看它们是否仅限于命名空间中的资源。或者，排除 AMS 命名空间中的资源。 | 
| 语句包含 \$1*Service\$1Name*\$1 的标记操作，其作用域不限于 Name tag key 的特定值。考虑通过使用命名空间中的值设置`aws:RequestTag/Name`条件键来限定这些操作的范围，或者通过使用 AMS 命名空间前缀中的值的`StringNotLike`运算符设置`aws:RequestTag/Name`条件键来限制这些操作。 | 如果策略授予给定服务的标记权限，并且该权限不限于特定的标签键/值，则会生成此结果。要缩小标签操作中可以使用的键或值的范围，例如，在请求执行操作时，请使用`aws:RequestTag/tag key`条件。因此，要解决此问题，请使用此条件键来限制命名空间中的一个或多个密钥值。或者，拒绝带有 AMS 命名空间中值的`Name`标签密钥 (`aws:RequestTag/Name`)。 | 
| 验证 IAM 角色信任策略时出现内部错误。 | 当 CT 自动化通过 IAM Access Analyzer 服务对 IAM 角色信任策略执行验证时遇到错误时，就会生成此发现。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证客户托管策略时出现内部错误。 | 当 CT 自动化通过 IAM Access Analyzer 服务对客户托管策略执行验证时遇到错误时，就会生成此发现。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 在中找不到访问分析器*AWS 区域*。无法对角色信任策略执行访问预览检查。 | 此发现是在中找不到 IAM 访问分析器资源时生成的 AWS 区域。联系 AMS 运营部门在 AWS 区域进行故障排除并创建 IAM 访问分析器资源。 | 
| 角色的信任策略无效 *Role\$1Name* | 此发现是在提供的 IAM 角色包含无效的信任策略时生成的。要解决问题，请查看信任策略以验证其是否有效。 | 
| IAM 访问分析器遇到了内部错误。无法为角色创建访问预览 *Role\$1Name* | 当自动化在通过 IAM Access Analyzer 为角色创建访问预览时遇到错误时，就会生成此发现。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 无法为角色的信任策略创建访问预览 *Role\$1Name* | 当自动化在通过 IAM Access Analyzer 为角色创建访问预览时遇到错误时，就会生成此发现。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证列出的 SAML IdP 时出现内部错误。 | 当自动化在验证角色信任策略中 IdPs 列出的提供的 SAML 时遇到错误时，就会生成此发现。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证权限时出现内部错误。 AWS Key Management Service | 当自动化在验证所提供的策略中的 AWS KMS 密钥权限时遇到错误时，就会生成此结果。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证列出的托管策略 ARNs时出现内部错误。 | 当自动化在验证列出的托管策略 ARNs时遇到错误时，就会生成此结果。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证默认`customer_deny_policy`附件时出现内部错误。 | 当自动化在验证是否已关联到角色时遇到错误时，就会生成此发现。`customer_deny_policy`要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 验证角色的托管策略 ARN 时出现内部错误 *Role\$1Name* | 当自动化在验证角色的托管策略 ARNs 时遇到错误时，就会生成此结果。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 根据客户定义的边界策略*Policy\$1name*进行验证时出现内部错误 `AWSManagedServicesIAMProvisionCustomerBoundaryPolicy` | 当自动化在验证包含您的自定义拒绝列表的策略时遇到错误时，就会生成此结果。要解决这个问题，请重新提交 RFC。如果错误仍然存在，请联系 AMS 运营部门解决错误。 | 
| 账户中`AWSManagedServicesIAMProvisionCustomerBoundaryPolicy`存在客户定义的边界策略。但是，该策略包含授予权限的 allow 语句。该策略只能包含拒绝声明。 | 当包含您的自定义拒绝列表的策略包含授予权限的声明时，就会生成此结果。尽管自定义拒绝列表作为 IAM 托管策略存在于您的账户中，但它不能用于权限管理。该策略必须仅包含拒绝声明，表明您希望 AMS 自动 IAM 配置验证和拒绝 AMS 自动 IAM 配置创建的 IAM 策略中的那些操作。 | 
| 声明包含您的组织为定义的特权操作*Service\$1Name*。考虑使用 deny 语句排除这些操作。有关受限操作列表的参考，请参阅您账户中指定的政策。 | 当自动化检测到您的策略中您在自定义拒绝列表中定义的任何操作时，就会生成此结果。要解决此问题，请查看您的政策声明并删除自定义拒绝列表中定义的所有操作，或者添加拒绝这些操作的拒绝声明。 | 
| 角色必须已*POLICY\$1ARN*附加。将策略 ARN 包含在托管策略列表中。 ARNs | 如果您正在创建的角色没有*POLICY\$1ARN*附加，则会生成此结果。要解决此问题，请在角色**ManagedPolicyArns**字段*POLICY\$1ARN*中加入，然后重试。 | 
| *POLICY\$1ARN*无法与角色分离。将策略 ARN 包含在托管策略列表中。 ARNs | 如果在更新期间与*POLICY\$1ARN*角色分离，则会生成此结果。要解决此问题，请将*POLICY\$1ARN*添加到角色的**ManagedPolicyArns**字段中，然后重试。 | 

# AMS 自动化 IAM 配置权限边界检查
<a name="aip-runtime-checks-perm-boundary"></a>

AMS 权限边界检查可帮助您遵守 AMS 提供的默认权限边界政策。此策略列出了 AMS 自动 IAM 配置拒绝的操作。包含这些受限操作的配置策略需要额外的明确风险承受能力。在此处下载政策：[boundary-policy.zip](samples/boundary-policy.zip)。

使用客户定义的权限边界策略检查来自定义 AMS 权限边界策略默认值之外的拒绝操作。当您使用以下更改类型加入 AMS 自动 IAM 配置时：管理 \$1 托管账户 \$1 具有读写权限的 AMS 自动 IAM 配置 \$1 [启用（需要审阅）(](https://docs.aws.amazon.com/managedservices/latest/ctref/management-managed-automated-iam-provisioning-with-read-write-permissions-enable-review-required.html)ct-1706xvvk6j9hf)，您可以包括指定其他受限操作的自定义拒绝操作列表。

您可以使用更改类型更新拒绝操作列表：管理 \$1 托管账户 \$1 具有读写权限的自动 IAM 配置 \$1 [更新自定义拒绝列表](https://docs.aws.amazon.com/managedservices/latest/ctref/management-managed-automated-iam-provisioning-with-read-write-permissions-update-custom-deny-list-review-required.html) (ct-2r9xvd3sdsic0)。您必须使用专用 IAM 角色`AWSManagedServicesIAMProvisionAdminRole`才能运行此更改类型。

**注意**  
您必须为每次更新提供一份完整的拒绝操作列表。以前的列表被新列表所取代。
拒绝操作列表必须仅包含要拒绝的操作。不支持 “允许” 操作。
拒绝操作列表以名为的 IAM 托管策略的形式存在于账户中`AWSManagedServicesIAMProvisionCustomerBoundaryPolicy`。该策略不得附加到任何角色上。
与 IAM *权限边界*相比，用于表示 AMS 自动 IAM 配置中被拒绝的操作的术语具有不同的上下文含义。IAM 权限边界设置了策略在运行时可以向 IAM 实体授予的最大权限。有关 IAM 权限边界的更多信息，请参阅*AWS Identity and Access Management 用户指南*中的[策略类型](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types)。AMS 自动 IAM 配置中的权限边界会阻止您配置包含特定权限集（例如被拒绝的操作列表）的 IAM 策略。

# 对 AMS 自动 IAM 配置发现和错误进行故障排除
<a name="aip-troubleshooting"></a>

使用 AMS 自动 IAM 配置时，您可能会遇到三种问题：
+ RFC 错误：这些错误可能有多种原因；例如，输入不正确。有关更多信息，请参阅 [对 AMS 中的 RFC 错误进行故障排除](rfc-troubleshoot.md)。
+ SSM 错误：这些错误可能有多种原因；例如，格式不佳。有关更多信息，请参阅 S [ystems Manager 自动化故障排除](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-troubleshooting.html)。
+ 验证检查结果：当自动 IAM 预配运行的众多验证检查之一发现问题时，就会出现这些结果。有关验证检查的列表以及要修复的建议操作，请参阅[在 AMS 中对 AMS 自动 IAM 配置进行运行时检查](aip-runtime-checks.md)。