创建角色并附加策略(控制台)
上文列出的一些策略授予了通过角色配置 Amazon 服务的能力,以便这些服务能够代表您执行操作。工作职能策略或者指定您必须使用的确切角色名称,或者至少包括指定可用名称的开头部分的前缀。要创建这些角色之一,请执行以下程序中的步骤。
创建用于 Amazon 服务的角色(IAM 控制台)
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role。
-
选择 Amazon 服务角色类型,然后选择要允许担任该角色的服务。
-
选择用于您的服务的使用案例。如果指定的服务只有一个使用案例,则系统会为您选择此使用案例。使用案例由服务定义以包含服务要求的信任策略。然后选择 Next: Permissions (下一步:权限)。
-
如果可能,选择要用作权限策略的策略,或选择创建策略以打开新的浏览器选项卡并从头开始创建新策略。有关更多信息,请参阅 IAM 用户指南中创建 IAM 策略过程的步骤 4。在您创建策略后,关闭该选项卡并返回到您的原始选项卡。选中您希望服务具有的权限策略旁边的复选框。
根据您选择的使用案例,该服务可能允许您执行以下任意操作:
-
不执行任何操作,因为该服务为角色定义了权限
-
允许您从一组有限的权限中进行选择
-
允许您从任意权限中进行选择
-
允许您此时不选择策略,稍后创建策略,然后将这些策略附加到角色
-
-
(可选)设置权限边界。这是一项高级功能,可用于服务角色,但不可用于服务相关角色。
展开 Set permissions boundary(设置权限边界)部分,然后选择 Use a permissions boundary to control the maximum role permissions(使用权限边界控制最大角色权限)。IAM 包括您的账户中的 Amazon 托管策略和客户托管策略的列表。选择要用于权限边界的策略,或选择创建策略以打开新的浏览器选项卡并从头开始创建新策略。有关更多信息,请参阅 IAM 用户指南中创建 IAM 策略过程的步骤 4。在您创建策略后,关闭该选项卡并返回到您的原始选项卡,以选择要用于权限边界的策略。
-
选择下一步: 标签。
-
(可选) 通过以键值对的形式附加标签来向用户添加元数据。有关在 IAM 中使用标签的更多信息,请参阅 IAM 用户指南中的标记 IAM 实体。
-
选择 Next: Review (下一步:审核)。
-
对于 Role name (角色名称),角色名称自定义的程度由服务定义。如果服务定义角色的名称,则此选项不可编辑。在其他情况下,服务可能定义角色的前缀并允许您键入可选的后缀。某些服务允许您指定角色的整个名称。
如果可能,输入有助于识别该角色的作用的角色名称或角色名称后缀。角色名称在您的 Amazon Web Services 账户 内必须是唯一的。名称不区分大小写。例如,您无法同时创建名为
PRODROLE
和prodrole
的角色。由于多个单位可能引用该角色,角色创建完毕后无法编辑角色名称。 -
(可选)对于 Role description (角色描述),输入新角色的描述。
-
检查角色,然后选择 Create role。
示例 1:将用户配置为数据库管理员(控制台)
此示例显示将 IAM 用户 Alice 配置为 Database Administrator(数据库管理员)需要执行的步骤。您需要使用此部分中的表中第一行中的信息,并允许该用户启用 Amazon RDS 监控。您将 DatabaseAdministratorrds-monitoring-role
的角色传递给 Amazon RDS 服务,从而允许该服务代表她监控 RDS 数据库。
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
选择 Policies (策略),然后在搜索框中键入
database
。 -
选择 DatabaseAdministrator 策略对应的复选框,再选择 Policy actions(策略操作),然后选择 Attach(附上)。
-
在用户列表中选择 Alice,然后选择 Attach policy。Alice 现在可以管理 Amazon 数据库了。但是,要允许 Alice 监控这些数据库,您必须配置服务角色。
-
在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role。
-
选择 Amazon Service(亚马逊云科技服务)角色类型,然后选择 Amazon RDS。
-
选择用于增强监控的 Amazon RDS 角色使用案例。
-
Amazon RDS 将为您的角色定义权限。选择下一步:审核以继续。
-
角色名称必须是 Alice 当前拥有的 DatabaseAdministrator 策略中指定的一个。其中一个是
rds-monitoring-role
。键入它作为 Role name。 -
(可选) 对于 Role description,键入新角色的描述。
-
在检查详细信息后,选择 Create role。
-
现在,Alice 即可在 Amazon RDS 控制台的 Monitoring(监控)部分中启用 RDS Enhanced Monitoring(RDS 增强监控)。例如,她可以在创建数据库实例、创建只读副本或修改数据库实例时执行此操作。在将 Enable Enhanced Monitoring 设为 Yes 时,她必须在 Monitoring Role 框中键入自己创建的角色名称:rds-monitoring-role。
示例 2:将用户配置为网络管理员(控制台)
此示例显示将 IAM 用户 Juan 配置为 Network Administrator(网络管理员)需要执行的步骤。它使用该部分的表中的信息来允许 Juan 监控往来于 VPC 的 IP 流量。它还允许 Juan 将该信息记录在 CloudWatch Logs 日志中。您将 NetworkAdministratorflow-logs*
。此场景与示例 1 不同,这里没有预定义的服务角色类型,因此您必须执行几个不同的步骤。
登录 Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Policies (策略),然后在搜索框中键入
network
。 -
选中 NetworkAdministrator 策略旁的复选框,然后依次选择 Policy actions(策略操作)和 Attach(附上)。
-
在用户列表中选择 Juan 对应的复选框,然后选择 Attach policy。Juan 现在可以管理 Amazon 网络资源了。但是,为了监控 VPC 中的 IP 流量,您必须配置服务角色。
-
由于您需要创建的服务角色没有预定义的托管策略,您必须先创建一个。在导航窗格中,选择策略,然后选择创建策略。
-
选择 JSON 选项卡,然后复制以下 JSON 策略文档中的文本。将该文本粘贴到 JSON 文本框中。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogGroups", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "*" } ] }
-
解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择 Review policy(查看策略)。
注意 您可以随时在可视化编辑器和 JSON 选项卡之间切换。不过,如果您进行更改或在可视化编辑器选项卡中选择 Review policy(查看策略),IAM 可能会调整您的策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅 调整策略结构。
-
在 Review (查看) 页面上,键入
vpc-flow-logs-policy-for-service-role
作为策略名称。查看策略摘要以查看您的策略授予的权限,然后选择创建策略以保存您的工作。将在托管策略列表中显示新策略,并已准备好附加该策略。
-
在 IAM 控制台的导航窗格中,选择 Roles,然后选择 Create role。
-
选择 Amazon Service(亚马逊云科技服务)角色类型,然后选择 Amazon EC2。
-
选择 Amazon EC2 使用案例。
-
在附加权限策略页面上,选择您之前创建的策略:vpc-flow-logs-policy-for-service-role,然后选择下一步:审核。
-
必须使用 Juan 当前拥有的 NetworkAdministrator 策略所允许的角色名称。允许以
flow-logs-
开头的任何名称。在此示例中,对于 Role name (角色名称),请键入flow-logs-for-juan
。 -
(可选) 对于 Role description,键入新角色的描述。
-
在检查详细信息后,选择 Create role。
-
现在可以配置本场景需要的信任策略。在 Roles (角色) 页面上,选择 flow-logs-for-juan 角色(选择角色名称而不是复选框)。在新角色的详细信息页面上,选择 Trust relationships (信任关系) 选项卡,然后选择 Edit trust relationship (编辑信任关系)。
-
将条目替换为
ec2.amazonaws.com
,“Service”行改为读取,如下所示:"Service": "vpc-flow-logs.amazonaws.com"
-
Juan 现在可以在 Amazon EC2 控制台中为 VPC 或子网创建流日志了。当创建流日志时,请指定 flow-logs-for-juan 角色。该角色拥有创建日志并向其写入数据的权限。