

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

# 使用 DAX 的服務連結 IAM 角色
<a name="using-service-linked-roles"></a>

Amazon DynamoDB Accelerator (DAX) 使用 AWS Identity and Access Management (IAM) [服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)。服務連結角色是直接連結至 DAX 的一種特殊 IAM 角色類型。服務連結角色是由 DAX 預先定義，並包含服務代表您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓設定 DAX 更為簡單，因為您不必手動新增必要的許可。DAX 定義其服務連結角色的許可，除非另有定義，否則僅有 DAX 可以擔任其角色。已定義的許可包括信任政策和許可政策。該許可政策無法連接至其他任何 IAM 實體。

您必須先刪除角色的相關資源，才能刪除角色。如此可保護您的 DAX 資源，避免您不小心移除資源的存取許可。

如需支援服務連結角色之其他服務的資訊，請參閱《IAM 使用者指南》**中的[與 IAM 搭配運作的AWS 服務](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)。尋找 **Service-linked roles (服務連結角色)** 欄中包含 **Yes (是)** 的服務。選擇 **Yes (是)** 連結，檢視該服務的服務連結角色文件。

**Topics**
+ [DAX 的服務連結角色許可](#service-linked-role-permissions)
+ [建立 DAX 的服務連結角色](#create-service-linked-role)
+ [編輯 DAX 的服務連結角色](#edit-service-linked-role)
+ [刪除 DAX 的服務連結角色](#delete-service-linked-role)

## DAX 的服務連結角色許可
<a name="service-linked-role-permissions"></a>

DAX 使用名為 `AWSServiceRoleForDAX` 的服務連結角色。此角色可讓 DAX 代表您的 DAX 叢集呼叫服務。

**重要**  
`AWSServiceRoleForDAX` 服務連結角色可讓設定和維護 DAX 叢集更為容易。但是，您仍然必須授予每個叢集存取 DynamoDB 的權限，才能使用它。如需詳細資訊，請參閱[DAX 存取控制](DAX.access-control.md)。

`AWSServiceRoleForDAX` 服務連結角色信任下列服務擔任角色：
+ `dax.amazonaws.com`

此角色許可政策允許 DAX 對指定資源完成下列動作：
+ 在 `ec2` 上的動作：
  + `AuthorizeSecurityGroupIngress`
  + `CreateNetworkInterface`
  + `CreateSecurityGroup`
  + `DeleteNetworkInterface`
  + `DeleteSecurityGroup`
  + `DescribeAvailabilityZones`
  + `DescribeNetworkInterfaces`
  + `DescribeSecurityGroups`
  + `DescribeSubnets`
  + `DescribeVpcs`
  + `ModifyNetworkInterfaceAttribute`
  + `RevokeSecurityGroupIngress`

您必須設定許可，IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[服務連結角色許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)。

**允許 IAM 實體建立 AWSServiceRoleForDAX 服務連結角色**

 新增以下政策陳述式到該 IAM 實體的許可中。

```
{
    "Effect": "Allow",
    "Action": [
        "iam:CreateServiceLinkedRole"
    ],
    "Resource": "*",
    "Condition": {"StringLike": {"iam:AWSServiceName": "dax.amazonaws.com"}}
}
```

## 建立 DAX 的服務連結角色
<a name="create-service-linked-role"></a>

您不需要手動建立服務連結角色，當您建立叢集時，DAX 會為您建立服務連結角色。

**重要**  
若您是在 2018 年 2 月 28 日之前使用 DAX 服務，當其開始支援服務連結角色時，DAX 會在您的帳戶中建立 `AWSServiceRoleForDAX` 角色。如需詳細資訊，請參閱[《IAM 使用者指南》中的我的 AWS 帳戶出現的新角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared)。 **

若您刪除此服務連結角色，之後需要再次建立，您可以在帳戶中使用相同程序重新建立角色。當您建立執行個體或叢集時，DAX 會再次為您建立服務連結角色。

## 編輯 DAX 的服務連結角色
<a name="edit-service-linked-role"></a>

DAX 不允許您編輯 `AWSServiceRoleForDAX` 服務連結角色。因為有各種實體可能會參考服務連結角色，所以您無法在建立角色之後變更角色名稱。然而，您可使用 IAM 來編輯角色描述。如需詳細資訊，請參閱《IAM 使用者指南》**中的[編輯服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)。

## 刪除 DAX 的服務連結角色
<a name="delete-service-linked-role"></a>

若您不再使用需要服務連結角色的功能或服務，我們建議您刪除該角色。如此一來，您就沒有未主動監控或維護的未使用實體。不過您必須先刪除您的所有 DAX 叢集，才能刪除服務連結角色。

### 清除服務連結角色
<a name="service-linked-role-review-before-delete"></a>

您必須先確認服務連結角色沒有作用中的工作階段，並移除該角色使用的資源，之後才能使用 IAM 將其刪除。

**檢查服務連結角色是否於 IAM 主控台有作用中的工作階段**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 的 IAM 主控台。

1. 在 IAM 主控台的導覽窗格中，選擇**角色**。然後選擇 **AWSServiceRoleForDAX** 角色的名稱 (而非核取方塊)。

1. 在所選角色的 **Summary (摘要)** 頁面中，選擇 **Access Advisor (存取 Advisor)** 分頁。

1. 在 **Access Advisor (存取 Advisor)** 分頁中，檢閱服務連結角色的近期活動。
**注意**  
如果您不確定 DAX 是否正在使用 `AWSServiceRoleForDAX` 角色，可嘗試刪除該角色。若服務正在使用該角色，則刪除會失敗，而您可以檢視角色使用於哪個區域。若該角色正受到使用，則您必須刪除您的 DAX 叢集，之後才能刪除該角色。您無法撤銷服務連結角色的工作階段。

如果您想要移除 `AWSServiceRoleForDAX` 角色，則必須先刪除所有 DAX 叢集。

#### 刪除您的所有 DAX 叢集
<a name="delete-service-linked-role.clusters"></a>

使用這些步驟之一刪除您的每個 DAX 叢集。

**刪除 DAX 叢集 (主控台)**

1. 請在 [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/) 開啟 DynamoDB 主控台。

1. 在導覽窗格中，選擇 **DAX** 下方的 **Clusters** (叢集)。

1. 選擇**動作**，然後選擇**刪除**。

1. 在 **Delete cluster confirmation (刪除叢集確認)** 方塊中，選擇 **Delete (刪除)**。

**刪除 DAX 叢集 (AWS CLI)**  
請參閱 *AWS CLI 命令參考*中的 [delete-cluster](https://docs.aws.amazon.com/cli/latest/reference/dax/delete-cluster.html)。

**刪除 DAX 叢集 (API)**  
請參閱《Amazon DynamoDB API 參考》**中的 [DeleteCluster](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_dax_DeleteCluster.html)。

#### 刪除服務連結角色
<a name="delete-service-linked-role.slr"></a>

**使用 IAM 手動刪除服務連結角色**

使用 IAM 主控台、IAM CLI 或 IAM API 刪除 `AWSServiceRoleForDAX` 服務連結角色。如需詳細資訊，請參閱《IAM 使用者指南》**中的[刪除服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)。