View a markdown version of this page

对自动创建的角色应用最低权限 - AWS Identity and Access Management

对自动创建的角色应用最低权限

在服务控制台中创建资源时,角色管理器会提供资源所需的 IAM 角色。对于某些任务(例如运行自己的代码),AWS 无法事先确定需要哪些权限。因此,角色允许的权限可能超过资源所需的权限。了解资源所需的权限后,您可以相应地减少角色的权限。

禁用角色管理器不会影响角色管理器先前创建的角色。您可以在不减少任何权限的情况下禁用角色管理器,也可以在不禁用角色管理器的情况下减少角色的权限。

何时应用最低权限

仅向角色授予其资源所需的权限是符合最低权限原则的安全最佳实践。对于大多数角色,角色管理器会创建具有明确权限范围的角色。对于某些角色(例如用于计算资源或云基础设施管理的角色),管理器会创建具有广泛权限的角色。

准备开始缩减角色管理器所创建角色的权限范围时,建议从与最敏感的工作负载和资源相关的角色入手,例如任何处理 PII 或生产数据的角色。要了解更多信息,请参阅准备最低权限许可。

如何分析未使用的访问权限

在禁用角色管理器之前,AWS 建议您根据 IAM Access Analyzer在账户中创建未使用的访问权限分析器。分析器会比较角色被允许执行的操作与其实际已执行的操作,并报告未使用的权限。分析器会审查账户中的 IAM 角色,包括您自己创建的角色。

调查发现的显示位置取决于分析器的提供方式:

  • 角色管理器提供的分析器:AWS 为您的账户提供未使用的访问权限分析器时(请参阅本节中的注释),调查发现将显示在 IAM 控制台的角色页面上。对于每个角色,您可以查看未使用的权限的数量,并打开相应的建议。使用以下步骤来减少角色页面的角色权限。禁用角色管理器后,账户设置页面会提供查看角色按钮,可打开角色页面,其中显示每个角色的调查发现。

  • 自行创建的分析器:自行创建未使用的访问权限分析器时,调查发现和建议将显示在 IAM 访问权限分析器控制台中。角色管理器不会改变此体验。要查看未使用的访问权限调查发现并采取相应措施,请参阅 IAM 访问权限分析器调查发现。

注意

如果 AWS 为使用全新 AWS 体验创建的账户启用了角色管理器,则首次禁用角色管理器时无需创建分析器。激活高级功能并禁用角色管理器后,AWS 将在 90 天内免费提供未使用的访问权限分析器。通过分析器,您可以查看未使用的角色权限和策略范围缩减建议,从而将账户中的角色(包括角色管理器创建的角色)逐步更新为最低权限。

先决条件

要查看访问权限分析器的调查发现,您需要获得执行 access-analyzer:ListFindings 操作的权限。要应用建议,您需要获得对角色执行 iam:CreatePolicy、iam:AttachRolePolicy 和 iam:DetachRolePolicy 的权限。

在控制台中减少角色权限(角色管理器提供的分析器)

如果 AWS 为您的账户提供了未使用的访问权限分析器,则这些步骤适用。如果您自行创建分析器,请改为在 IAM 访问权限分析器控制台中查看并应用建议。请参阅 IAM 访问权限分析器调查发现。

  1. 登录到AWS 管理控制台并打开 IAM 控制台。

  2. 在导航窗格中,选择角色。

  3. 在角色页面的调查发现列中,为要减少权限的角色选择未使用的权限链接。

  4. 在减少角色权限页面上,查看报告的此角色未使用的权限。

  5. 将建议的权限与角色的当前权限进行比较,并查看建议移除的操作。

  6. 选择做出更改。

建议权限的工作原理

根据未使用的访问权限分析器调查发现,IAM 会创建一个或多个包含建议权限的客户管理型策略。IAM 会在分离旧策略之前附加新策略,因此角色在整个更改过程中都会保留其权限。

例如,假设有一个 AWS Lambda 执行角色。IAM 访问权限分析器会报告该角色的未使用权限,并提供仅限于该角色所执行操作的建议策略,例如将日志写入 Amazon CloudWatch Logs。您根据函数的功能审查建议,确认其中涵盖了函数所需的一切,然后应用建议。此后,该角色仅允许函数所需的操作。

重要

建议基于过去 30 天的活动。资源在较长时间范围内很少使用的权限(例如季度作业)可能显示为未使用。在应用建议之前,请根据工作负载的实际需求对其进行审查。

更改角色的策略或信任策略后,角色管理器将不再管理该角色。该角色不会应用最初用于创建该角色的角色模板的任何版本更新。

IAM 会限制可附加到角色的托管式策略数量。如果应用建议将超出该限制,控制台会通知您,并且不会应用此更改。有关该配额的信息,请参阅 IAM 和 AWS STS 配额。