將 IAM 角色與 Amazon Aurora MySQL 資料庫叢集建立關聯 - Amazon Aurora

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

將 IAM 角色與 Amazon Aurora MySQL 資料庫叢集建立關聯

若要允許 Amazon Aurora 資料庫叢集的資料庫使用者存取其他 AWS 服務,請將您在 建立 IAM 角色以允許 Amazon Aurora 存取 AWS 服務 中建立的 IAM 角色與該資料庫叢集建立關聯。您也可以直接關聯服務,使 AWS 建立新的 IAM 角色。

注意

您無法建立 IAM 角色與 Aurora Serverless v1 資料庫叢集的關聯。如需更多詳細資訊,請參閱 使用 Amazon Aurora Serverless v1

您可以建立 IAM 角色與 Aurora Serverless v2 資料庫叢集的關聯。

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

  1. 使用 RDS 主控台、add-role-to-db-cluster AWS CLI 命令或 AddRoleToDBCluster RDS API 操作,將角色新增至資料庫叢集的相關聯角色清單。

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

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

    下表針對用於存取其他 AWS 服務的 IAM 角色,描述叢集層級參數名稱。

    叢集層級參數 描述

    aws_default_lambda_role

    從資料庫叢集呼叫 Lambda 函數時使用。

    aws_default_logs_role

    從資料庫叢集將日誌資料匯出至 Amazon CloudWatch Logs 時,不再需要此參數。Aurora MySQL 現在會使用服務連結角色來提供必要許可。如需服務連結角色的詳細資訊,請參閱使用 極光的服務連結角色

    aws_default_s3_role

    從資料庫叢集呼叫 LOAD DATA FROM S3LOAD XML FROM S3SELECT INTO OUTFILE S3 陳述式時使用。

    在 Aurora MySQL 第 2 版中,如果未針對適當陳述式的 aurora_load_from_s3_roleaurora_select_into_s3_role 指定 IAM 角色,則會使用此參數中指定的 IAM 角色。

    在 Aurora MySQL 第 3 版中,一律使用針對此參數指定的 IAM 角色。

    aurora_load_from_s3_role

    從資料庫叢集叫用 LOAD DATA FROM S3LOAD 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 資料庫叢集建立關聯
  1. 請在 https://console.aws.amazon.com/rds/ 開啟 RDS 主控台。

  2. 選擇 Databases (資料庫)。

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

  4. Connectivity & security (連線和安全) 索引標籤的 Manage IAM roles (管理 IAM 角色) 區段中,執行下列其中一項:

    • Select IAM roles to add to this cluster (選取要新增至此叢集的 IAM 角色) (預設值)

    • Select a service to connect to this cluster (選取服務以連線至這個叢集)

    將 IAM 角色與資料庫叢集建立關聯
  5. 若要使用現有的 IAM 角色,請從選單中選擇該角色,然後選擇 Add role (新增角色)。

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

  6. 若要直接連線服務:

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

    2. 從功能表中選擇服務,然後選擇 Connect service (連線服務)。

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

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

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

設定相關聯 IAM 角色的叢集層級參數
  1. 在 RDS 主控台的導覽窗格中,選擇 Parameter Groups (參數群組)

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

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

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

    3. Type (類型) 中,選擇 DB Cluster Parameter Group (資料庫叢集參數群組)

    4. Group name (群組名稱) 中,輸入新資料庫叢集參數群組的名稱。

    5. Description (描述) 中,輸入新資料庫叢集參數群組的描述。

      建立資料庫叢集參數群組
    6. 選擇 Create (建立)

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

  4. 將適當的叢集層級參數設為相關的 IAM 角色 ARN 值。

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

  5. 選擇 Save changes (儲存變更)

  6. 若要變更您資料庫叢集的資料庫叢集參數群組,請完成下列步驟:

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

    2. 選擇 Modify (修改)

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

    4. 選擇 Continue (繼續)

    5. 驗證您所做的變更,然後選擇 Apply immediately (立即套用)

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

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

    8. 針對 Actions (動作),選擇 Reboot (重新啟動)。

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

      如需叢集參數群組的詳細資訊,請參閱 Aurora MySQL 組態參數

使用 AWS CLI 將 IAM 角色與資料庫叢集建立關聯
  1. add-role-to-db-cluster 呼叫 AWS CLI 命令,將 IAM 角色的 ARN 新增至資料庫叢集,如下所示。

    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
  2. 如果您使用預設的資料庫叢集參數群組,請建立新的資料庫叢集參數群組。如果您已使用自訂的資料庫參數群組,則可以使用該群組,而不需要建立新的資料庫叢集參數群組。

    若要建立新的資料庫叢集參數群組,請從 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

  3. 在資料庫叢集參數群組中,設定一或多個適當的叢集層級參數,以及相關的 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"
  4. 將資料庫叢集修改為使用新的資料庫叢集參數群組,然後重新啟動叢集,如下所示。

    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 組態參數