本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 IAM 角色與 Amazon Aurora MySQL 資料庫叢集建立關聯
若要允許 Amazon Aurora 資料庫叢集中的資料庫使用者存取其他服務 AWS ,請將您在 中建立的 IAM 角色建立 IAM 角色以允許 Amazon Aurora 存取 AWS 服務與該資料庫叢集建立關聯。您也可以直接關聯服務,使 AWS 建立新的 IAM 角色。
若要將 IAM 角色與資料庫叢集建立關聯,請執行兩個動作:
-
使用 RDS 主控台、 add-role-to-db-cluster AWS CLI 命令或 AddRoleToDBCluster RDS API 操作,將角色新增至資料庫叢集的關聯角色清單。
您可以為每個 Aurora 資料庫叢集新增最多 5 個 IAM 角色。
-
將相關 AWS 服務的叢集層級參數設定為相關 IAM 角色的 ARN。
下表針對用於存取其他 AWS 服務的 IAM 角色,描述叢集層級參數名稱。
叢集層級參數 描述 aws_default_lambda_role從資料庫叢集呼叫 Lambda 函數時使用。
aws_default_logs_role從資料庫叢集將日誌資料匯出至 Amazon CloudWatch Logs 時,不再需要此參數。Aurora MySQL 現在會使用服務連結角色來提供必要許可。如需服務連結角色的詳細資訊,請參閱使用 Amazon Aurora 的服務連結角色。
aws_default_s3_role從資料庫叢集呼叫
LOAD DATA FROM S3、LOAD XML FROM S3或SELECT INTO OUTFILE S3陳述式時使用。在 Aurora MySQL 第 2 版中,如果未針對適當陳述式的
aurora_load_from_s3_role或aurora_select_into_s3_role指定 IAM 角色,則會使用此參數中指定的 IAM 角色。在 Aurora MySQL 第 3 版中,一律使用針對此參數指定的 IAM 角色。
aurora_load_from_s3_role從資料庫叢集叫用
LOAD DATA FROM S3或LOAD XML FROM S3陳述式時使用。如果此參數未指定 IAM 角色,則會使用aws_default_s3_role中指定的 IAM 角色。在 Aurora MySQL 第 3 版中,無法使用此參數。
aurora_select_into_s3_role從資料庫叢集叫用
SELECT INTO OUTFILE S3陳述式時使用。如果此參數未指定 IAM 角色,則會使用aws_default_s3_role中指定的 IAM 角色。在 Aurora MySQL 第 3 版中,無法使用此參數。
若要建立 IAM 角色的關聯,以允許 Amazon RDS 叢集代表您與其他 AWS 服務通訊,請執行下列步驟。
使用主控台將 IAM 角色與 Aurora 資料庫叢集建立關聯
-
請在 https://console.aws.amazon.com/rds/
開啟 RDS 主控台。 -
選擇 Databases (資料庫)。
-
選擇您要關聯 IAM 角色的 Aurora 資料庫叢集名稱,以顯示其詳細資訊。
-
在 Connectivity & security (連線和安全) 索引標籤的 Manage IAM roles (管理 IAM 角色) 區段中,執行下列其中一項:
-
Select IAM roles to add to this cluster (選取要新增至此叢集的 IAM 角色) (預設值)
-
Select a service to connect to this cluster (選取服務以連線至這個叢集)
-
-
若要使用現有的 IAM 角色,請從選單中選擇該角色,然後選擇 Add role (新增角色)。
如果新增角色成功,則其狀態會顯示為
Pending,然後顯示為Available。 -
若要直接連線服務:
-
選擇 Select a service to connect to this cluster (選取服務以連線至這個叢集)。
-
從功能表中選擇服務,然後選擇 Connect service (連線服務)。
-
對於 Connect cluster to
Service Name(將叢集連線至 服務名稱),請輸入要用來連線至服務的 Amazon Resource Name (ARN),然後選擇 Connect service (連線服務)。
AWS 會建立新的 IAM 角色以連線至 服務。其狀態會顯示為
Pending,然後顯示為Available。 -
-
(選用) 若要停止 IAM 角色與資料庫叢集的關聯並移除相關的許可,請選擇角色,然後選擇 Delete (刪除)。
設定相關聯 IAM 角色的叢集層級參數
-
在 RDS 主控台的導覽窗格中,選擇 Parameter Groups (參數群組)。
-
如果您已使用自訂的資料庫參數群組,則可以選取該群組來使用,而不需要建立新的資料庫叢集參數群組。如果您使用預設的資料庫叢集參數群組,請建立新的資料庫叢集參數群組,如下列步驟所述:
-
選擇 Create parameter group (建立參數群組)。
-
針對 參數群組系列,若為 Aurora MySQL 8.0 相容的資料庫叢集,請選擇
aurora-mysql8.0,若為 Aurora MySQL 5.7 相容的資料庫叢集,請選擇aurora-mysql5.7。 -
在 Type (類型) 中,選擇 DB Cluster Parameter Group (資料庫叢集參數群組)。
-
在 Group name (群組名稱) 中,輸入新資料庫叢集參數群組的名稱。
-
在 Description (描述) 中,輸入新資料庫叢集參數群組的描述。
-
選擇建立。
-
-
在 Parameter groups (參數群組) 頁面上,選取您的資料庫叢集參數群組,然後針對 Parameter group actions (參數群組動作) 選擇 Edit (編輯)。
-
將適當的叢集層級參數設為相關的 IAM 角色 ARN 值。
例如,您可以只將
aws_default_s3_role參數設為arn:aws:iam::123456789012:role/AllowS3Access。 -
選擇儲存變更。
-
若要變更您資料庫叢集的資料庫叢集參數群組,請完成下列步驟:
-
選擇 Databases (資料庫),然後選擇您的 Aurora 資料庫叢集。
-
選擇 Modify (修改)。
-
捲動至 Database options (資料庫選項),然後將 DB cluster parameter group (資料庫叢集參數群組) 設為資料庫叢集參數群組。
-
選擇 Continue (繼續)。
-
驗證您所做的變更,然後選擇 Apply immediately (立即套用)。
-
選擇 Modify cluster (修改叢集)。
-
選擇 Databases (資料庫),然後選擇您資料庫叢集的主要執行個體。
-
針對 Actions (動作),選擇 Reboot (重新啟動)。
當執行個體重新啟動後,IAM 角色即與資料庫叢集產生關聯。
如需叢集參數群組的詳細資訊,請參閱 Aurora MySQL 組態參數。
-
使用 將 IAM 角色與資料庫叢集建立關聯 AWS CLI
-
從 呼叫
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 -
如果您使用預設的資料庫叢集參數群組,請建立新的資料庫叢集參數群組。如果您已使用自訂的資料庫參數群組,則可以使用該群組,而不需要建立新的資料庫叢集參數群組。
若要建立新的資料庫叢集參數群組,請從 呼叫
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。 -
在資料庫叢集參數群組中,設定一或多個適當的叢集層級參數,以及相關的 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" -
將資料庫叢集修改為使用新的資料庫叢集參數群組,然後重新啟動叢集,如下所示。
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 組態參數。