

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為 設定 AWS 您的帳戶 Amazon GameLift Servers FleetIQ
<a name="gsg-iam-permissions"></a>

若要Amazon GameLift Servers FleetIQ搭配 Amazon EC2、Auto Scaling 和其他 AWS 服務使用 ，您必須設定具有必要存取許可的 AWS 帳戶 。完成下列任務：
+ 如果您還沒有可與 搭配使用的帳戶Amazon GameLift Servers FleetIQ，請建立新的 AWS 帳戶。請參閱 [建立 AWS 帳戶](gsg-iam-permissions-account.md)。
+ 設定 使用者和使用者群組Amazon GameLift Servers FleetIQ的特定許可。請參閱 [管理 的使用者許可 Amazon GameLift Servers FleetIQ](gsg-iam-permissions-users.md)。
+ 建立 IAM 角色以允許 Amazon GameLift Servers和您的 Amazon EC2 資源互動。請參閱 [建立跨服務互動的 IAM 角色](gsg-iam-permissions-roles.md)。

# 建立 AWS 帳戶
<a name="gsg-iam-permissions-account"></a>

建立並設定 AWS 帳戶 以搭配 使用Amazon GameLift Servers FleetIQ。建立 無需付費 AWS 帳戶。

**Topics**
+ [註冊 AWS 帳戶](#sign-up-for-aws)
+ [建立具有管理存取權的使用者](#create-an-admin)

## 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

## 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

# 管理 的使用者許可 Amazon GameLift Servers FleetIQ
<a name="gsg-iam-permissions-users"></a>

視需要建立其他使用者或將Amazon GameLift Servers FleetIQ存取許可擴展至現有使用者。使用Amazon GameLift Servers FleetIQ遊戲伺服器群組和相關 Amazon EC2 和 Auto Scaling 服務的使用者必須具有存取這些服務的許可。

最佳實務 ( [IAM 中的安全最佳實務](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)) 為所有使用者套用最低權限許可。您可為個別使用者或使用者群組設定許可，並依據服務、動作或資源限制使用者存取權。

請依照您管理 AWS 帳戶中使用者的方式，使用下列指示來設定使用者許可。如果您使用 IAM 使用者，最佳實務是一律將許可連接到角色或使用者群組，而不是個別使用者。
+ [使用者的許可語法](gsg-iam-permissions-users-policy.md)
+ [搭配 使用的其他許可語法 CloudFormation](gsg-iam-permissions-users-policycfn.md)

若要提供存取權，請新增權限至您的使用者、群組或角色：
+ 中的使用者和群組 AWS IAM Identity Center：

  建立權限合集。請按照《*AWS IAM Identity Center 使用者指南*》中的[建立權限合集](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)說明進行操作。
+ 透過身分提供者在 IAM 中管理的使用者：

  建立聯合身分的角色。遵循《*IAM 使用者指南*》的[為第三方身分提供者 (聯合) 建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)中的指示。
+ IAM 使用者：
  + 建立您的使用者可擔任的角色。請按照《*IAM 使用者指南*》的[為 IAM 使用者建立角色](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html)中的指示。
  + (不建議) 將政策直接附加至使用者，或將使用者新增至使用者群組。請遵循《*IAM 使用者指南*》的[新增許可到使用者 (主控台)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) 中的指示。

# 參考：Amazon GameLift Servers FleetIQ\$1policy
<a name="gsg-iam-permissions-users-policy"></a>

以下是供您參考的Amazon GameLift Servers FleetIQ\$1policy 範例：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": 
  [    
    {
      "Action": 
      [
        "iam:PassRole"
      ],
      "Effect": "Allow",
      "Resource": "*",
      "Condition": 
      {
        "StringEquals": 
        {
          "iam:PassedToService": "gamelift.amazonaws.com"
        }
      }
    },    
    {
      "Action": 
      [
        "iam:CreateServiceLinkedRole"
      ],
      "Effect": "Allow",
      "Resource": "arn:*:iam::*:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
    },    
    {
      "Action": 
      [
        "autoscaling:CreateAutoScalingGroup",
        "autoscaling:CreateOrUpdateTags",
        "autoscaling:DescribeAutoScalingGroups",
        "autoscaling:ExitStandby",
        "autoscaling:PutLifecycleHook",
        "autoscaling:PutScalingPolicy",
        "autoscaling:ResumeProcesses",
        "autoscaling:SetInstanceProtection",
        "autoscaling:UpdateAutoScalingGroup",
        "autoscaling:DeleteAutoScalingGroup"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },    
    {
      "Action": 
      [
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeSubnets",
        "ec2:RunInstances",
        "ec2:CreateTags"
      ],
      "Effect": "Allow",
      "Resource": "*"
    },    
    {
      "Action": 
      [
        "events:PutRule",
        "events:PutTargets"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
  ]
}
```

------

# 的其他許可 CloudFormation
<a name="gsg-iam-permissions-users-policycfn"></a>

如果您使用 CloudFormation來管理遊戲託管資源，請將 CloudFormation 許可新增至政策語法。

```
    {
      "Action": [
        "autoscaling:DescribeLifecycleHooks",
        "autoscaling:DescribeNotificationConfigurations",
        "ec2:DescribeLaunchTemplateVersions"
      ]
      "Effect": "Allow",
      "Resource": "*"
    }
```

# 為使用者設定程式設計存取
<a name="gsg-iam-permissions-users-access-keys"></a>

如果使用者想要與 AWS 外部互動，則需要程式設計存取權 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

若要授予使用者程式設計存取權，請選擇下列其中一個選項。


****  

| 哪個使用者需要程式設計存取權？ | 到 | 根據 | 
| --- | --- | --- | 
| IAM | （建議） 使用主控台登入資料做為臨時登入資料，以簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/fleetiqguide/gsg-iam-permissions-users-access-keys.html)  | 
|  人力資源身分 (IAM Identity Center 中管理的使用者)  | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/fleetiqguide/gsg-iam-permissions-users-access-keys.html)  | 
| IAM | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 遵循《IAM 使用者指南》中[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用的指示。 | 
| IAM | (不建議使用)使用長期憑證簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/gameliftservers/latest/fleetiqguide/gsg-iam-permissions-users-access-keys.html)  | 

如果您使用存取金鑰，請參閱[管理 AWS 存取金鑰的最佳實務](https://docs.aws.amazon.com/accounts/latest/reference/credentials-access-keys-best-practices.html)。

# 建立跨服務互動的 IAM 角色
<a name="gsg-iam-permissions-roles"></a>

為了Amazon GameLift Servers FleetIQ讓 使用您的 Amazon EC2 執行個體和 Auto Scaling 群組，您必須允許服務彼此互動。這可透過在 AWS 帳戶中建立 IAM 角色並指派一組有限的許可來完成。每個角色也會指定哪些服務可以擔任該角色。

設定下列角色：
+ [建立 的角色 Amazon GameLift Servers FleetIQ](gsg-iam-permissions-roles-gamelift.md) 更新您的 Amazon EC2 資源。
+ [建立 Amazon EC2 的角色](gsg-iam-permissions-roles-ec2.md) 資源與 通訊Amazon GameLift Servers FleetIQ。

# 建立 的角色 Amazon GameLift Servers FleetIQ
<a name="gsg-iam-permissions-roles-gamelift"></a>

此角色允許Amazon GameLift Servers FleetIQ存取和修改您的 Amazon EC2 執行個體、Auto Scaling 群組和生命週期掛鉤，作為其 Spot 平衡和自動擴展活動的一部分。

使用 IAM 主控台或 AWS CLI 為 建立角色，Amazon GameLift Servers FleetIQ並連接具有必要許可的受管政策。如需 IAM 角色和受管政策的詳細資訊，請參閱[為 AWS 服務和受管政策建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。 [AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)

------
#### [ Console ]

這些步驟說明如何使用 AWS 管理主控台來為 Amazon GameLift Servers 建立具有受管政策的服務角色。

1. 開啟 [IAM 主控台](https://console.aws.amazon.com/iam)，然後選擇 **Roles: Create role (角色：建立角色)**。

1. 對於 **Select type of trusted entity (選取信任的實體類型)**，選擇 **AWS service ( 服務)**。

1. 針對 **Choose a use case (選擇使用案例)**，從服務清單中選擇 **GameLift**。在 **Select your use case (選取您的使用案例)** 下，會自動選取適當的 Amazon GameLift Servers 使用案例。若要繼續，請選擇 **Next: Permissions (後續許可)**。

1. **Attached permissions policies (已連接的許可政策)** 清單應包含一個政策：**GameLiftGameServerGroupPolicy**。若未顯示此政策，請檢查篩選條件，或使用搜尋功能將其新增至角色。您可以檢視政策的語法 (選擇 ▶ 圖示即可展開)，但您無法變更語法。建立角色時，您可以更新角色並連接其他政策來新增或移除許可。

   針對 **Set permissions boundary (設定許可界限)**，保留預設設定 (建立沒有許可界限的角色)。這是非必要的進階設定。若要繼續，請選擇 **Next: Tags (下一步：標籤)**。

1. **Add tags (新增標籤)** 是資源管理的選用設定。例如，您可能想要將標籤新增至此角色，以依角色追蹤專案特定的資源用量。若要查看有關標記 IAM 角色和其他用途的詳細資訊，請遵循 **進一步了解** 連結。若要繼續，請選擇 **Next: Review (下一步：檢閱)**。

1. 在 **Review (檢閱)** 頁面上，視需要進行下列變更：
   + 輸入角色名稱並選擇是否更新描述。
   + 請確認下列內容：
     + **信任的實體**設定為「AWS 服務：https：//gamelift.amazonaws.com」。建立此角色後，則必須更新此值。
     + **政策**包括 GameLiftGameServerGroupPolicy。

   若要完成此任務，請選擇 **Create role (建立角色)**。

1. 建立新角色之後，您必須手動更新角色的信任關係。移至 **Roles (角色)** 頁面，然後選擇新角色名稱以開啟其摘要頁面。開啟 **Trust relationships (信任關係)** 索引標籤，然後選擇 **Edit trust relationship (編輯信任關係)**。在政策文件中，更新 `Service` 屬性以包含 `autoscaling.amazonaws.com`。修訂後的`Service`屬性應如下所示：

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

   若要儲存變更，請選擇 **Update Trust Policy (更新信任政策)**。

此角色現在已準備就緒。記下此角色的 ARN 值，這會顯示在角色摘要頁面的頂端。設定Amazon GameLift Servers FleetIQ遊戲伺服器群組時，您將需要此資訊。

------
#### [ AWS CLI ]

這些步驟說明如何使用 Amazon GameLift Servers AWS CLI 的受管政策來建立服務角色。

1. 使用下列 JSON 語法建立信任政策檔案 （範例：`FleetIQtrustpolicyGameLift.json`)。

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

****  

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

------

1. 使用 [iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 建立新的 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 值。設定Amazon GameLift Servers FleetIQ遊戲伺服器群組時，您將需要此資訊。

1. 使用 [iam attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) 來連接受管許可證測 "GameLiftGameServerGroupPolicy"。

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

   若要確認許可政策確實已連接，請使用新角色的名稱來呼叫 [iam list-attached-role-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-role-policies.html)。

此角色現在已準備就緒。您可以呼叫 [gamelift create-game-server-group](https://docs.aws.amazon.com/cli/latest/reference/gamelift/create-game-server-group.html)，並將 `role-arn` 屬性設定為新角色的 ARN 值，以驗證 IAM 角色是否已正確設定。當 `GameServerGroup`進入 ACTIVE 狀態時，這表示 Amazon GameLift Servers FleetIQ 能夠如預期修改您帳戶中的 Amazon EC2 和 Auto Scaling 資源。

------

# 建立 Amazon EC2 的角色
<a name="gsg-iam-permissions-roles-ec2"></a>

此角色可讓您的 Amazon EC2 資源與 通訊Amazon GameLift Servers FleetIQ。例如，在 Amazon EC2 執行個體上執行的遊戲伺服器需要能夠報告運作狀態。建立Amazon GameLift Servers FleetIQ遊戲伺服器群組時，請在 Amazon EC2 啟動範本的 IAM 執行個體設定檔中包含此角色。

使用 AWS CLI 為 Amazon EC2 建立角色、連接具有必要許可的自訂政策，以及將角色連接至執行個體描述檔。如需詳細資訊，請參閱[為 AWS 服務建立角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console)。

------
#### [ AWS CLI ]

這些步驟說明如何使用 建立具有 Amazon EC2 自訂Amazon GameLift Servers許可的服務角色 AWS CLI。

1. 使用下列 JSON 語法建立信任政策檔案 （範例：`FleetIQtrustpolicyEC2.json`)。

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

****  

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

------

1. 使用 [iam create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 建立新的 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 啟動範本時，您將需要此資訊。

1. 使用下列 JSON 語法建立許可政策檔案 （範例：`FleetIQpermissionsEC2.json`)。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "gamelift:*",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 使用 [iam put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)，將您剛建立的許可政策 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 list-role-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-role-policies.html)。

1. 使用與 Amazon EC2 搭配使用的新角色建立具有 [iam create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html) 的執行個體描述檔。如需詳細資訊，請參閱[管理執行個體描述檔](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)。

   ```
   AWS iam create-instance-profile --instance-profile-name FleetIQ-role-for-EC2
   ```

   當請求成功時，回應會包含新建立執行個體描述檔的屬性。

1. 使用 [iam add-role-to-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html) 將此角色連接至執行個體描述檔。

   ```
    AWS iam add-role-to-instance-profile --role-name FleetIQ-role-for-EC2 --instance-profile-name FleetIQ-role-for-EC2
   ```

角色和設定檔現在已準備好與 Amazon EC2 啟動範本搭配使用。

------