

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

# 为 Amazon GameLift Servers 设置 IAM 服务角色
<a name="setting-up-role"></a>

某些Amazon GameLift Servers功能要求您将有限的访问权限扩展到您拥有的其他 AWS 资源。您可以通过创建 AWS Identity and Access Management (IAM) 角色来做到这一点。IAM [角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)是可在账户中创建的一种具有特定权限的 IAM 身份。IAM 角色与 IAM 用户类似，因为它是一个具有权限策略的 AWS 身份，该策略决定了该身份可以做什么和不能做什么 AWS。但是，角色旨在让需要它的任何人代入，而不是唯一地与某个人员关联。此外，角色没有关联的标准长期凭证（如密码或访问密钥）。相反，当你担任角色时，它会为你的角色会话提供临时安全证书。

本主题介绍如何创建可用于 Amazon GameLift Servers 托管式实例集的角色。如果您使用Amazon GameLift ServersFleetIQ来优化亚马逊弹性计算云 (Amazon EC2) 实例上的游戏托管，[请参阅设置 AWS 账户](https://docs.aws.amazon.com/gameliftservers/latest/fleetiqguide/gsg-iam-permissions.html)您的。Amazon GameLift Servers FleetIQ

在以下步骤中，创建一个拥有自定义权限策略和允许 Amazon GameLift Servers 担任角色的信任策略的角色。

## 为 Amazon GameLift Servers 托管式 EC2 实例集创建 IAM 服务角色
<a name="setting-up-role-custom"></a>

**步骤 1：创建权限策略。**

使用本页面上的说明和示例，为您正在使用的 Amazon GameLift Servers 实例集类型创建自定义权限策略。

**使用 JSON 策略编辑器创建策略**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在左侧的导航窗格中，选择**策略**。

   如果这是您首次选择**策略**，则会显示**欢迎访问托管式策略**页面。选择**开始使用**。

1. 在页面的顶部，选择**创建策略**。

1. 在**策略编辑器**部分，选择 **JSON** 选项。

1. 输入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息，请参阅 [IAM JSON 策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)参考。

1. 解决[策略验证](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)过程中生成的任何安全警告、错误或常规警告，然后选择**下一步**。
**注意**  
您可以随时在**可视化**和 **JSON** 编辑器选项卡之间切换。不过，如果您进行更改或在**可视化**编辑器中选择**下一步**，IAM 可能会调整策略结构以针对可视化编辑器进行优化。有关更多信息，请参阅*《IAM 用户指南》*中的[调整策略结构](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)。

1. （可选）在中创建或编辑策略时 AWS 管理控制台，可以生成可在模板中使用的 JSON 或 YAML 策略 CloudFormation 模板。

   为此，请在**策略编辑器**中选择**操作**，然后选择**生成 CloudFormation模板**。要了解更多信息 CloudFormation，请参阅*AWS CloudFormation 用户指南*中的[AWS Identity and Access Management 资源类型参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_IAM.html)。

1. 向策略添加完权限后，选择**下一步**。

1. 在**查看并创建**页面上，为您要创建的策略键入**策略名称**和**描述**（可选）。查看**此策略中定义的权限**以查看策略授予的权限。

1. （可选）通过以密钥值对的形式附加标签来向策略添加元数据。有关在 IAM 中使用标签的更多信息，请参阅 *IAM 用户指南*中的[AWS Identity and Access Management 资源标签](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)。

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

**步骤 2：创建 Amazon GameLift Servers 可以担任的角色。**

**创建 IAM 角色**

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

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

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

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "gamelift.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. 在**添加权限**页面上，找到并选择您在步骤 1 中创建的权限策略。选择**下一步**以继续。

1. 在**名称、查看并创建**页面上，为您要创建的角色输入**角色名称**和**描述**（可选）。查看**信任实体**和**已添加权限**。

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

## 为 Amazon GameLift Servers 托管式容器创建 IAM 角色
<a name="setting-up-role-containers"></a>

如果您使用的是 Amazon GameLift Servers 托管式容器，需要创建用于容器实例集的 IAM 服务角色。此角色授予 Amazon GameLift Servers 管理您的容器实例集资源并代表您执行操作所需的有限权限。

**为容器实例集创建 IAM 角色**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

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

1. 在 **“选择可信实体**” 页面上，选择**AWS 服务**，然后选择**用例** “GameLift”。选择**下一步**。

1. 在**添加权限**页面上，选择托管策略 `GameLiftContainerFleetPolicy`。选择**下一步**。有关此策略的更多信息，请参阅[AWS 的托管策略 Amazon GameLift Servers](security-iam-awsmanpol.md)。

1. 在**命名、查看和创建**页面上，输入角色名称，然后选择**创建角色**以保存新角色。

## 权限策略语法
<a name="setting-up-role-syntax"></a>
+ **Amazon GameLift Servers 担任服务角色的权限**

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "gamelift.amazonaws.com"
        },
        "Action": "sts:AssumeRole"
      }
    ]
  }
  ```

------
+ **访问默认情况下未启用的 AWS 区域的权限**

------
#### [ JSON ]

****  

  ```
  {
    "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"
      }
    ]
  }
  ```

------