使用 Amazon RDS 的服務連結角色 - Amazon Relational Database Service

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

使用 Amazon RDS 的服務連結角色

Amazon RDS 會使用 AWS Identity and Access Management (IAM) 服務連結角色。服務連結角色是直接連結至 Amazon RDS 的一種特殊 IAM 角色類型。服務連結角色由 Amazon RDS 預先定義,且內含該服務代您呼叫其他 AWS 服務所需的所有許可。

服務連結角色可讓您更輕鬆使用 Amazon RDS,因為您不需要手動新增必要許可。Amazon RDS 定義其服務連結角色的許可,除非另有定義,否則僅有 Amazon RDS 可以擔任其角色。定義的許可包括信任政策和許可政策,並且該許可政策不能附加到任何其他 IAM 實體。

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

如需關於支援服務連結角色的其他服務資訊,請參閱《可搭配 IAM 運作的 AWS 服務》,並尋找在 Service-Linked Role (服務連結角色) 欄中顯示為 Yes (是) 的服務。選擇具有連結的 Yes (是),以檢視該服務的服務連結角色文件。

Amazon RDS 的服務連結角色許可

Amazon RDS 使用名為 AWSServiceRoleForRDS 的服務連結角色,以允許 Amazon RDS 代表資料庫執行個體來呼叫 AWS 服務。

AWSServiceRoleForRDS 服務連結角色信任下列服務可擔任該角色:

  • rds.amazonaws.com

此服務連結角色具有名為 AmazonRDSServiceRolePolicy 的許可政策,該政策會授予此角色在帳戶中操作的許可。此角色許可政策允許 Amazon RDS 對指定資源完成下列動作:

如需有關此政策的詳細資訊,包括 JSON 政策文件,請參閱《AWS 受管政策參考指南》中的 AmazonRDSServiceRolePolicy

注意

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如果您遇到下列錯誤訊息:

無法建立資源。請確認您擁有建立服務連結角色的許可。否則請等待,然後再試一次。

請確定您已啟用下列許可:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/rds.amazonaws.com/AWSServiceRoleForRDS", "Condition": { "StringLike": { "iam:AWSServiceName":"rds.amazonaws.com" } } }

如需詳細資訊,請參閱《IAM 使用者指南》中的服務連結角色許可

Amazon RDS 建立服務連結角色

您不需要手動建立一個服務連結角色。當您建立資料庫執行個體時,Amazon RDS 會為您建立服務連結角色。

重要

Amazon RDS 自 2017 年 12 月 1 日開始支援服務連結角色,若您在這之前就有使用此服務,則 Amazon RDS 會在帳戶中建立 AWSServiceRoleForRDS 角色。若要進一步了解,請參閱顯示在我的 AWS 帳戶中的新角色

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您建立資料庫執行個體時,Amazon RDS 會再次為您建立服務連結角色。

Amazon RDS 編輯服務連結角色

Amazon RDS 不允許您編輯 AWSServiceRoleForRDS 服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。然而,您可使用 IAM 來編輯角色描述。如需詳細資訊,請參閱《IAM 使用者指南》中的編輯服務連結角色

Amazon RDS 刪除服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。但是,您必須先刪除所有資料庫執行個體,才能刪除服務連結角色。

清除服務連結角色

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

檢查服務連結角色是否於 IAM 主控台有作用中的工作階段
  1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

  2. 在 IAM 主控台的導覽窗格中,選擇 Roles (角色)。然後選擇 AWSServiceRoleForRDS 角色的名稱 (而非核取方塊)。

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

  4. Access Advisor (存取 Advisor) 分頁中,檢閱服務連結角色的近期活動。

    注意

    如果您不確定 Amazon RDS 是否正在使用 AWSServiceRoleForRDS 角色,可嘗試刪除該角色。如果服務正在使用該角色,則刪除會失敗,而您可以檢視正在使用該角色的 AWS 區域。如果服務正在使用該角色,您必須先等到工作階段結束,才能刪除該角色。您無法撤銷服務連結角色的工作階段。

如果您想要移除 AWSServiceRoleForRDS 角色,首先務必要刪除所有資料庫執行個體

刪除您的所有執行個體

使用下列其中一個程序來刪除您的每一個執行個體。

刪除執行個體 (主控台)
  1. 前往 https://console.aws.amazon.com/rds/,開啟 Amazon RDS 主控台。

  2. 在導覽窗格中,選擇 Databases (資料庫)。

  3. 選擇想要刪除的執行個體。

  4. 對於 Actions (動作),請選擇 Delete (刪除)。

  5. 若出現 Create final Snapshot? (是否建立最終快照?) 提示訊息,請選擇 Yes (是)No (否)

  6. 如果您在前一個步驟中選擇 Yes (是),則對於 Final snapshot name (最終快照名稱),輸入您的最終快照名稱。

  7. 選擇 Delete (刪除)。

刪除執行個體 (CLI)

請參閱 AWS CLI 命令參考中的 delete-db-instance

刪除執行個體 (API)

請參閱 Amazon RDS API 參考中的 DeleteDBInstance

使用 IAM 主控台、IAM CLI 或 IAM API 刪除 AWSServiceRoleForRDS 服務連結角色。如需詳細資訊,請參閱《IAM 使用者指南》中的刪除服務連結角色

Amazon RDS Custom 的服務連結角色許可

Amazon RDS Custom 使用名為 AWSServiceRoleForRDSCustom 的服務連結角色,以允許 RDS Custom 代表您的資料庫執行個體叢集來呼叫 AWS 服務。

AWSServiceRoleForRDSCustom 服務連結角色信任下列服務可擔任該角色:

  • custom.rds.amazonaws.com

此服務連結角色具有名為 AmazonRDSCustomServiceRolePolicy 的許可政策,該政策會授予此角色在帳戶中操作的許可。此角色許可政策允許 RDS Custom 對指定資源完成下列動作:

如需有關此政策的詳細資訊,包括 JSON 政策文件,請參閱《AWS 受管政策參考指南》中的 AmazonRDSCustomServiceRolePolicy

為 RDS Custom 建立、編輯或刪除服務連結角色的運作方式與 Amazon RDS 相同。如需詳細資訊,請參閱 Amazon RDS 的服務連結角色許可

注意

您必須設定許可,IAM 實體 (如使用者、群組或角色) 才可建立、編輯或刪除服務連結角色。如果您遇到下列錯誤訊息:

無法建立資源。請確認您擁有建立服務連結角色的許可。否則請等待,然後再試一次。

請確定您已啟用下列許可:

{ "Action": "iam:CreateServiceLinkedRole", "Effect": "Allow", "Resource": "arn:aws:iam::*:role/aws-service-role/custom.rds.amazonaws.com/AmazonRDSCustomServiceRolePolicy", "Condition": { "StringLike": { "iam:AWSServiceName":"custom.rds.amazonaws.com" } } }

如需詳細資訊,請參閱《IAM 使用者指南》中的服務連結角色許可