<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
%BOOK_ENTITIES;
]>

<!-- Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<section id="LDAPserver-for-user-authentication">
    <title>Using an LDAP Server for User Authentication</title>
    <para>You can use an external LDAP server such as Microsoft Active Directory or ApacheDS to authenticate &PRODUCT; end-users. Just map &PRODUCT; accounts to the corresponding LDAP accounts using a query filter. The query filter is written using the query syntax of the particular LDAP server, and can include special wildcard characters provided by &PRODUCT; for matching common values such as the user’s email address and name. &PRODUCT; will search the external LDAP directory tree starting at a specified base directory and return the distinguished name (DN) and password of the matching user. This information along with the given password is used to authenticate the user..</para>
    <para>To set up LDAP authentication in &PRODUCT;, call the &PRODUCT; API command ldapConfig and provide the following:</para>
    <itemizedlist>
        <listitem><para>Hostname or IP address and listening port of the LDAP server</para></listitem>
        <listitem> <para>Base directory and query filter</para></listitem>
        <listitem><para>Search user DN credentials, which give &PRODUCT; permission to search on the LDAP server</para></listitem>
        <listitem><para>SSL keystore and password, if SSL is used</para></listitem>     
    </itemizedlist>
    <xi:include href="example-LDAP-configuration-commands.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="search-base.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="query-filter.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="search-user-bind-dn.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
    <xi:include href="SSL-keystore-path-and-password.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />    
    </section>
