保護我的SQL資料庫執行個體連線 - Amazon Relational Database Service

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

保護我的SQL資料庫執行個體連線

您可以管理 MySQL 資料庫執行個體的安全性。

我在SQL Amazon 上的安全 RDS

Security for MySQL 資料庫執行個體受三個層級的管理:

  • AWS Identity and Access Management 控制誰可以在資料庫執行個體上執行 Amazon RDS管理動作。當您 AWS 使用IAM登入資料連線至 時,IAM您的帳戶必須具有授予執行 Amazon RDS管理操作所需許可IAM的政策。如需詳細資訊,請參閱Amazon RDS 的身分和存取管理

  • 當您建立資料庫執行個體時,您可以使用VPC安全群組來控制哪些裝置和 Amazon EC2執行個體可以開啟與資料庫執行個體端點和連接埠的連線。您可以使用 Secure Sockets Layer (SSL) 和 Transport Layer Security () 進行這些連線TLS。此外,貴公司的防火牆規則可控管在公司內執行的裝置是否可開啟與資料庫執行個體的連線。

  • 若要驗證 MySQL 資料庫執行個體的登入和許可,您可以採取下列其中一種方法,或它們的組合。

    您可以採取與 My 獨立執行個體相同的方法SQL。CREATE USERRENAME USERGRANTREVOKESET PASSWORD 等命令的運作方式與現場部署資料庫所使用的命令相同,會直接修改資料庫結構描述資料表。不過,直接修改資料庫結構描述資料表並非最佳實務,因此不支援從 SQL8.0.36 版RDS開始。如需詳細資訊,請參閱 MySQL 文件中的存取控制和帳戶管理

    您也可以使用IAM資料庫身分驗證。使用IAM資料庫身分驗證時,您可以使用 IAM使用者或IAM角色和身分驗證字符,對資料庫執行個體進行身分驗證。身分驗證字符是不重複的值,由 Signature 第 4 版簽署程序所產生。透過使用IAM資料庫身分驗證,您可以使用相同的登入資料來控制對 AWS 資源和資料庫的存取。如需詳細資訊,請參閱適用於 MariaDB、MySQL 和 PostgreSQL 的 IAM 資料庫身分驗證

    另一個選項是適用於 My RDS的 Kerberos 身分驗證SQL。資料庫執行個體使用 AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) 來啟用 Kerberos 身分驗證。當使用者使用加入信任網域的 MySQL 資料庫執行個體進行身分驗證時,身分驗證請求會轉送。轉送的請求會移至您建立的網域目錄 AWS Directory Service。如需詳細資訊,請參閱使用 Kerberos Amazon RDS for My 的身分驗證SQL

當您建立 Amazon RDS 資料庫執行個體時,主要使用者具有下列預設權限:

引擎版本 系統權限 資料庫角色

RDS 適用於我的SQL 8.4.3 版和更新版本

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES,INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE ROLE, DROP ROLE, APPLICATION_PASSWORD_ADMIN, FLUSH_OPTIMIZER_COSTS, FLUSH_PRIVILEGES, FLUSH_STATUS, FLUSH_TABLES, FLUSH_USER_RESOURCES, ROLE_ADMIN, SENSITIVE_VARIABLES_OBSERVER, SESSION_VARIABLES_ADMIN, SET_ANY_DEFINER, SHOW_ROUTINE, XA_RECOVER_ADMIN

rds_superuser_role

如需有關 rds_superuser_role 的詳細資訊,請參閱 RDS 適用於 My 的角色型權限模型SQL

RDS 適用於我的SQL 8.0.36 版和更新版本

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE ROLE, DROP ROLE, APPLICATION_PASSWORD_ADMIN, ROLE_ADMIN, SET_USER_ID, XA_RECOVER_ADMIN

rds_superuser_role

如需有關 rds_superuser_role 的詳細資訊,請參閱 RDS 適用於 My 的角色型權限模型SQL

RDS 適用於低於 8.0.36 的我的SQL版本

SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, REPLICATION SLAVE

注意

雖然您可刪除資料庫執行個體上的主要使用者,但不建議這麼做。若要重新建立主要使用者,請使用 ModifyDBInstance RDSAPI操作或執行 modify-db-instance AWS CLI 命令,並使用適當的參數指定新的主要使用者密碼。若執行個體中不存在此主要使用者,系統會以指定的密碼建立主要使用者。

為了提供各資料庫執行個體管理服務,建立資料庫執行個體時,系統會一併建立 rdsadmin 使用者。若企圖移除、重新命名 rdsadmin 帳戶或變更其密碼或權限,皆會導致系統發生錯誤。

請限制使用標準 killkill_query 命令,藉此允許資料庫執行個體的管理操作。Amazon RDS命令rds_killrds_kill_query 可讓您在資料庫執行個體上結束使用者工作階段或查詢。