Tair (Redis OSS-compatible)執行個體支援在專用網路環境下開啟免密訪問,在保障安全性的前提下,實現更便捷的資料庫連接。設定免密訪問後,同一專用網路內的用戶端無需使用密碼即可串連執行個體,同時也繼續相容通過使用者名稱和密碼的方式串連執行個體。
前提條件
執行個體的網路類型為專用網路。
注意事項
開啟專用網路免密訪問後,串連執行個體使用的是預設帳號(即與執行個體ID同名的帳號,例如r-bp1zxszhcgatnx****),該帳號擁有讀寫權限。
跨專用網路之間如果通過雲企業網CEN實現互連,則被視為同一專用網路。
為保障安全性,開啟專用網路免密訪問後,通過公網地址串連執行個體仍需密碼驗證。
操作步驟
訪問執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在連接信息的右側,單擊設置免密訪問。
在右側彈出的面板中,閱讀相關提示並單擊確定。
請重新整理頁面,當設置免密訪問按鈕轉變為關閉無密碼存取時,表示已開啟該功能。
若執行個體為雲原生版,您必須將同一專用網路用戶端的IP地址添加到執行個體的白名單中,才能使用VPC免密串連。
若執行個體為經典版,則無需添加白名單即可串連。經典版執行個體可以通過
#no_loose_check-whitelist-always參數進行控制:預設情況下,
#no_loose_check-whitelist-always參數被設定為no,即開啟免密訪問後,同一專用網路的用戶端串連可直接存取Tair執行個體時,無需將其IP地址添加至執行個體的白名單中,更多資訊請參見Redis開源版配置參數列表。在對已啟用VPC免密訪問的執行個體進行部分配置變更的情境下,需要預先完成兩項前置操作以確保服務的連續性。將執行個體所屬的專用網路IP位址區段加入訪問白名單 ,並設定
no_loose_check-whitelist-always參數的值為yes。若未執行這些步驟,執行個體在配置變更後將有訪問失敗的風險。
說明雲原生版不支援設定
#no_loose_check-whitelist-always參數。
串連樣本
開啟專用網路免密後的串連樣本如下。
關於如何擷取執行個體的串連地址和密碼,請參見查看串連地址。
redis-cli免密登入
redis-cli -h host -p port
// 例如:redis -h r-bp10noxlhcoim2****.redis.rds.aliyuncs.com -p 6379 Jedis免密登入
JedisPoolConfig config = new JedisPoolConfig();
// 最大空閑串連數,需自行評估,不超過執行個體的最大串連數。
config.setMaxIdle(100);
// 最大串連數,需自行評估,不超過執行個體的最大串連數。
config.setMaxTotal(200);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
// host和port的值替換為執行個體的串連地址、連接埠,不要求輸入密碼參數。
String host = "r-bp10noxlhcoim2****.redis.rds.aliyuncs.com";
int port = 6379;
JedisPool pool = new JedisPool(config, host, port);
Jedis jedis = null;
try
{
jedis = pool.getResource();
/// ... do stuff here ... for example
jedis.set("foo", "bar");
System.out.println(jedis.get("foo"));
jedis.zadd("sose", 0, "car");
jedis.zadd("sose", 0, "bike");
System.out.println(jedis.zrange("sose", 0, -1));
}
finally
{
if(jedis != null)
{
// 需要在每一次API調用結束之後close,close是將串連還回串連池,不是銷毀。
jedis.close();
}
}
// 只在最終程式退出時候調用一次。
pool.destroy();相關操作
單擊關閉無密碼存取按鈕即可關閉免密功能。
關閉該功能會導致使用免密訪問功能的用戶端無法串連到執行個體。
若您需要關閉該功能,為保障不影響用戶端串連,請提前將用戶端的驗證方式修改為帳號和密碼的方式。
相關API
API介面 | 說明 |
開啟或關閉專用網路免密訪問。 |
常見問題
Q:開啟免密訪問後,為什麼仍會返回
WRONGPASS invalid username-password pair報錯?A:Redis開源版6.0執行個體開啟免密訪問後,若輸入錯誤的帳號密碼,系統會返回以上報錯。請輸入正確的帳號密碼或不輸入帳號密碼。
說明密碼格式:
預設帳號(即以執行個體ID命名的帳號):直接填寫密碼。
新建立的帳號:密碼格式為
<user>:<password>,例如testaccount:Rp829dlwa。
Q:開啟免密訪問後,為什麼使用同一專用網路的用戶端串連Tair執行個體,仍報錯
(error) ERR illegal address?A:該用戶端的IP地址未添加至執行個體的白名單。您可以將用戶端的IP地址添加至執行個體的白名單中後重試。