A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prognus Software Livre Fernando Possamai Della

Apresentações semelhantes


Apresentação em tema: "Prognus Software Livre Fernando Possamai Della"— Transcrição da apresentação:

1 Prognus Software Livre Fernando Possamai Della
LDAP (LightWeight Directory Access Protocol - Protocolo leve de acesso a diretórios) Prognus Software Livre Fernando Possamai Della

2 LDAP – Visão geral É um protocolo para atualizar e pesquisar diretórios rodando sobre TCP/IP. O LDAP é um sistema de diretórios (DIT) e um protocolo também chamado de LDAP (que permite o acesso a DIT) Atende a grandes quantidades de consultas e não a grandes volumes de atualizações Possui diversas implementações (OpenLDAP, Active Directory...)

3 Quando utilizar LDAP A informação precisa estar disponível em muitas plataformas? Os dados serão acessados através de vários computadores e/ou aplicações? Os registros armazenados sofrem poucas mudanças (poucas vezes no dia)? Toda a informação de um item pode ser colocado em um único registro?

4 Exemplos de utilização
Informações que precisam ser lidas de diferentes locais e são pouco alteradas: Autenticação de usuários Informações de contato dos clientes Informações de infra-estrutura, tais como, mapas NIS, aliases, etc

5 Armazenamento A forma em que os diretórios armazenam suas informações é hierárquica e não relacional (semelhante a uma estrutura de pastas e diretórios) Um diretório LDAP geralmente segue o modelo X.500, que é uma árvore de nós, cada um consistindo de um conjunto de atributos com seus respectivos valores. Os dados são organizados em uma DIT (Directory Information Tree - Árvore de informação do diretório)

6 DIT (Directory Information Tree)
Elipse = vértice da árvore = registro → informações Linha = aresta = ligação entre os registros

7 Estrutura de um diretório LDAP
Como DNS hosts (dev.prognus.com.br), no LDAP existe o Distinguished Name (DN): dn: uid=expresso-admin,ou=expresso,dc=prognus O RDN (Relative Distinguished Name) é o nome único naquele nível hierárquico: rdn: uid=expresso-admin

8 Exemplo de uma entry: dn: uid=expresso-admin,ou=expresso,dc=prognus
objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: phpgwAccount objectClass: qmailUser cn: Admin Expresso gidNumber: 1002 homeDirectory: /home/expresso-admin mail: sn: Expresso uid: expresso-admin uidNumber: 1003 accountStatus: active givenName: Admin loginShell: /bin/false mailQuota: -1 phpgwAccountExpires: -1 phpgwAccountStatus: A phpgwAccountType: u phpgwLastPasswdChange: userPassword:: e21kNX1tTmRVcVI0ZGNTa1VrTjNxYnRaVnFRPT0=

9 Exemplo de uma objectClass
NAME 'qmailUser' DESC 'QMail-LDAP User' SUP top AUXILIARY MUST ( mail $ uid ) MAY ( mailMessageStore $ homeDirectory $ userPassword $ mailAlternateAddress $ qmailUID $ qmailGID $ mailQuota $ mailHost $ mailForwardingAddress $ deliveryProgramPath $ mailSenderAddress $ accountDeliveryMessage $ accountRestrictive $ participantCanSendMail $ qmailDotMode $ deliveryMode $ accountStatus $ qmailAccountPurge /etc/openldap/schema/qmailuser.schema

10 Exemplo de um atributo de uma objectClass
attributetype ( NAME 'mailQuota' DESC 'The amount of space the user can use until all further messages get bounced.' SYNTAX SINGLE-VALUE )

11 Visualizando em forma de árvore
dc=prognus ou=expresso dc=caixa dc=diretorio uid=fernando uid=expresso-admin ou=usuarios cn=fernando

12 Operações básicas Bind – autentica e especifica a versão do protocolo LDAP; Search – procura por e / ou recupera entradas dos diretórios; Compare – teste se uma entrada tem determinado valor como atributo; ADD – adiciona uma nova entrada; Delete – apaga uma entrada; Modify – modifica uma entrada; Modify DN – move ou renomeia uma entrada; Start TLS – protege a conexão com a Transport Layer Security (TLS); Abandon – aborta uma requisição prévia; Extended Operation – operação genérica para definir outras operações; Unbind – fecha a conexão, não o inverso de Bind.

13 Comandos LDAP no PHP Comandos LDAP no PHP
Adicionar entrada: bool ldap_add ( resource $link_identifier , string $dn , array $entry ) Parametros: link_identifier: link identificador, retornado por ldap_connect(). dn: Distinguished Name. entry: Um array especifico que tem informações sobre a entrada. Consultar entrada: resource ldap_search ( resource $link_identifier , string $base_dn , string $filter [, array $attributes [, int $attrsonly [, int $sizelimit [, int $timelimit [, int $deref ]]]]] ) array ldap_get_entries ( resource $link_identifier , resource $result_identifier )

14 Referências http://www.vivaolinux.com.br/artigo/Entendendo-o-LDAP


Carregar ppt "Prognus Software Livre Fernando Possamai Della"

Apresentações semelhantes


Anúncios Google