このページは、まだ日本語ではご利用いただけません。翻訳中です。
古いプラグインバージョンのドキュメントを閲覧しています。
構成
このプラグインはDBレスモードに対応しています。
互換性のあるプロトコル
LDAP Authentication Advancedプラグインは以下のプロトコルに対応しています:
grpc
, grpcs
, http
, https
, ws
, wss
パラメータ
このプラグインの設定で使用できるすべてのパラメータのリストは次のとおりです。
-
name or plugin
string requiredプラグイン名。この場合は
ldap-auth-advanced
。- Kong Admin API、Kong Konnect API、宣言型構成、または decK ファイルを使用する場合、フィールドは
name
です。 - Kubernetes で KongPlugin オブジェクトを使用する場合、フィールドは
plugin
です。
- Kong Admin API、Kong Konnect API、宣言型構成、または decK ファイルを使用する場合、フィールドは
-
instance_name
stringプラグインのインスタンスを識別するための任意のカスタム名 (例:
ldap-auth-advanced_my-service
。インスタンス名はKong ManagerとKonnectに表示されるので、 例えば複数のサービスで同じプラグインを複数のコンテキストで実行する場合に便利です。また、Kong Admin API経由で特定のプラグインインスタンスに アクセスするためにも使用できます。
インスタンス名は、次のコンテキスト内で一意である必要があります。
- Kong Gateway Enterpriseのワークスペース内
- Konnectのコントロールプレーン(CP)またはコントロールプレーン(CP)グループ内
- Kong Gateway (OSS)の全世界
-
service.name or service.id
stringプラグインが対象とするサービス名または ID。最上位の
/plugins
エンドポイント. からプラグインをサービスに追加する場合は、これらのパラメータのいずれかを設定してください/services/{serviceName|Id}/plugins
を使用する場合は必要ありません。 -
route.name or route.id
stringプラグインがターゲットとするルート名または ID。最上位の
/plugins
エンドポイント. を通るルートにプラグインを追加する場合は、これらのパラメータのいずれかを設定してください/routes/{routeName|Id}/plugins
を使用する場合は必要ありません。 -
enabled
boolean default:true
このプラグインが適用されるかどうか。
-
config
record required-
ldap_host
string requiredHost on which the LDAP server is running.
-
ldap_password
string referenceable encryptedThe password to the LDAP server.
-
ldap_port
number default:389
TCP port where the LDAP server is listening. 389 is the default port for non-SSL LDAP and AD. 636 is the port required for SSL LDAP and AD. If
ldaps
is configured, you must use port 636.
-
bind_dn
string referenceableThe DN to bind to. Used to perform LDAP search of user. This
bind_dn
should have permissions to search for the user being authenticated.
-
ldaps
boolean required default:false
Set it to
true
to useldaps
, a secure protocol (that can be configured to TLS) to connect to the LDAP server. Whenldaps
is configured, you must use port 636. If theldap
setting is enabled, ensure thestart_tls
setting is disabled.
-
start_tls
boolean required default:false
Set it to
true
to issue StartTLS (Transport Layer Security) extended operation overldap
connection. If thestart_tls
setting is enabled, ensure theldaps
setting is disabled.
-
verify_ldap_host
boolean required default:false
Set to
true
to authenticate LDAP server. The server certificate will be verified according to the CA certificates specified by thelua_ssl_trusted_certificate
directive.
-
base_dn
string requiredBase DN as the starting point for the search; e.g., “dc=example,dc=com”.
-
attribute
string requiredAttribute to be used to search the user; e.g., “cn”.
-
cache_ttl
number required default:60
Cache expiry time in seconds.
-
hide_credentials
boolean default:false
An optional boolean value telling the plugin to hide the credential to the upstream server. It will be removed by Kong before proxying the request.
-
timeout
number default:10000
An optional timeout in milliseconds when waiting for connection with LDAP server.
-
keepalive
number default:60000
An optional value in milliseconds that defines how long an idle connection to LDAP server will live before being closed.
-
anonymous
string len_min:0
An optional string (consumer UUID or username) value to use as an “anonymous” consumer if authentication fails. If empty (default null), the request will fail with an authentication failure
4xx
. Note that this value must refer to the consumerid
orusername
attribute, and not itscustom_id
.
-
header_type
string default:ldap
An optional string to use as part of the Authorization header. By default, a valid Authorization header looks like this:
Authorization: ldap base64(username:password)
. Ifheader_type
is set to “basic”, then the Authorization header would beAuthorization: basic base64(username:password)
. Note thatheader_type
can take any string, not just"ldap"
and"basic"
.
-
consumer_optional
boolean default:false
Whether consumer mapping is optional. If
consumer_optional=true
, the plugin will not attempt to associate a consumer with the LDAP authenticated user. Ifconsumer_optional=false
, LDAP authenticated users can still access upstream resources.To prevent access from LDAP users that are not associated with consumers, set
consumer_optional=false
, set theanonymous
field to an existingconsumer_id
, then use the Request Termination plugin to deny any requests from the anonymous consumer.
-
consumer_by
array of typestring
default:username, custom_id
Must be one of:username
,custom_id
Whether to authenticate consumers based on
username
,custom_id
, or both.
-
group_base_dn
stringSets a distinguished name (DN) for the entry where LDAP searches for groups begin. This field is case-insensitive.
-
group_name_attribute
stringSets the attribute holding the name of a group, typically called
name
(in Active Directory) orcn
(in OpenLDAP). This field is case-insensitive.
-
group_member_attribute
string default:memberOf
Sets the attribute holding the members of the LDAP group. This field is case-sensitive.
-
log_search_results
boolean default:false
Displays all the LDAP search results received from the LDAP server for debugging purposes. Not recommended to be enabled in a production environment.
-
groups_required
array of typestring
The groups required to be present in the LDAP search result for successful authorization. This config parameter works in both AND / OR cases.
- When
["group1 group2"]
are in the same array indices, bothgroup1
ANDgroup2
need to be present in the LDAP search result. - When
["group1", "group2"]
are in different array indices, eithergroup1
ORgroup2
need to be present in the LDAP search result.
- When
-