3.9.2. Uso do LDAP para Autenticação das Interfaces de Gerenciamento
- Criação de uma conexão outbound para o servidor LDAP.
- Crie um security realm habilitado LDAP.
- Referencie o novo security domain na Interface de Gerenciamento.
A conexão outbound LDAP permite os seguintes atributos:
| Função | Solicitado | Descrição |
|---|---|---|
| nome | sim |
O nome para identificar esta conexão. Este nome é usado na definição do security realm.
|
| url | sim |
O endereço URL do servidor do diretório.
|
| search-dn | sim |
O distinguished name (DN - nome distinguido) do usuário autorizado a executar as buscas.
|
| search-credentials | sim |
A senha do usuário autorizado a executar as buscas.
|
| initial-context-factory | não |
A criação do contexto inicial para uso quando estabelecendo a conexão. O default é
com.sun.jndi.ldap.LdapCtxFactory.
|
Exemplo 3.13. Adição de uma Conexão Outbound LDAP
- DN de busca:
cn=search,dc=acme,dc=com - Credencial de busca:
myPass - URL:
ldap://127.0.0.1:389
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")
Exemplo 3.14. Representação XML de uma Conexão Outbound LDAP
As Interfaces de Gerenciamento podem autenticar em relação ao servidor LDAP ao invés do arquivo de propriedade baseado nos security realms configurados por default. O autenticador LDAP opera primeiramente estabelecendo uma conexão ao servidor do diretório remoto. Ele então executa uma busca usando o nome do usuário que o usuário passou ao sistema de autenticação, com o objetivo de encontrar o distinguished name (DN - nome distinguido) inteiramente qualificado. Uma nova conexão é estabelecida usando o DN do usuário como credencial e senha suprida pelo usuário. Caso esta autenticação ao servidor LDAP for bem sucedida, o DN é confirmado como válido.
- conexão
- O nome da conexão definido no
<outbound-connections>para uso da conexão ao diretório LDAP. - base-dn
- O nome distinguido do contexto para iniciar a busca pelo usuário.
- recursivo
- Se é que a busca deve ser recursiva através da árvore do diretório LDAP ou apenas buscar o contexto especificado. O default é
false. - user-dn
- O atributo do usuário que mantém o nome distinguido. Isto é subsequentemente usado para testar a autenticação assim que usuário puder completar. O default é
dn. - Um dos
username-filterouadvanced-filtercomo um elemento filho - O
username-filterleva um atributo único chamadoattribute, cujo valor é o nome do atributo LDAP que mantém o nome do usuário, tal como ouserNameousambaAccountName.Oadvanced-filterleva um único atributo chamadofilter. Este atributo contém uma fila de filtro na sintaxe do LDAP default. Recomendamos cuidado ao sair de qualquer caractere&alterando-os pelo&. Segue abaixo uma amostra de um filtro:(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))Copy to Clipboard Copied! Toggle word wrap Toggle overflow Após sair do caractere ampersand, o filtro aparece como:(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Exemplo 3.15. Representação XML de um Security Realm habilitado LDAP
- connection -
ldap_connection - base-dn -
cn=users,dc=acme,dc=com. - username-filter -
attribute="sambaAccountName"
Atenção
Exemplo 3.16. Adição de um LDAP Security Realm
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
Após você criar um security realm, você precisa referenciá-lo na configuração de sua interface de gerenciamento. A interface de gerenciamento usará o security realm para a autenticação de resumo HTTP.
Exemplo 3.17. Aplicação do Security Realm à Interface HTTP
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=TestRealm)