

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

# 將 IAM 角色與 Amazon Aurora MySQL 資料庫叢集建立關聯
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster"></a>

若要允許 Amazon Aurora 資料庫叢集中的資料庫使用者存取其他服務 AWS ，請將您在 中建立的 IAM 角色[建立 IAM 角色以允許 Amazon Aurora 存取 AWS 服務](AuroraMySQL.Integrating.Authorizing.IAM.CreateRole.md)與該資料庫叢集建立關聯。您也可以直接關聯服務，使 AWS 建立新的 IAM 角色。

**注意**  
您無法建立 IAM 角色與 Aurora Serverless v1 資料庫叢集的關聯。如需詳細資訊，請參閱[使用 Amazon Aurora Serverless v1](aurora-serverless.md)。  
您可以建立 IAM 角色與 Aurora Serverless v2 資料庫叢集的關聯。

若要將 IAM 角色與資料庫叢集建立關聯，請執行兩個動作：

1. 使用 RDS 主控台、 [add-role-to-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/add-role-to-db-cluster.html) AWS CLI 命令或 [AddRoleToDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddRoleToDBCluster.html) RDS API 操作，將角色新增至資料庫叢集的關聯角色清單。

   您可以為每個 Aurora 資料庫叢集新增最多 5 個 IAM 角色。

1. 將相關 AWS 服務的叢集層級參數設定為相關 IAM 角色的 ARN。

   下表針對用於存取其他 AWS 服務的 IAM 角色，描述叢集層級參數名稱。    
<a name="aurora_cluster_params_iam_roles"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)

若要建立 IAM 角色的關聯，以允許 Amazon RDS 叢集代表您與其他 AWS 服務通訊，請執行下列步驟。

## 主控台
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CON"></a>

**使用主控台將 IAM 角色與 Aurora 資料庫叢集建立關聯**

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

1. 選擇 **Databases** (資料庫)。

1. 選擇您要關聯 IAM 角色的 Aurora 資料庫叢集名稱，以顯示其詳細資訊。

1. 在 **Connectivity & security** (連線和安全) 索引標籤的 **Manage IAM roles** (管理 IAM 角色) 區段中，執行下列其中一項：
   + **Select IAM roles to add to this cluster** (選取要新增至此叢集的 IAM 角色) (預設值)
   + **Select a service to connect to this cluster** (選取服務以連線至這個叢集)  
![\[將 IAM 角色與資料庫叢集建立關聯\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-02.png)

1. 若要使用現有的 IAM 角色，請從選單中選擇該角色，然後選擇 **Add role** (新增角色)。

   如果新增角色成功，則其狀態會顯示為 `Pending`，然後顯示為 `Available`。

1. 若要直接連線服務：

   1. 選擇 **Select a service to connect to this cluster** (選取服務以連線至這個叢集)。

   1. 從功能表中選擇服務，然後選擇 **Connect service** (連線服務)。

   1. 對於 **Connect cluster to *Service Name*** (將叢集連線至 服務名稱)，請輸入要用來連線至服務的 Amazon Resource Name (ARN)，然後選擇 **Connect service** (連線服務)。

   AWS 會建立新的 IAM 角色以連線至 服務。其狀態會顯示為 `Pending`，然後顯示為 `Available`。

1. (選用) 若要停止 IAM 角色與資料庫叢集的關聯並移除相關的許可，請選擇角色，然後選擇 **Delete** (刪除)。

**設定相關聯 IAM 角色的叢集層級參數**

1. 在 RDS 主控台的導覽窗格中，選擇 **Parameter Groups (參數群組)**。

1. 如果您已使用自訂的資料庫參數群組，則可以選取該群組來使用，而不需要建立新的資料庫叢集參數群組。如果您使用預設的資料庫叢集參數群組，請建立新的資料庫叢集參數群組，如下列步驟所述：

   1. 選擇 **Create parameter group (建立參數群組)**。

   1. 針對 **參數群組系列**，若為 Aurora MySQL 8.0 相容的資料庫叢集，請選擇 `aurora-mysql8.0`，若為 Aurora MySQL 5.7 相容的資料庫叢集，請選擇 `aurora-mysql5.7`。

   1. 在 **Type (類型)** 中，選擇 **DB Cluster Parameter Group (資料庫叢集參數群組)**。

   1. 在 **Group name (群組名稱)** 中，輸入新資料庫叢集參數群組的名稱。

   1. 在 **Description (描述)** 中，輸入新資料庫叢集參數群組的描述。  
![\[建立資料庫叢集參數群組\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/AuroraUserGuide/images/AuroraAssociateIAMRole-03.png)

   1. 選擇**建立**。

1. 在 **Parameter groups (參數群組)** 頁面上，選取您的資料庫叢集參數群組，然後針對 **Parameter group actions (參數群組動作)** 選擇 **Edit (編輯)**。

1. 將適當的叢集層級[參數](#aurora_cluster_params_iam_roles)設為相關的 IAM 角色 ARN 值。

   例如，您可以只將 `aws_default_s3_role` 參數設為 `arn:aws:iam::123456789012:role/AllowS3Access`。

1. 選擇**儲存變更**。

1. 若要變更您資料庫叢集的資料庫叢集參數群組，請完成下列步驟：

   1. 選擇 **Databases** (資料庫)，然後選擇您的 Aurora 資料庫叢集。

   1. 選擇 **Modify (修改)**。

   1. 捲動至 **Database options (資料庫選項)**，然後將 **DB cluster parameter group (資料庫叢集參數群組)** 設為資料庫叢集參數群組。

   1. 選擇 **Continue (繼續)**。

   1. 驗證您所做的變更，然後選擇 **Apply immediately (立即套用)**。

   1. 選擇 **Modify cluster** (修改叢集)。

   1. 選擇 **Databases** (資料庫)，然後選擇您資料庫叢集的主要執行個體。

   1. 針對 **Actions** (動作)，選擇 **Reboot** (重新啟動)。

      當執行個體重新啟動後，IAM 角色即與資料庫叢集產生關聯。

      如需叢集參數群組的詳細資訊，請參閱 [Aurora MySQL 組態參數](AuroraMySQL.Reference.ParameterGroups.md)。

## CLI
<a name="AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.CLI"></a>

**使用 將 IAM 角色與資料庫叢集建立關聯 AWS CLI**

1. 從 呼叫 `add-role-to-db-cluster`命令，將 IAM 角色ARNs AWS CLI 新增至資料庫叢集，如下所示。

   ```
   PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraS3Role
   PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraLambdaRole
   ```

1. 如果您使用預設的資料庫叢集參數群組，請建立新的資料庫叢集參數群組。如果您已使用自訂的資料庫參數群組，則可以使用該群組，而不需要建立新的資料庫叢集參數群組。

   若要建立新的資料庫叢集參數群組，請從 呼叫 `create-db-cluster-parameter-group`命令 AWS CLI，如下所示。

   ```
   PROMPT> aws rds create-db-cluster-parameter-group  --db-cluster-parameter-group-name AllowAWSAccess \
        --db-parameter-group-family aurora5.7 --description "Allow access to Amazon S3 and AWS Lambda"
   ```

   若為 Aurora MySQL 5.7 相容的資料庫叢集，請對 `aurora-mysql5.7` 指定 `--db-parameter-group-family`。若為 Aurora MySQL 8.0 相容的資料庫叢集，請對 `aurora-mysql8.0` 指定 `--db-parameter-group-family`。

1. 在資料庫叢集參數群組中，設定一或多個適當的叢集層級參數，以及相關的 IAM 角色 ARN 值，如下所示。

   ```
   PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \
       --parameters "ParameterName=aws_default_s3_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \
       --parameters "ParameterName=aws_default_lambda_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
   ```

1. 將資料庫叢集修改為使用新的資料庫叢集參數群組，然後重新啟動叢集，如下所示。

   ```
   PROMPT> aws rds modify-db-cluster --db-cluster-identifier my-cluster --db-cluster-parameter-group-name AllowAWSAccess
   PROMPT> aws rds reboot-db-instance --db-instance-identifier my-cluster-primary
   ```

   當執行個體重新啟動後，IAM 角色與資料庫叢集就產生關聯。

   如需叢集參數群組的詳細資訊，請參閱 [Aurora MySQL 組態參數](AuroraMySQL.Reference.ParameterGroups.md)。