Posso obter uma explicação da sintaxe dos sufixos da base de pesquisa LDAP?


11

Sei que um sufixo da base de pesquisa LDAP geralmente corresponde ao nome do host do servidor de diretórios. Em outras palavras, eu sei se o nome do host é od.foobar.com, devo usar o sufixo da base de pesquisa:dc=od,dc=foorbar,dc=com

Incomoda-me não entender por que estou fazendo isso. Alguém poderia fornecer alguns antecedentes e explicar exatamente o que estou fazendo?


3
Eu discordo totalmente da palavra "geralmente". A maioria dos sites LDAP usa o nome de domínio delegado (aqui foobar.com) NÃO o nome do host do servidor.
22449 bortzmeyer

Respostas:


7

Antes de a Microsoft adotar, estender e alterar o LDAP, a maioria das implementações tinha objetos para representar a raiz da árvore. Ou seja, você tem que começar de algum lugar.

Por razões em que não sou totalmente claro, no Active Directory, cada domínio na árvore / floresta está enraizado com um nome que dc = domain, dc = com que não é realmente dois objetos separados, é uma raiz virtual do diretório espaço de nome.

Eu acho que parte disso vem do fato de que, independentemente do que é dito sobre o Active Directory, ainda é uma série de domínios vinculados, e cada domínio precisa ser tratado como uma entidade autônoma.

Agora, existem relações de confiança transitivas automáticas em uma árvore do AD, o que faz com que seja menos importante para os usuários finais, mas mesmo que o espaço para nome pareça meio contíguo, na verdade não é.

Isso se torna mais evidente com algumas das regras de nomenclatura no AD. Por exemplo, sAMAccountName deve ser exclusivo em um domínio, independentemente de estar ou não no mesmo contêiner. Ou seja, o nome distinto completo deve ser exclusivo (você não pode ter dois usuários de John Smith no mesmo contêiner), mas o nome abreviado usado para muitas coisas internamente (sAMAccountName) precisa ser exclusivo em todo o domínio.

Outros serviços de diretório têm requisitos semelhantes, como uniqueID realmente deve ser exclusivo em todo o diretório, mas isso ocorre porque os aplicativos costumam fazer essa suposição, pois os gravadores de aplicativos têm preguiça de lidar com o problema complexo (não culpo é um problema difícil) de como lidar com dois usuários com nomes abreviados de jsmith tentando usar um serviço, mas existentes em dois contêineres diferentes. (Ou seja, cn = jsmith, ou = Londres, dc = acme, dc = com e cn = jsmith, ou = Texas, dc = acme, dc = com).

Como seu aplicativo usando este diretório decide qual usuário usar? A resposta usual é deixar o usuário decidir. Mas isso significa capturar esse caso, apresentar uma interface do usuário para o usuário escolher e outros enfeites.

A maioria dos criadores de aplicativos ignora essa possibilidade e usa apenas uniqueID ou sAMAccountName, porque é único (mais ou menos) e mais fácil de fazer.

A diferença entre uniqueID e sAMAccountName seria que uniqueID deve ser exclusivo em todo o espaço de nome do diretório. Considerando que sAMAccountName é garantido apenas como exclusivo no domínio. Se a árvore do AD tiver vários domínios, não haverá garantia de exclusividade entre os domínios.


Não tenho certeza se isso ainda responde à pergunta. Ou a pergunta não está muito bem formulada ou minha cabeça está girando demais.
ThatGraemeGuy

1
Eu acho que o porquê é um tanto arbitrário. Você precisa começar em algum lugar, e o X.500, no qual o LDAP se baseia, diz que você precisa ter uma raiz na sua árvore. (Caso contrário, tomba?) A pergunta POR QUE começa em algum lugar? Por que começar aqui especificamente?
#

8

Outros explicaram por que usar um nome de domínio é uma boa ideia (mas não é obrigatória). Acabei de acrescentar que a pergunta está errada: não é recomendável ter um sufixo base com base no nome de uma máquina (por razões óbvias: e se você substituir gandalf.example.compor sarouman.example.com?). Você normalmente usa apenas o nome de domínio delegado e, se tiver example.com, usa dc=example,dc=com.


+1 boa observação. Perdeu totalmente essa: D
Comandante Keen

7

A raiz do diretório deve ser definida como algo. Pode ser definido como você quiser. A configuração como o nome do domínio é simplesmente uma convenção útil que garante que o espaço para nome do diretório seja exclusivo.


3

Versão curta: combine seu nome de domínio como garantia de que o caminho base é único.

Faça isso e você não parecerá um novo administrador se sua empresa se fundir com outra e você precisar mesclar sistemas :)

Ok, essa era uma versão muito curta =)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.