为跨服务交互创建 IAM 角色 - Amazon GameLift
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

为跨服务交互创建 IAM 角色

对于 GameLift FleetIQ 与您的 Amazon EC2 实例和 Auto Scaling 组中,您必须允许服务互相互动。这是通过在您的 AWS 账户中创建 IAM 角色来实现的。每个角色标识可承担角色和一组有限权限的服务。

设置以下角色:

为 创建角色GameLift FleetIQ

此角色允许 GameLift FleetIQ 要访问和修改您的 Amazon EC2 实例, Auto Scaling 组和生命周期挂钩,作为其现场平衡和自动扩展活动的一部分。

使用 IAM 控制台或 AWS CLI 为 GameLift FleetIQ 创建角色并附加具有必要权限的托管策略。有关更多信息,请参阅 IAM 角色和管理的策略,请参阅 为AWS服务创建角色AWS管理策略.

Console

这些步骤描述如何使用管理的策略创建服务角色 GameLift 使用 AWS 管理控制台.

  1. 打开 iam控制台 并选择 角色: 创建 角色.

  2. 对于 选择可信任实体类型,选择 AWS服务.

  3. 对于 选择使用案例,选择 比赛利夫 从服务列表中。下方 选择您的使用情形,适当的 GameLift 使用案例将自动选中。要继续,请选择 下一步: Permissions.

  4. 列表 附加权限策略 应包含一个策略: GamEliftGamEserverGroup政策 . 如果未显示此策略,请检查筛选条件或使用搜索功能将其添加到角色中。您可以查看策略的语法(选择 ▶ 图标以展开),但不能更改语法。创建角色时,可以更新角色并附加其他策略以添加或删除权限。

    对于 设置权限边界,保留默认设置(创建不带权限边界的角色)。这是一个不需要的高级设置。要继续,请选择 下一步: 标签.

  5. 添加标签 是资源管理的可选设置。例如,您可能希望将标签添加到此角色以按角色跟踪项目特定的资源使用情况。要查看有关标记的更多信息,请参阅 IAM 角色和其他用途,请遵循 了解更多 链接。要继续,请选择 下一步: 审核。.

  6. 审核 页面,根据需要进行以下更改:

    • 输入角色名称并(可选)更新说明。

    • 请验证以下内容:

      • 受信任的实体 设置为“AWS服务:gamelift.amazonaws.com”。创建角色后,必须更新此值。

      • 政策 包括GamelIftGamEservergroup政策。

    要完成任务,请选择 创建角色.

  7. 创建新角色后,您必须手动更新角色的信任关系。转到 角色 页面并选择新角色名称打开其摘要页面。打开 信任关系 选项卡并选择 编辑信托关系. 在策略文件中,更新 Service 包括 autoscaling.amazonaws.com。修订版 Service 属性应该如下所示:

    "Service": [ "gamelift.amazonaws.com", "autoscaling.amazonaws.com" ]

    要保存更改,请选择 更新信托政策.

该角色已准备就绪。记下角色的 ARN 值,该值显示在角色摘要页面的顶部。您在设置 GameLift FleetIQ 游戏服务器组时需要此信息。

AWS CLI

以下步骤介绍如何使用 AWS CLI 为 GameLift 创建具有托管策略的服务角色。

  1. 创建信任策略文件(示例: FleetIQtrustpolicyGameLift.json)具有以下JSON语法。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "gamelift.amazonaws.com", "autoscaling.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  2. 创建新的 IAM 角色 IAM创建角色 并将其与您刚创建的“信任策略JSON”文件关联。

    (Windows)

    aws iam create-role --role-name FleetIQ-role-for-GameLift --assume-role-policy-document file://C:\policies\FleetIQtrustpolicyGameLift.json

    (Linux)

    aws iam create-role --role-name FleetIQ-role-for-GameLift --assume-role-policy-document file://policies/FleetIQtrustpolicyGameLift.json

    请求成功后,响应包括新创建角色的属性。记下 ARN 值。您在设置 GameLift FleetIQ 游戏服务器组时需要此信息。

  3. 使用 iam附加-角色-政策 要附加管理的权限策略“GamEliftGameserverGroupPolicy”。

    aws iam attach-role-policy --role-name FleetIQ-role-for-GameLift --policy-arn arn:aws:iam::aws:policy/GameLiftGameServerGroupPolicy

    要验证是否已附加权限策略,请致电 IAM列表附件-角色-策略 新角色的名称。

该角色已准备就绪。您可以通过调用确认IAM角色已正确配置 Gamelift创建游戏-服务器组role-arn 属性设置为新角色的ARN值。当 GameServerGroup 进入活动状态,这表明 GameLift FleetIQ 能够修改 Amazon EC2 和 Auto Scaling 您账户中的资源,如预期。

为 创建角色Amazon EC2

这个角色可以让您的 Amazon EC2 与 GameLift FleetIQ. 例如,在 Amazon EC2 实例上运行的游戏服务器需要能够报告运行状况。将此角色包括在 IAM 具有您的 Amazon EC2 创建A时的启动模板 GameLift FleetIQ GameServer组。

使用AWSCLI创建角色 Amazon EC2,附加具有必要权限的自定义策略,并将角色附加到实例配置文件。有关详细信息,请参阅 为AWS服务创建角色.

AWS CLI

这些步骤介绍如何使用自定义功能创建服务角色 GameLift 权限 Amazon EC2 使用 AWS CLI.

  1. 创建信任策略文件(示例: FleetIQtrustpolicyEC2.json)具有以下JSON语法。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 创建新的 IAM 角色 IAM创建角色 并将其与您刚创建的“信任策略JSON”文件关联。

    (Windows)

    aws iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://C:\policies\FleetIQtrustpolicyEC2.json

    (Linux)

    aws iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://policies/FleetIQtrustpolicyEC2.json

    请求成功后,响应包括新创建角色的属性。记下 ARN 值。您在设置 Amazon EC2 启动模板时需要此信息。

  3. 创建权限策略文件(示例: FleetIQpermissionsEC2.json)具有以下JSON语法。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "gamelift:*", "Resource": "*" } ] }
  4. 使用 IAM角色-政策 要将刚创建的权限策略JSON文件附加到新角色。

    (Windows)

    aws iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://C:\policies\FleetIQpermissionsEC2.json

    (Linux)

    aws iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://policies/FleetIQpermissionsEC2.json

    要验证是否已附加权限策略,请致电 IAM名单-角色-策略 新角色的名称。

  5. 创建实例配置文件 IAM创建实例配置文件 新角色与新角色 Amazon EC2. 有关详细信息,请参阅 管理实例配置文件.

    aws iam create-instance-profile --instance-profile-name FleetIQ-role-for-EC2

    当请求成功时,响应包括新创建的实例配置文件的属性。

  6. 使用 iam添加角色到实例资料 将角色附加到实例配置文件。

    aws iam add-role-to-instance-profile --role-name FleetIQ-role-for-EC2 --instance-profile-name FleetIQ-role-for-EC2

现在,职务和资料已准备好与 Amazon EC2 启动模板。