

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

# 新增具有部署後端資源許可的服務角色
<a name="amplify-service-role"></a>

Amplify 需要許可，才能使用您的前端部署後端資源。您會使用服務角色來達成此目標。服務角色是 AWS Identity and Access Management (IAM) 角色，提供 Amplify Hosting 代表您部署、建立和管理後端的許可。

當您建立新的應用程式需要 IAM 服務角色時，您可以允許 Amplify Hosting 為您自動建立服務角色，也可以選取您已建立的 IAM 角色。在本節中，您將了解如何建立具有帳戶管理許可的 Amplify 服務角色，並明確允許直接存取 Amplify 應用程式部署、建立和管理後端所需的資源。

## 在 IAM 主控台中建立 Amplify 服務角色
<a name="create-service-role"></a>

**若要建立服務角色**

1.  [開啟 IAM 主控台](https://console.aws.amazon.com/iam/home?#/roles)，然後從左側導覽列中選擇**角色**，然後選擇**建立角色**。

1. 在**選取信任的實體**頁面中，選擇 **AWS 服務**。針對**使用案例**，選取 **Amplify - 後端部署**，然後選擇**下一步**。

1. 在 **Add permissions** (新增許可) 頁面上，選擇 **Next** (下一步)。

1. 在**名稱、檢視和建立**頁面上，針對**角色名稱**輸入有意義的名稱，例如 **AmplifyConsoleServiceRole-AmplifyRole**。

1. 接受所有預設值，然後選擇**建立角色**。

1. 返回 Amplify 主控台，將角色連接至您的應用程式。
   + 如果您正在部署新的應用程式，請執行下列動作：

     1. 重新整理服務角色的清單。

     1. 選取您剛建立的角色。在此範例中，它應該看起來像 **AmplifyConsoleServiceRole-AmplifyRole**。

     1. 選擇**下一步**，然後依照步驟完成應用程式部署。
   + 如果您有現有的應用程式，請執行下列動作：

     1. 在導覽窗格中，選擇**應用程式設定**，然後選擇 **IAM 角色**。

     1. 在 **IAM 角色**頁面**的服務角色**區段中，選擇**編輯**。

     1. 在**服務角色**頁面上，從**服務角色清單中選取您剛建立的角色**。

     1. 選擇**儲存**。

1. Amplify 現在具有為您的應用程式部署後端資源的許可。

## 編輯服務角色的信任政策，以防止混淆代理人
<a name="confused-deputy-prevention"></a>

混淆代理人問題屬於安全性議題，其中沒有執行動作許可的實體可以強制具有更多許可的實體執行該動作。如需詳細資訊，請參閱[預防跨服務混淆代理人](cross-service-confused-deputy-prevention.md)。

目前，`Amplify-Backend Deployment`服務角色的預設信任政策會強制執行 `aws:SourceArn`和 `aws:SourceAccount`全域內容條件索引鍵，以防止混淆代理人。不過，如果您之前在帳戶中建立 `Amplify-Backend Deployment`角色，您可以更新角色的信任政策，以新增這些條件，以防止混淆代理人。

使用下列範例來限制存取您帳戶中的應用程式。將範例中的區域和應用程式 ID 取代為您自己的資訊。

```
"Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:amplify:us-east-1:123456789012:apps/*"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
```

如需使用 編輯角色信任政策的說明 AWS 管理主控台，請參閱《*IAM 使用者指南*》中的[修改角色 （主控台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html)。