创建角色并附加策略(控制台) - AWS Identity and Access Management

创建角色并附加策略(控制台)

上文列出的一些策略授予了通过角色配置 AWS 服务的能力,以便这些服务能够代表您执行操作。工作职能策略或者指定您必须使用的确切角色名称,或者至少包括指定可用名称的开头部分的前缀。要创建这些角色之一,请执行以下程序中的步骤。

创建用于 AWS 服务 的角色(IAM 控制台)
  1. 登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色

  3. 对于 Trusted entity type(可信实体类型),选择 AWS 服务

  4. 对于服务或使用案例,请选择服务,然后选择使用案例。用例由服务定义以包含服务要求的信任策略。

  5. 选择下一步

  6. 对于权限策略,选项取决于您选择的使用案例:

    • 如果服务定义了角色的权限,则您无法选择权限策略。

    • 从一组有限的权限策略中进行选择。

    • 从所有权限策略中进行选择。

    • 不选择任何权限策略,创建角色后创建策略,然后将这些策略附加到该角色。

  7. (可选)设置权限边界。这是一项高级特征,可用于服务角色,但不可用于服务相关角色。

    1. 打开设置权限边界部分,然后选择使用权限边界控制最大角色权限

      IAM 包括您的账户中的 AWS 托管式策略和客户管理型策略的列表。

    2. 选择要用于权限边界的策略。

  8. 选择下一步

  9. 对于角色名称,选项取决于服务:

    • 如果服务定义角色名称,则您无法编辑角色名称。

    • 如果服务定义角色名称的前缀,您可以输入可选的后缀。

    • 如果服务未定义角色名称,您可以为该角色命名。

      重要

      命名角色时,请注意以下事项:

      • 角色名称在您的 AWS 账户 中必须是唯一的,且不能因大小写而变得唯一。

        例如,不要同时创建名为 PRODROLEprodrole 的角色。当角色名称在策略中使用或者作为 ARN 的一部分时,角色名称区分大小写,但是当角色名称在控制台中向客户显示时(例如,在登录期间),角色名称不区分大小写。

      • 创建角色后,您无法编辑该角色的名称,因为其他实体可能会引用该角色。

  10. (可选)对于描述,输入角色的描述。

  11. (可选)要编辑角色的使用案例和权限,请在步骤 1:选择可信实体步骤 2:添加权限部分中选择编辑

  12. (可选)为了帮助识别、组织或搜索角色,请以键值对形式添加标签。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》中的标记 IAM 资源

  13. 检查该角色,然后选择创建角色

示例 1:将用户配置为数据库管理员(控制台)

此示例显示将 IAM 用户 Alice 配置为 Database Administrator(数据库管理员)需要执行的步骤。您需要使用此部分中的表中第一行中的信息,并允许该用户启用 Amazon RDS 监控。您将 DatabaseAdministrator 策略附加给 Alice 的 IAM 用户,以便他们可以管理 Amazon 数据库服务。该策略还允许 Alice 将名为 rds-monitoring-role 的角色传递给 Amazon RDS 服务,从而允许该服务代表他们监控 Amazon RDS 数据库。

  1. 登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 选择策略,在搜索框中键入 database,然后按 Enter。

  3. 选择 DatabaseAdministrator 策略对应的单选按钮,再选择操作,然后选择附加

  4. 在实体列表中选择 Alice,然后选择附加策略。Alice 现在可以管理 AWS 数据库了。但是,要允许 Alice 监控这些数据库,您必须配置服务角色。

  5. 在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色

  6. 请选择 AWS Service(亚马逊云科技服务)角色类型,然后选择 Amazon RDS

  7. 请选择用于增强监控的 Amazon RDS 角色使用案例。

  8. Amazon RDS 将为您的角色定义权限。选择下一步:审核以继续。

  9. 角色名称必须是 Alice 当前拥有的 DatabaseAdministrator 策略中指定的一个。其中一个是 rds-monitoring-role。针对 Role name(角色名称)输入该信息。

  10. (可选)对于角色描述,输入新角色的描述。

  11. 在检查详细信息后,选择 Create role

  12. 现在,Alice 即可在 Amazon RDS 控制台的 Monitoring(监控)部分中启用 RDS Enhanced Monitoring(RDS 增强监控)。例如,他们可以在创建数据库实例、创建只读副本或修改数据库实例时执行此操作。当他们将 Enable Enhanced Monitoring(启用增强监控)设置为 Yes(是)时,他们必须输入他们在 Monitoring Role(监控角色)框中创建的角色名称(rds-monitoring-role)。

示例 2:将用户配置为网络管理员(控制台)

此示例显示将 IAM 用户 Jorge 配置为 Network Administrator(网络管理员)需要执行的步骤。它使用该部分的表中的信息来允许 Jorge 监控往来于 VPC 的 IP 流量。它还允许 Jorge 将该信息记录在 CloudWatch Logs 日志中。您将 NetworkAdministrator 策略附加给 Jorge 的 IAM 用户,以便他们可以配置 AWS 网络资源。该策略还允许 Jorge 在您创建流日志时,将名称以 flow-logs* 开头的角色传递给 Amazon EC2。此场景与示例 1 不同,这里没有预定义的服务角色类型,因此您必须执行几个不同的步骤。

  1. 登录 AWS Management Console,然后使用以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略,在搜索框中输入 network,然后按 Enter。

  3. 选中 NetworkAdministrator 策略旁的单选按钮,然后依次选择操作附加

  4. 在用户列表中选择 Jorge 对应的复选框,然后选择 Attach policy(附加策略)。Jorge 现在可以管理 AWS 网络资源了。但是,为了监控 VPC 中的 IP 流量,您必须配置服务角色。

  5. 由于您需要创建的服务角色没有预定义的托管策略,您必须先创建一个。在导航窗格中,选择策略,然后选择创建策略

  6. 策略编辑器部分,选择 JSON 选项,然后复制以下 JSON 策略文档中的文本。将该文本粘贴到 JSON 文本框中。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "*" } ] }
  7. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择下一步

    注意

    您可以随时在可视化JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅调整策略结构

  8. 查看并创建页面上,键入 vpc-flow-logs-policy-for-service-role 作为策略名称。查看此策略中定义的权限以查看您的策略授予的权限,然后选择创建策略以保存您的工作。

    将在托管策略列表中显示新策略,并已准备好附加该策略。

  9. 在 IAM 控制台的导航窗格中,选择角色,然后选择创建角色

  10. 请选择 AWS Service(亚马逊云科技服务)角色类型,然后选择 Amazon EC2

  11. 请选择 Amazon EC2 使用案例。

  12. 附加权限策略页面上,选择您之前创建的策略:vpc-flow-logs-policy-for-service-role,然后选择下一步:审核

  13. 必须使用 Jorge 当前拥有的 NetworkAdministrator 策略所允许的角色名称。允许以 flow-logs- 开头的任何名称。在此示例中,对于 Role name(角色名称),请输入 flow-logs-for-jorge

  14. (可选)对于角色描述,输入新角色的描述。

  15. 在检查详细信息后,选择 Create role

  16. 现在可以配置本场景需要的信任策略。在 Roles(角色)页面上,选择 flow-logs-for-jorge 角色(选择角色名称而不是复选框)。在新角色的详细信息页面上,选择 Trust relationships (信任关系) 选项卡,然后选择 Edit trust relationship (编辑信任关系)

  17. 将条目替换为 ec2.amazonaws.com,“Service”行改为读取,如下所示:

    "Service": "vpc-flow-logs.amazonaws.com"
  18. Jorge 现在可以在 Amazon EC2 控制台中为 VPC 或子网创建流日志了。当创建流日志时,请指定 flow-logs-for-jorge 角色。该角色拥有创建日志并向其写入数据的权限。