當前位置:編程學習大全網 - 圖片素材 - 新特性解讀

新特性解讀

MySQL 8.0.27 增加了多因素身份認證(MFA)功能,可以為壹個用戶指定多重的身份校驗。為此還引入了新的系統變量 authentication_policy ,用於管理多因素身份認證功能。

我們知道在 MySQL 8.0.27 之前,create user 的時候可以指定壹種認證插件,在未明確指定的情況下會取系統變量 default_authentication_plugin的值。default_authentication_plugin 的有效值有3個,分別是 mysql_native_password ,sha256_password ,caching_sha2_password ,這個3個認證插件是內置的、不需要註冊步驟的插件。

在 MySQL 8.0.27 中由 authentication_policy 來管理用戶的身份認證,先啟個 mysql

同時查看下 authentication_policy 和 default_authentication_plugin 的值

我們看到 authentication_policy 的默認值是*,,

第1個元素值是星號( ),表示可以是任意插件,默認值取 default_authentication_plugin 的值。如果該元素值不是星號( ),則必須設置為 mysql_native_password ,sha256_password ,caching_sha2_password 中的壹個。

第2,3個元素值為空,這兩個位置不能設置成內部存儲的插件。如果元素值為空,代表插件是可選的。

建個用戶看壹下,不指定插件名稱時,自動使用默認插件 caching_sha2_password

指定插件名稱時,會使用到對應的插件

嘗試變更壹下 authentication_policy 第壹個元素的值,設置為 sha256_password

再次創建壹個用戶,不指定插件的名稱

可以看到默認使用的插件是 sha256_password ,說明當 authentication_policy 第壹個元素指定插件名稱時,default_authentication_plugin 被棄用了。

首先我們恢復 authentication_policy 至默認值

創建壹個雙重認證的用戶。如下創建失敗了,因為不可以同時用2種內部存儲插件。

那我們來裝壹個可插拔插件 Socket Peer-Credential

再創建壹個雙重認證的用戶

創建成功,之後用戶'wei4'@'localhost'必須提供正確的密碼,且同時本地主機的登錄用戶為 root 時,才會驗證通過。

來試壹下,以主機 root 用戶身份,提供正確的密碼 123 ,登錄成功。

修改壹下,將'wei4'@'localhost'要求的主機登錄用戶修改為wei4

再次以主機 root 用戶身份,提供正確的密碼 123 ,登錄失敗

因此可以認定雙重身份認證機制是生效的。MySQL 8.0.27 最多可以對壹個用戶設置三重的身份認證,這裏不再做展示說明。

簡單總結下,已有的密碼口令身份驗證很適合網站或者應用程序的訪問,但是在特定的情況下 如網絡在線金融交易方面可能還是不夠安全。多因素身份認證(MFA)功能的引入,可以在壹定程度上提升數據庫系統的安全性。

/doc/refman/8.0/en/server-system-variables.html#sysvar_authentication_policy

  • 上一篇: MySQL 8.0 多因素身份認證
  • 下一篇:英雄聯盟瑞文應該配什麽符文
  • copyright 2024編程學習大全網