Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.1Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


6.3.8.8 ソケットピア証明書認証プラグイン

MySQL 5.6.2 の時点では、Unix ソケットファイル経由でローカルホストから接続するクライアントを認証するサーバー側の認証プラグインが使用可能です。

このプラグインのソースコードは、ロード可能な認証プラグインを記述する方法を示す比較的単純な例として調査できます。

次の表には、プラグインおよびライブラリファイルの名前を示します。ファイル名のサフィクスは、システムによって異なる場合があります。ファイルの場所は、plugin_dir システム変数で指定されたディレクトリです。インストールに関する情報については、セクション6.3.7「プラガブル認証」を参照してください。

表 6.14 MySQL ソケットピア証明書認証プラグイン

サーバー側のプラグイン名 auth_socket
クライアント側のプラグイン名 なし (説明を参照してください)
ライブラリオブジェクトファイル名 auth_socket.so

auth_socket 認証プラグインは、Unix ソケットファイル経由でローカルホストから接続するクライアントを認証します。このプラグインは SO_PEERCRED ソケットオプションを使用して、クライアントプログラムを実行しているユーザーに関する情報を取得します。このプラグインは、ユーザー名がサーバーへのクライアントプログラムで指定された MySQL ユーザー名と一致するかどうかをチェックし、その名前が一致する場合にのみ接続を許可します。SO_PEERCRED オプションがサポートされているシステム (Linux など) 上でのみ、このプラグインを構築できます。

ソケットファイル経由でローカルホストから接続する際に、auth_socket プラグインで認証される valerie という名前のユーザー用に、MySQL アカウントが作成されると仮定します。

CREATE USER 'valerie'@'localhost' IDENTIFIED WITH auth_socket;

stefanie というログイン名を持つローカルホスト上のユーザーが --user=valerie オプションを付けて mysql を呼び出して、ソケットファイル経由で接続する場合、サーバーは auth_socket を使用してクライアントを認証します。このプラグインは、--user オプションの値 (valerie) がクライアントユーザー名 (stephanie) とは異なると判断し、接続を拒否します。valerie という名前のユーザーが同じことを試みた場合、プラグインはユーザー名と MySQL ユーザー名が両方とも valerie であると判断し、接続を許可します。ただし、TCP/IP などの別のプロトコルを使用して接続されると、valerie の場合でもプラグインは接続を拒否します。

MySQL のプラガブル認証に関する一般的な情報については、セクション6.3.7「プラガブル認証」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.