全部產品
Search
文件中心

ApsaraDB RDS:指定帳號從特定IP地址訪問資料庫

更新時間:Jun 19, 2024

RDS白名單設定適用於所有帳號,無法根據帳號來限制IP地址的訪問。在安全性上有較大缺陷。本文介紹如何指定帳號從特定的IP地址訪問資料庫。

前提條件

已建立高許可權帳號,建立方法,請參見建立高許可權帳號

注意事項

  • 通過本文的操作步驟為帳號指定IP地址後,再通過控制台或者API介面管理該帳號(刪除帳號、修改帳號密碼等)可能會引發故障,建議後期統一使用DMS或者SQL命令管理該帳號。

  • 資料庫中如果存在使用者名稱相同且綁定的主機IP等價(例如192.168.%和192.168.%.%)的帳號,系統無法保證鑒權順序,可能導致訪問異常。例如資料庫中存在user@192.168.%user@192.168.%.%兩個帳號,當您使用其中一個帳號登入時,系統會隨機播放一個帳號進行鑒權,如果兩個帳號的密碼或許可權各不相同,則可能會出現無法登入、或登入後許可權不一致的問題。因此,應盡量避免上述情況。

使用SQL命令設定帳號從特定IP地址訪問資料庫

  1. 通過命令列、用戶端串連RDS MySQL執行個體

  2. 通過以下命令建立新帳號並授權管理資料庫,允許帳號通過某IP地址訪問資料庫,此帳號在控制台上無法查看到所屬資料庫

    建立新帳號test001並授權管理rds001資料庫,允許從42.120.XX.XX訪問資料庫。

    CREATE USER `test001`@`42.120.XX.XX`IDENTIFIED BY 'passwd';
    GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'test001'@'42.120.XX.XX';
    GRANT ALL PRIVILEGES ON `rds001`.* TO 'test001'@'42.120.XX.XX';
    GRANT SELECT ON mysql.* TO 'test001'@'42.120.XX.XX';
    說明
    • 如果將所有的42.120.XX.XX更改為%,就和通過控制台建立的帳號相同,也可以在控制台看見此帳號的所屬資料庫

    • 如果想要修改IP為42.121.XX.XX,可以使用如下命令:

      RENAME USER `test001`@`42.120.XX.XX` TO `test001`@`42.121.XX.XX`;