MySQL 8.0 リファレンスマニュアル


6.4.1.4 クライアント側クリアテキストプラガブル認証

クライアント側の認証プラグインを使用すると、クライアントはハッシュや暗号化を行わずにクリアテキストでサーバーにパスワードを送信できます。 このプラグインは、MySQL クライアントライブラリに組み込まれています。

次の表に、プラグイン名を示します。

表 6.15 クリアテキスト認証用のプラグインおよびライブラリ名

プラグインまたはファイル プラグインまたはファイル名
サーバー側プラグイン なし (説明を参照してください)
クライアント側プラグイン mysql_clear_password
ライブラリファイル なし (プラグインは組み込み済みです)

クライアント側の認証プラグインの多くは、パスワードをサーバーに送信する前にハッシュ化または暗号化を実行します。 これにより、クライアントはクリアテキストとしてパスワードを送信しないようにできます。

クライアント側で入力されたパスワードをサーバーが受信する必要がある認証スキームでは、ハッシングまたは暗号化を実行できません。 このような場合、クライアント側の mysql_clear_password プラグインが使用され、クライアントはクリアテキストとしてパスワードをサーバーに送信できます。 対応するサーバー側のプラグインはありません。 かわりに、クリアテキストパスワードを必要とするサーバー側プラグインと組み合せて、mysql_clear_password をクライアント側で使用できます。 (PAM および単純な LDAP 認証プラグインなどがあります。セクション6.4.1.5「PAM プラガブル認証」 および セクション6.4.1.7「LDAP プラガブル認証」 を参照してください。)

次の説明では、クリアテキストプラガブル認証に固有の使用方法について説明します。 MySQL のプラガブル認証に関する一般的な情報については、セクション6.2.17「プラガブル認証」を参照してください。

注記

クリアテキストでパスワードを送信すると、一部の構成でセキュリティ上の問題が発生する可能性があります。 パスワードが傍受される可能性がある場合に問題を回避するには、クライアントはパスワードが保護される方式を使用して、MySQL サーバーに接続するようにしてください。 SSL (セクション6.3「暗号化された接続の使用」を参照)、IPsec、またはプライベートネットワークでも発生する可能性があります。

mysql_clear_password プラグインを誤って使用する可能性を低くするには、MySQL クライアントで明示的に有効にする必要があります。 これはいくつかの方法で実行できます:

  • LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN 環境変数を 1Y、または y で始まる値に設定します。 これにより、すべてのクライアント接続でプラグインが有効になります。

  • mysql, mysqladmin, mysqlcheck, mysqldump, mysqlshow および mysqlslap クライアントプログラムは、プラグインを呼び出しごとに有効にする --enable-cleartext-plugin オプションをサポートしています。

  • mysql_options() C API 関数では、接続するたびにプラグインを有効にする MYSQL_ENABLE_CLEARTEXT_PLUGIN オプションがサポートされています。 また、クライアントライブラリによって読み取られるオプショングループ内に enable-cleartext-plugin を含めると、libmysqlclient を使用し、オプションファイルを読み取る任意のプログラムでプラグインを有効にすることができます。


関連キーワード:  認証, パスワード, プラガブル, サーバー, 接続, 監査, セキュリティー, アカウント, インストール, キー