基于访问活动生成策略 - AWS Identity and Access Management

基于访问活动生成策略

您可以使用 AWS CloudTrail 中记录的 IAM 用户或 IAM 角色的访问活动,让 IAM Access Analyzer 生成客户管理型策略,以仅允许访问特定用户和角色所需的服务。

IAM Access Analyzer 生成 IAM policy 时,会返回信息来帮助您进一步自定义策略。生成策略时可以返回两类信息:

  • 包含操作级别信息的策略 - 对于某些 AWS 服务(例如 Amazon EC2),IAM Access Analyzer 可以识别在 CloudTrail 事件中发现的操作,并列出其生成的策略中所使用的操作。有关支持的服务的列表,请参阅 IAM Access Analyzer 策略生成服务。对于某些服务,IAM Access Analyzer 会提示您将服务的操作添加到生成的策略中。

  • 包含服务级别信息的策略– IAM Access Analyzer 使用上次访问的信息创建策略模板,其中包含最近使过用的所有服务。使用 AWS Management Console 时,我们会提示您查看服务并添加操作以完成策略。

基于访问活动生成策略

在下述步骤中,我们将减少分配给角色的权限,以匹配用户的使用情况。在选择用户时,请选择其使用情况可体现该角色的用户。许多客户设置了具有 PowerUser 权限的测试用户账户,然后让他们在短时间内执行一组特定的任务,以确定执行这些任务所需的访问权限。

IAM console
  1. 按照 AWS 登录用户指南中的如何登录 AWS所述,根据用户类型选择相应的登录过程。

  2. Console Home(控制台主页)页面,选择 IAM 服务。

  3. 在导航窗格中,选择用户,然后选择用户名以进入用户详细信息页面。

  4. 权限选项卡的“基于 CloudTrail 事件生成策略”部分下,选择生成策略

  5. 生成策略页面上,配置以下项目:

    • 选择时间段中,选择过去 7 天

    • 对于待分析的 CloudTrail 跟踪,请选择记录该用户活动的区域和跟踪。

    • 请选择创建和使用新的服务角色

  6. 选择生成策略,然后等到角色创建完毕。在出现正在生成策略通知消息之前,请勿刷新或离开控制台页面。

  7. 生成策略后,您必须根据需要使用资源的账户 ID 和 ARN 对其进行审查和自定义。此外,自动生成的策略可能不包含完成策略所需的操作级信息。有关更多信息,请参阅 IAM Acess Analyzer 策略生成

    例如,您可能编辑第一个包括 Allow 效果和 NotAction 元素的语句以仅允许 Amazon EC2 和 Amazon S3 操作。为此,请将其替换为具有 FullAccessToSomeServices ID 的语句。您的新策略可能类似于以下示例策略。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "FullAccessToSomeServices", "Effect": "Allow", "Action": [ "ec2:*", "s3:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:DeleteServiceLinkedRole", "iam:ListRoles", "organizations:DescribeOrganization" ], "Resource": "*" } ] }
  8. 为了支持授予最低权限的最佳实践,请查看并更正策略验证期间返回的任何错误、警告或建议。

  9. 要进一步减少策略对特定操作和资源的权限,请在 CloudTrail Event history(事件历史记录)中查看您的事件。在此处,您可以查看有关用户已访问的特定操作和资源的详细信息。有关更多信息,请参阅 AWS CloudTrail 用户指南中的在 CloudTrail 控制台中查看 CloudTrail 事件

  10. 查看并验证您的策略后,请使用描述性名称进行保存。

  11. 导航到角色页面,然后选择人员在执行新策略允许的任务时将担任的角色。

  12. 选择权限选项卡,然后依次选择添加权限附加策略

  13. 附加权限策略页面的其他权限策略列表中,选择您创建的策略,然后选择附加策略

  14. 您将返回到角色详细信息页面。该角色附加了两个策略:您之前的 AWS 托管策略(例如 PowerUserAccess)和您的新策略。选中 AWS 托管策略的复选框,然后选择移除。当系统要求确认移除时,选择移除

根据您创建的新策略,承担此角色的 IAM 用户、联合用户和工作负载现在具有缩减的访问权限。

AWS CLI

您可以通过 AWS CLI 使用以下命令生成策略。

查看策略生成请求列表
API

您可以通过 AWS API 使用以下操作生成策略。

生成策略
查看生成的策略
取消策略生成请求
查看策略生成请求列表