为亚马逊设置 IAM 服务角色 GameLift - Amazon GameLift

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

为亚马逊设置 IAM 服务角色 GameLift

Amazon 的某些 GameLift 功能要求您对自己拥有的AWS资源进行有限访问。您可以通过创建 AWS Identity and Access Management (IAM) 角色来做到这一点。IAM 角色是可在账户中创建的一种具有特定权限的 IAM 身份。IAM 角色类似于 IAM 用户,因为它是一个 AWS 身份,具有确定其在 AWS 中可执行和不可执行的操作的权限策略。但是,角色旨在让需要它的任何人代入,而不是唯一地与某个人员关联。此外,角色没有关联的标准长期凭证(如密码或访问密钥)。相反,当您代入角色时,它会为您提供角色会话的临时安全凭证。

本主题介绍如何创建可用于 Amazon GameLift 托管车队的角色。如果您使用亚马逊 GameLift FleetiQ 来优化亚马逊弹性计算云 (Amazon EC2) 实例上的游戏托管,请参阅为亚马逊 FleetiQ 进行设置。AWS 账户 GameLift

在以下步骤中,使用自定义权限策略和允许 Amazon 担任该角色 GameLift 的信任策略创建一个角色。

创建自定义 IAM 角色

步骤 1:创建权限策略。

使用 JSON 策略编辑器创建策略
  1. 登录AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在左侧的导航窗格中,选择策略

    如果这是您首次选择策略,则会显示 Welcome to Managed Policies 页面。选择开始使用

  3. 在页面的顶部,选择创建策略

  4. 策略编辑器部分,选择 JSON 选项。

  5. 输入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅 IAM JSON 策略参考。

  6. 解决策略验证过程中生成的任何安全警告、错误或常规警告,然后选择下一步

    注意

    您可以随时在可视化JSON 编辑器选项卡之间切换。不过,如果您进行更改或在可视化编辑器中选择下一步,IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息,请参阅《IAM 用户指南》https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure中的调整策略结构

  7. (可选)在 AWS Management Console 中创建或编辑策略时,您可以生成可在 AWS CloudFormation 模板中使用的 JSON 或 YAML 策略模板。

    为此,请在策略编辑器中选择操作,然后选择生成 CloudFormation模板。如需了解有关 AWS CloudFormation 的更多信息,请参阅《AWS CloudFormation 用户指南》中的 AWS Identity and Access Management 资源类型参考

  8. 向策略添加完权限后,选择下一步

  9. 查看并创建页面上,为您要创建的策略键入策略名称描述(可选)。查看此策略中定义的权限以查看策略授予的权限。

  10. (可选)通过以密钥值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息,请参阅《IAM 用户指南》中的标记 IAM 资源

  11. 选择创建策略可保存您的新策略。

步骤 2:创建 Amazon GameLift 可以代入的角色。

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

  2. 选择可信实体页面上,选择自定义信任策略选项。此选项将打开自定义信任策略编辑器。

  3. 将默认 JSON 语法替换为以下语法,然后选择下一步继续。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "gamelift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  4. 添加权限页面上,找到并选择您在步骤 1 中创建的权限策略。选择下一步以继续。

  5. 名称、查看并创建页面上,为您要创建的角色输入角色名称描述(可选)。查看信任实体已添加权限

  6. 选择创建角色以保存您的新角色。

权限策略语法

  • Amazon GameLift 担任服务角色的权限

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "gamelift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  • 访问默认情况下未启用的 AWS 区域的权限

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "gamelift.amazonaws.com", "gamelift.ap-east-1.amazonaws.com", "gamelift.me-south-1.amazonaws.com", "gamelift.af-south-1.amazonaws.com", "gamelift.eu-south-1.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }