複数のリモートユーザー('joecool'@'192.168.1.2'
という形式のユーザー)を持つMySQLシステムを想定します。すべてのリモートユーザーに対してREQUIRE SSL
に使用できるSQLステートメントはありますか?
シングルユーザーコマンドは次のとおりです。
GRANT USAGE ON *.* TO 'joecool'@'192.168.1.2' REQUIRE SSL;
phpMyAdmin はユーザーの作成または変更時にREQUIRE SSLフラグをサポートしないため、「すべてのユーザー」バージョンを使用すると特に便利です。
Honzaによる(以前の)受け入れられた答えは間違っているようです。コメントを参照してください。 MySQLはユーザー名のワイルドカードをサポートしていない であるため、GRANT
クエリを使用して複数のユーザーを一度に変更することはできないようです。
自分で提案したように、UPDATE
クエリを使用してmysql.user
テーブルのレコードを直接変更できます。また、Marc Delisleが提案したように、後で特権をフラッシュします。
FLUSH PRIVILEGES;
dba.stackexchange.com>複数のユーザーに権限を付与する方法 も参照してください。
はい、mysql.userテーブルを直接変更できます(注意してください)。次に、FLUSH PRIVILEGESステートメントを発行して、実行中のサーバーに変更を適用します。
mysqld
を require_secure_transport で設定できます。
[mysqld]
...
ssl-ca = ...
ssl-cert = ...
ssl-key = ...
...
require-secure-transport = ON
この機能は、優先されるアカウントごとのSSL要件を補完します。たとえば、アカウントがREQUIRE SSLで定義されている場合、require_secure_transportを有効にしても、アカウントを使用してUnixソケットファイルを使用して接続することはできません。