これらの変数は、適切なサーバー側プラグインがインストールされていないかぎり使用できません:
authentication_ldap_sasl_
という形式の名前を持つシステム変数のxxx
authentication_ldap_sasl
authentication_ldap_simple_
という形式の名前を持つシステム変数のxxx
authentication_ldap_simple
表 6.23 「認証プラグインシステム変数サマリー」
-
authentication_ldap_sasl_auth_method_name
コマンド行形式 --authentication-ldap-sasl-auth-method-name=value
システム変数 authentication_ldap_sasl_auth_method_name
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 SCRAM-SHA-1
有効な値 (≥ 8.0.23) SCRAM-SHA-1
SCRAM-SHA-256
GSSAPI
有効な値 (≥ 8.0.20, ≤ 8.0.22) SCRAM-SHA-1
GSSAPI
有効な値 (≤ 8.0.19) SCRAM-SHA-1
SASL LDAP 認証の場合、認証方式名。 認証プラグインと LDAP サーバー間の通信は、パスワードのセキュリティーを確保するために、この認証方式に従って行われます。
次の認証方式の値が許可されます:
-
SCRAM-SHA-1
: SASL チャレンジレスポンスメカニズムを使用します。クライアント側
authentication_ldap_sasl_client
プラグインは、チャレンジを作成して SASL リクエストバッファを取得するためのパスワードを使用して SASL サーバーと通信し、このバッファをサーバー側authentication_ldap_sasl
プラグインに渡します。 クライアント側およびサーバー側 SASL LDAP プラグインは、SASL メッセージを使用して LDAP プロトコル内での資格証明のセキュアな転送を行い、MySQL クライアントとサーバー間でクリアテキストパスワードが送信されないようにします。 -
SCRAM-SHA-256
: SASL チャレンジレスポンスメカニズムを使用します。この方法は
SCRAM-SHA-1
と似ていますが、よりセキュアです。 MySQL 8.0.23 以上で使用できます。 Cyrus SASL 2.1.27 以上を使用して構築された OpenLDAP サーバーが必要です。 -
GSSAPI
: パスワードなしおよびチケットベースのプロトコルである Kerberos を使用します。GSSAPI/Kerberos は、Linux 上の MySQL クライアントおよびサーバーの認証方式としてのみサポートされます。 これは、Kerberos がデフォルトで有効になっている Microsoft Active Directory を使用してアプリケーションが LDAP にアクセスする Linux 環境で役立ちます。
クライアント側
authentication_ldap_sasl_client
プラグインは、チケット認可チケット (TGT) を使用して Kerberos からサービスチケットを取得しますが、LDAP サービスは直接使用しません。 サーバー側authentication_ldap_sasl
プラグインは、Kerberos メッセージをクライアント側プラグインと LDAP サーバーの間でルーティングします。 このように取得された資格証明を使用して、サーバー側プラグインは LDAP サーバーと通信し、LDAP 認証メッセージを解釈して LDAP グループを取得します。
-
-
authentication_ldap_sasl_bind_base_dn
コマンド行形式 --authentication-ldap-sasl-bind-base-dn=value
システム変数 authentication_ldap_sasl_bind_base_dn
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
SASL LDAP 認証の場合、ベース識別名 (DN)。 この変数を使用すると、検索ツリー内の特定の場所 (「base」) に検索範囲を固定することで、検索範囲を制限できます。
LDAP ユーザーエントリのセットのメンバーがそれぞれ次の形式であるとします:
uid=user_name,ou=People,dc=example,dc=com
また、LDAP ユーザーエントリの別のセットのメンバーは、それぞれ次の形式になります:
uid=user_name,ou=Admin,dc=example,dc=com
検索は、異なるベース DN 値に対して次のように機能します:
ベース DN が
ou=People,dc=example,dc=com
の場合: 検索では、最初のセットのユーザーエントリのみが検索されます。ベース DN が
ou=Admin,dc=example,dc=com
の場合: 検索では、2 番目のセット内のユーザエントリだけが検索されます。ベース DN が
ou=dc=example,dc=com
の場合: 検索では、1 番目または 2 番目のセット内のユーザエントリが検索されます。
一般に、より具体的なベース DN 値を使用すると、検索範囲が制限されるため、検索速度が向上します。
-
authentication_ldap_sasl_bind_root_dn
コマンド行形式 --authentication-ldap-sasl-bind-root-dn=value
システム変数 authentication_ldap_sasl_bind_root_dn
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
SASL LDAP 認証の場合、ルート識別名 (DN)。 この変数は、検索を実行する目的で LDAP サーバーに対して認証するための資格証明として
authentication_ldap_sasl_bind_root_pwd
とともに使用されます。 認証では、MySQL アカウントが LDAP ユーザー DN を指定しているかどうかに応じて、次のいずれかまたは 2 つの LDAP バインド操作を使用します:アカウントがユーザー DN を指定していない場合:
authentication_ldap_sasl
は、authentication_ldap_sasl_bind_root_dn
およびauthentication_ldap_sasl_bind_root_pwd
を使用して初期 LDAP バインディングを実行します。 (これらは両方ともデフォルトで空であるため、設定しない場合、LDAP サーバーは匿名接続を許可する必要があります。) 生成されたバインド LDAP ハンドルは、クライアントユーザー名に基づいてユーザー DN を検索するために使用されます。authentication_ldap_sasl
は、ユーザー DN とクライアント提供のパスワードを使用して、別のバインドを実行します。アカウントがユーザー DN を指定する場合: この場合、最初のバインド操作は不要です。
authentication_ldap_sasl
は、ユーザー DN とクライアント提供のパスワードを使用して単一のバインドを実行します。 これは、MySQL アカウントで LDAP ユーザー DN が指定されていない場合より高速です。
-
authentication_ldap_sasl_bind_root_pwd
コマンド行形式 --authentication-ldap-sasl-bind-root-pwd=value
システム変数 authentication_ldap_sasl_bind_root_pwd
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
SASL LDAP 認証の場合、ルート識別名のパスワード。 この変数は、
authentication_ldap_sasl_bind_root_dn
とともに使用されます。 その変数の説明を参照してください。 -
authentication_ldap_sasl_ca_path
コマンド行形式 --authentication-ldap-sasl-ca-path=value
システム変数 authentication_ldap_sasl_ca_path
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
SASL LDAP 認証の場合、認証局ファイルの絶対パス。 認証プラグインで LDAP サーバー証明書の検証を実行する場合は、このファイルを指定します。
注記authentication_ldap_sasl_ca_path
変数をファイル名に設定するだけでなく、適切な認証局の証明書をファイルに追加し、authentication_ldap_sasl_tls
システム変数を有効にする必要があります。 これらの変数は、デフォルトの OpenLDAP TLS 構成をオーバーライドするように設定できます。LDAP プラガブル認証および ldap.conf を参照してください -
authentication_ldap_sasl_group_search_attr
コマンド行形式 --authentication-ldap-sasl-group-search-attr=value
システム変数 authentication_ldap_sasl_group_search_attr
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 cn
SASL LDAP 認証の場合、LDAP ディレクトリエントリ内のグループ名を指定する属性の名前。
authentication_ldap_sasl_group_search_attr
のデフォルト値がcn
の場合、検索ではcn
値がグループ名として返されます。 たとえば、uid
値がuser1
の LDAP エントリにmygroup
のcn
属性がある場合、user1
を検索すると、mygroup
がグループ名として返されます。グループまたはプロキシ認証が不要な場合は、この変数を空の文字列にする必要があります。
グループ検索属性が
isMemberOf
の場合、LDAP 認証はユーザー属性isMemberOf
値を直接取得し、グループ情報として割り当てます。 グループ検索属性がisMemberOf
でない場合、LDAP 認証はユーザーがメンバーであるすべてのグループを検索します。 (後者がデフォルトの動作です。) この動作は、LDAP グループ情報を格納する方法に基づいています: 1) グループエントリは、ユーザー名の値を持つmemberUid
またはmember
という名前の属性を持つことができます。2) ユーザーエントリは、グループ名の値を持つisMemberOf
という名前の属性を持つことができます。 -
authentication_ldap_sasl_group_search_filter
コマンド行形式 --authentication-ldap-sasl-group-search-filter=value
システム変数 authentication_ldap_sasl_group_search_filter
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 (|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))
SASL LDAP 認証の場合、カスタムグループ検索フィルタ。
検索フィルタ値には、ユーザー名と完全なユーザー DN を表す
{UA}
および{UD}
表記を含めることができます。 たとえば、{UA}
は"admin"
などのユーザー名に置き換えられますが、{UD}
は"uid=admin,ou=People,dc=example,dc=com"
などの完全 DN に置き換えられます。 次の値がデフォルトで、OpenLDAP と Active Directory の両方をサポートしています:(|(&(objectClass=posixGroup)(memberUid={UA})) (&(objectClass=group)(member={UD})))
場合によっては、
memberOf
はグループ情報を保持しない単純なユーザー属性です。 柔軟性を高めるために、オプションの{GA}
接頭辞をグループ検索属性とともに使用できます。 {GA} 接頭辞を持つグループ属性は、グループ名を持つユーザー属性として扱われます。 たとえば、{GA}MemberOf
の値では、グループ値が DN の場合、グループ DN の最初の属性値がグループ名として返されます。 -
authentication_ldap_sasl_init_pool_size
コマンド行形式 --authentication-ldap-sasl-init-pool-size=#
システム変数 authentication_ldap_sasl_init_pool_size
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 10
最小値 0
最大値 32767
SASL LDAP 認証の場合、LDAP サーバーへの接続プールの初期サイズ。 LDAP サーバーに対する同時認証リクエストの平均数に基づいて、この変数の値を選択します。
プラグインは、
authentication_ldap_sasl_init_pool_size
とauthentication_ldap_sasl_max_pool_size
を一緒に使用して接続プールを管理します:認証プラグインが初期化されると、
authentication_ldap_sasl_max_pool_size=0
がプーリングを無効にしないかぎり、authentication_ldap_sasl_init_pool_size
接続が作成されます。現在の接続プールに空き接続がないときにプラグインが認可リクエストを受信した場合、プラグインは
authentication_ldap_sasl_max_pool_size
で指定された最大接続プールサイズまで新しい接続を作成できます。プールサイズがすでに最大値に達していて、空き接続がないときにプラグインがリクエストを受信した場合、認証は失敗します。
プラグインがアンロードされると、プールされたすべての接続が閉じられます。
プラグインシステム変数の設定を変更しても、プール内にすでに存在する接続には影響しない可能性があります。 たとえば、LDAP サーバーのホスト、ポートまたは TLS 設定を変更しても、既存の接続には影響しません。 ただし、元の変数値が無効で接続プールを初期化できなかった場合、プラグインは次の LDAP リクエストのためにプールを再初期化しようとします。 この場合、新しいシステム変数値が再初期化の試行に使用されます。
authentication_ldap_sasl_max_pool_size=0
でプーリングを無効にする場合、プラグインによってオープンされる各 LDAP 接続では、その時点でシステム変数に設定されている値が使用されます。 -
authentication_ldap_sasl_log_status
コマンド行形式 --authentication-ldap-sasl-log-status=#
システム変数 authentication_ldap_sasl_log_status
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 1
最小値 1
最大値 (≥ 8.0.18) 6
最大値 (≤ 8.0.17) 5
SASL LDAP 認証の場合、エラーログに書き込まれるメッセージのロギングレベル。 次のテーブルに、許可されるレベル値とその意味を示します。
表 6.24 authentication_ldap_sasl_log_status のログレベル
オプション値 記録されるメッセージのタイプ 1
メッセージがありません 2
エラーメッセージ 3
エラーメッセージと警告メッセージ 4
エラー、警告および情報メッセージ 5
MySQL からの以前のレベルおよびデバッグメッセージと同じ 6
LDAP ライブラリからの前のレベルおよびデバッグメッセージと同じ ログレベル 6 は、MySQL 8.0.18 で使用できます。
クライアント側では、
AUTHENTICATION_LDAP_CLIENT_LOG
環境変数を設定することで、メッセージを標準出力に記録できます。 許可される値とデフォルト値は、authentication_ldap_sasl_log_status
の場合と同じです。AUTHENTICATION_LDAP_CLIENT_LOG
環境変数は SASL LDAP 認証にのみ適用されます。 この場合のクライアントプラグインはmysql_clear_password
であり、LDAP 操作については何も認識されないため、単純な LDAP 認証には影響しません。 -
authentication_ldap_sasl_max_pool_size
コマンド行形式 --authentication-ldap-sasl-max-pool-size=#
システム変数 authentication_ldap_sasl_max_pool_size
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 1000
最小値 0
最大値 32767
SASL LDAP 認証の場合、LDAP サーバーへの接続プールの最大サイズ。 接続プーリングを無効にするには、この変数を 0 に設定します。
この変数は、
authentication_ldap_sasl_init_pool_size
とともに使用されます。 その変数の説明を参照してください。 -
authentication_ldap_sasl_referral
コマンド行形式 --authentication-ldap-sasl-referral[={OFF|ON}]
導入 8.0.20 システム変数 authentication_ldap_sasl_referral
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Boolean デフォルト値 OFF
SASL LDAP 認証の場合、LDAP 検索リフェラルを有効にするかどうか。 LDAP 検索照会を参照してください。
この変数は、デフォルトの OpenLDAP リフェラル構成をオーバーライドするように設定できます。LDAP プラガブル認証および ldap.conf を参照してください
-
authentication_ldap_sasl_server_host
コマンド行形式 --authentication-ldap-sasl-server-host=host_name
システム変数 authentication_ldap_sasl_server_host
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 SASL LDAP 認証の場合、LDAP サーバーホスト。 この変数に指定できる値は、認証方法によって異なります:
authentication_ldap_sasl_auth_method_name=SCRAM-SHA-1
の場合: LDAP サーバーホストには、ホスト名または IP アドレスを指定できます。authentication_ldap_sasl_auth_method_name=SCRAM-SHA-256
の場合: LDAP サーバーホストには、ホスト名または IP アドレスを指定できます。
-
authentication_ldap_sasl_server_port
コマンド行形式 --authentication-ldap-sasl-server-port=port_num
システム変数 authentication_ldap_sasl_server_port
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 389
最小値 1
最大値 32376
SASL LDAP 認証の場合は、LDAP サーバーの TCP/IP ポート番号。
MySQL 8.0.14 では、LDAP ポート番号が 636 または 3269 として構成されている場合、プラグインは LDAP ではなく LDAPS (LDAP over SSL) を使用します。 (LDAPS は
startTLS
とは異なります。) -
コマンド行形式 --authentication-ldap-sasl-tls[={OFF|ON}]
システム変数 authentication_ldap_sasl_tls
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Boolean デフォルト値 OFF
SASL LDAP 認証の場合、プラグインによる LDAP サーバーへの接続がセキュリティー保護されているかどうか。 この変数が有効な場合、プラグインは TLS を使用して LDAP サーバーにセキュアに接続します。 この変数は、デフォルトの OpenLDAP TLS 構成をオーバーライドするように設定できます。LDAP プラガブル認証および ldap.conf を参照してください。この変数を有効にする場合は、
authentication_ldap_sasl_ca_path
変数も設定できます。MySQL LDAP プラグインは、プレーン LDAP 接続上で TLS を初期化する StartTLS メソッドをサポートしています。
MySQL 8.0.14 では、LDAPS は
authentication_ldap_sasl_server_port
システム変数を設定することで使用できます。 -
authentication_ldap_sasl_user_search_attr
コマンド行形式 --authentication-ldap-sasl-user-search-attr=value
システム変数 authentication_ldap_sasl_user_search_attr
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 uid
SASL LDAP 認証の場合、LDAP ディレクトリエントリ内のユーザー名を指定する属性の名前。 ユーザー識別名が指定されていない場合、認証プラグインはこの属性を使用して名前を検索します。 たとえば、
authentication_ldap_sasl_user_search_attr
値がuid
の場合、ユーザー名user1
を検索すると、uid
値がuser1
のエントリが検索されます。 -
authentication_ldap_simple_auth_method_name
コマンド行形式 --authentication-ldap-simple-auth-method-name=value
システム変数 authentication_ldap_simple_auth_method_name
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 SIMPLE
有効な値 SIMPLE
AD-FOREST
簡易 LDAP 認証の場合は、認証方式名。 認証プラグインと LDAP サーバー間の通信は、この認証方式に従って行われます。
注記すべての単純な LDAP 認証方式では、セキュアな接続を介して LDAP サーバーとの通信が行われるように TLS パラメータを設定することもお薦めします。
次の認証方式の値が許可されます:
SIMPLE
: 簡易 LDAP 認証を使用します。 この方法では、MySQL アカウントが LDAP ユーザー識別名を指定しているかどうかに応じて、いずれかまたは 2 つの LDAP バインド操作が使用されます。authentication_ldap_simple_bind_root_dn
の説明を参照してください。AD-FOREST
: 認証によって Active Directory フォレスト内のすべてのドメインが検索され、ユーザーが特定のドメインで見つかるまで各 Active Directory ドメインへの LDAP バインドが実行されるような、SIMPLE
のバリエーション。
-
authentication_ldap_simple_bind_base_dn
コマンド行形式 --authentication-ldap-simple-bind-base-dn=value
システム変数 authentication_ldap_simple_bind_base_dn
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
単純な LDAP 認証の場合は、ベース識別名 (DN)。 この変数を使用すると、検索ツリー内の特定の場所 (「base」) に検索範囲を固定することで、検索範囲を制限できます。
LDAP ユーザーエントリのセットのメンバーがそれぞれ次の形式であるとします:
uid=user_name,ou=People,dc=example,dc=com
また、LDAP ユーザーエントリの別のセットのメンバーは、それぞれ次の形式になります:
uid=user_name,ou=Admin,dc=example,dc=com
検索は、異なるベース DN 値に対して次のように機能します:
ベース DN が
ou=People,dc=example,dc=com
の場合: 検索では、最初のセットのユーザーエントリのみが検索されます。ベース DN が
ou=Admin,dc=example,dc=com
の場合: 検索では、2 番目のセット内のユーザエントリだけが検索されます。ベース DN が
ou=dc=example,dc=com
の場合: 検索では、1 番目または 2 番目のセット内のユーザエントリが検索されます。
一般に、より具体的なベース DN 値を使用すると、検索範囲が制限されるため、検索速度が向上します。
-
authentication_ldap_simple_bind_root_dn
コマンド行形式 --authentication-ldap-simple-bind-root-dn=value
システム変数 authentication_ldap_simple_bind_root_dn
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
単純な LDAP 認証の場合は、ルート識別名 (DN)。 この変数は、検索を実行する目的で LDAP サーバーに対して認証するための資格証明として
authentication_ldap_simple_bind_root_pwd
とともに使用されます。 認証では、MySQL アカウントが LDAP ユーザー DN を指定しているかどうかに応じて、次のいずれかまたは 2 つの LDAP バインド操作を使用します:アカウントがユーザー DN を指定していない場合:
authentication_ldap_simple
は、authentication_ldap_simple_bind_root_dn
およびauthentication_ldap_simple_bind_root_pwd
を使用して初期 LDAP バインディングを実行します。 (これらは両方ともデフォルトで空であるため、設定しない場合、LDAP サーバーは匿名接続を許可する必要があります。) 生成されたバインド LDAP ハンドルは、クライアントユーザー名に基づいてユーザー DN を検索するために使用されます。authentication_ldap_simple
は、ユーザー DN とクライアント提供のパスワードを使用して、別のバインドを実行します。アカウントがユーザー DN を指定する場合: この場合、最初のバインド操作は不要です。
authentication_ldap_simple
は、ユーザー DN とクライアント提供のパスワードを使用して単一のバインドを実行します。 これは、MySQL アカウントで LDAP ユーザー DN が指定されていない場合より高速です。
-
authentication_ldap_simple_bind_root_pwd
コマンド行形式 --authentication-ldap-simple-bind-root-pwd=value
システム変数 authentication_ldap_simple_bind_root_pwd
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
簡易 LDAP 認証の場合、ルート識別名のパスワード。 この変数は、
authentication_ldap_simple_bind_root_dn
とともに使用されます。 その変数の説明を参照してください。 -
authentication_ldap_simple_ca_path
コマンド行形式 --authentication-ldap-simple-ca-path=value
システム変数 authentication_ldap_simple_ca_path
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 NULL
簡易 LDAP 認証の場合、認証局ファイルの絶対パス。 認証プラグインで LDAP サーバー証明書の検証を実行する場合は、このファイルを指定します。
注記authentication_ldap_simple_ca_path
変数をファイル名に設定するだけでなく、適切な認証局の証明書をファイルに追加し、authentication_ldap_simple_tls
システム変数を有効にする必要があります。 これらの変数は、デフォルトの OpenLDAP TLS 構成をオーバーライドするように設定できます。LDAP プラガブル認証および ldap.conf を参照してください -
authentication_ldap_simple_group_search_attr
コマンド行形式 --authentication-ldap-simple-group-search-attr=value
システム変数 authentication_ldap_simple_group_search_attr
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 cn
簡易 LDAP 認証の場合、LDAP ディレクトリエントリ内のグループ名を指定する属性の名前。
authentication_ldap_simple_group_search_attr
のデフォルト値がcn
の場合、検索ではcn
値がグループ名として返されます。 たとえば、uid
値がuser1
の LDAP エントリにmygroup
のcn
属性がある場合、user1
を検索すると、mygroup
がグループ名として返されます。グループ検索属性が
isMemberOf
の場合、LDAP 認証はユーザー属性isMemberOf
値を直接取得し、グループ情報として割り当てます。 グループ検索属性がisMemberOf
でない場合、LDAP 認証はユーザーがメンバーであるすべてのグループを検索します。 (後者がデフォルトの動作です。) この動作は、LDAP グループ情報を格納する方法に基づいています: 1) グループエントリは、ユーザー名の値を持つmemberUid
またはmember
という名前の属性を持つことができます。2) ユーザーエントリは、グループ名の値を持つisMemberOf
という名前の属性を持つことができます。 -
authentication_ldap_simple_group_search_filter
コマンド行形式 --authentication-ldap-simple-group-search-filter=value
システム変数 authentication_ldap_simple_group_search_filter
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 (|(&(objectClass=posixGroup)(memberUid=%s))(&(objectClass=group)(member=%s)))
単純 LDAP 認証の場合は、カスタムグループ検索フィルタ。
検索フィルタ値には、ユーザー名と完全なユーザー DN を表す
{UA}
および{UD}
表記を含めることができます。 たとえば、{UA}
は"admin"
などのユーザー名に置き換えられますが、{UD}
は"uid=admin,ou=People,dc=example,dc=com"
などの完全 DN に置き換えられます。 次の値がデフォルトで、OpenLDAP と Active Directory の両方をサポートしています:(|(&(objectClass=posixGroup)(memberUid={UA})) (&(objectClass=group)(member={UD})))
場合によっては、
memberOf
はグループ情報を保持しない単純なユーザー属性です。 柔軟性を高めるために、オプションの{GA}
接頭辞をグループ検索属性とともに使用できます。 {GA} 接頭辞を持つグループ属性は、グループ名を持つユーザー属性として扱われます。 たとえば、{GA}MemberOf
の値では、グループ値が DN の場合、グループ DN の最初の属性値がグループ名として返されます。 -
authentication_ldap_simple_init_pool_size
コマンド行形式 --authentication-ldap-simple-init-pool-size=#
システム変数 authentication_ldap_simple_init_pool_size
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 10
最小値 0
最大値 32767
単純な LDAP 認証の場合、LDAP サーバーへの接続プールの初期サイズ。 LDAP サーバーに対する同時認証リクエストの平均数に基づいて、この変数の値を選択します。
プラグインは、
authentication_ldap_simple_init_pool_size
とauthentication_ldap_simple_max_pool_size
を一緒に使用して接続プールを管理します:認証プラグインが初期化されると、
authentication_ldap_simple_max_pool_size=0
がプーリングを無効にしないかぎり、authentication_ldap_simple_init_pool_size
接続が作成されます。現在の接続プールに空き接続がないときにプラグインが認可リクエストを受信した場合、プラグインは
authentication_ldap_simple_max_pool_size
で指定された最大接続プールサイズまで新しい接続を作成できます。プールサイズがすでに最大値に達していて、空き接続がないときにプラグインがリクエストを受信した場合、認証は失敗します。
プラグインがアンロードされると、プールされたすべての接続が閉じられます。
プラグインシステム変数の設定を変更しても、プール内にすでに存在する接続には影響しない可能性があります。 たとえば、LDAP サーバーのホスト、ポートまたは TLS 設定を変更しても、既存の接続には影響しません。 ただし、元の変数値が無効で接続プールを初期化できなかった場合、プラグインは次の LDAP リクエストのためにプールを再初期化しようとします。 この場合、新しいシステム変数値が再初期化の試行に使用されます。
authentication_ldap_simple_max_pool_size=0
でプーリングを無効にする場合、プラグインによってオープンされる各 LDAP 接続では、その時点でシステム変数に設定されている値が使用されます。 -
authentication_ldap_simple_log_status
コマンド行形式 --authentication-ldap-simple-log-status=#
システム変数 authentication_ldap_simple_log_status
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 1
最小値 1
最大値 (≥ 8.0.18) 6
最大値 (≤ 8.0.17) 5
単純な LDAP 認証の場合、エラーログに書き込まれるメッセージのロギングレベル。 次のテーブルに、許可されるレベル値とその意味を示します。
表 6.25 authentication_ldap_simple_log_status のログレベル
オプション値 記録されるメッセージのタイプ 1
メッセージがありません 2
エラーメッセージ 3
エラーメッセージと警告メッセージ 4
エラー、警告および情報メッセージ 5
MySQL からの以前のレベルおよびデバッグメッセージと同じ 6
LDAP ライブラリからの前のレベルおよびデバッグメッセージと同じ ログレベル 6 は、MySQL 8.0.18 で使用できます。
-
authentication_ldap_simple_max_pool_size
コマンド行形式 --authentication-ldap-simple-max-pool-size=#
システム変数 authentication_ldap_simple_max_pool_size
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 1000
最小値 0
最大値 32767
簡易 LDAP 認証の場合、LDAP サーバーへの接続プールの最大サイズ。 接続プーリングを無効にするには、この変数を 0 に設定します。
この変数は、
authentication_ldap_simple_init_pool_size
とともに使用されます。 その変数の説明を参照してください。 -
authentication_ldap_simple_referral
コマンド行形式 --authentication-ldap-simple-referral[={OFF|ON}]
導入 8.0.20 システム変数 authentication_ldap_simple_referral
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Boolean デフォルト値 OFF
単純な LDAP 認証の場合、LDAP 検索リフェラルを有効にするかどうか。 LDAP 検索照会を参照してください。
-
authentication_ldap_simple_server_host
コマンド行形式 --authentication-ldap-simple-server-host=host_name
システム変数 authentication_ldap_simple_server_host
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 単純な LDAP 認証の場合は、LDAP サーバーホスト。 この変数に指定できる値は、認証方法によって異なります:
authentication_ldap_simple_auth_method_name=SIMPLE
の場合: LDAP サーバーホストには、ホスト名または IP アドレスを指定できます。-
authentication_ldap_simple_auth_method_name=AD-FOREST
の場合。 LDAP サーバーホストには、Active Directory ドメイン名を指定できます。 たとえば、LDAP サーバー URL がldap://example.mem.local:389
の場合、サーバー名はmem.local
になります。Active Directory フォレスト設定には、DNS を使用して検出できる複数のドメイン (LDAP サーバー IP) を含めることができます。 Unix および Unix に似たシステムでは、Active Directory ドメインの LDAP サーバーを指定する SRV レコードを使用して DNS サーバーを構成するために、いくつかの追加設定が必要になる場合があります。 DNS SRV の詳細は、RFC 2782 を参照してください。
構成に次のプロパティがあるとします:
Active Directory ドメインに関する情報を提供するネームサーバーには、IP アドレス
10.172.166.100
があります。LDAP サーバーの名前は
ldap1.mem.local
からldap3.mem.local
で、IP アドレスは10.172.166.101
から10.172.166.103
です。
SRV 検索を使用して LDAP サーバーを検出できるようにします。 たとえば、コマンドラインでは、次のようなコマンドで LDAP サーバーをリストする必要があります:
host -t SRV _ldap._tcp.mem.local
次のように DNS 構成を実行します:
-
/etc/resolv.conf
に行を追加して、Active Directory ドメインに関する情報を提供するネームサーバーを指定します:nameserver 10.172.166.100
-
LDAP サーバーの SRV レコードを使用して、ネームサーバーの適切なゾーンファイルを構成します:
_ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap1.mem.local. _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap2.mem.local. _ldap._tcp.mem.local. 86400 IN SRV 0 100 389 ldap3.mem.local.
-
サーバーホストを解決できない場合は、
/etc/hosts
で LDAP サーバーの IP アドレスを指定する必要がある場合もあります。 たとえば、次のような行をファイルに追加します:10.172.166.101 ldap1.mem.local 10.172.166.102 ldap2.mem.local 10.172.166.103 ldap3.mem.local
前述のように DNS を構成すると、サーバー側 LDAP プラグインは LDAP サーバーを検出し、認証が成功するかサーバーがなくなるまで、すべてのドメインで認証を試行できます。
ここで説明したような設定は必要ありません。
authentication_ldap_simple_server_host
値に LDAP サーバーホストが指定されている場合、Windows LDAP ライブラリはすべてのドメインを検索し、認証を試みます。
-
authentication_ldap_simple_server_port
コマンド行形式 --authentication-ldap-simple-server-port=port_num
システム変数 authentication_ldap_simple_server_port
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Integer デフォルト値 389
最小値 1
最大値 32376
単純な LDAP 認証の場合は、LDAP サーバーの TCP/IP ポート番号。
MySQL 8.0.14 では、LDAP ポート番号が 636 または 3269 として構成されている場合、プラグインは LDAP ではなく LDAPS (LDAP over SSL) を使用します。 (LDAPS は
startTLS
とは異なります。) -
authentication_ldap_simple_tls
コマンド行形式 --authentication-ldap-simple-tls[={OFF|ON}]
システム変数 authentication_ldap_simple_tls
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 Boolean デフォルト値 OFF
単純な LDAP 認証の場合、プラグインによる LDAP サーバーへの接続がセキュリティー保護されているかどうか。 この変数が有効な場合、プラグインは TLS を使用して LDAP サーバーにセキュアに接続します。 この変数は、デフォルトの OpenLDAP TLS 構成をオーバーライドするように設定できます。LDAP プラガブル認証および ldap.conf を参照してください。この変数を有効にする場合は、
authentication_ldap_simple_ca_path
変数も設定できます。MySQL LDAP プラグインは、プレーン LDAP 接続上で TLS を初期化する StartTLS メソッドをサポートしています。
MySQL 8.0.14 では、LDAPS は
authentication_ldap_simple_server_port
システム変数を設定することで使用できます。 -
authentication_ldap_simple_user_search_attr
コマンド行形式 --authentication-ldap-simple-user-search-attr=value
システム変数 authentication_ldap_simple_user_search_attr
スコープ グローバル 動的 はい SET_VAR
ヒントの適用いいえ 型 文字列 デフォルト値 uid
簡易 LDAP 認証の場合、LDAP ディレクトリエントリ内のユーザー名を指定する属性の名前。 ユーザー識別名が指定されていない場合、認証プラグインはこの属性を使用して名前を検索します。 たとえば、
authentication_ldap_simple_user_search_attr
値がuid
の場合、ユーザー名user1
を検索すると、uid
値がuser1
のエントリが検索されます。