it-swarm-pt.tech

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

Eu sei que um sufixo de base de pesquisa LDAP geralmente corresponde ao nome do host do servidor de diretório. 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

Me incomoda não entender por que estou fazendo isso. Alguém poderia fornecer algumas informações e explicar exatamente o que estou fazendo?

11
username

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 que não estou completamente claro, no Active Directory, cada domínio na árvore/floresta é enraizado com um nome que dc = domain, dc = com que não é realmente dois objetos separados, mas sim uma raiz virtual do diretório espaço de nomes.

Acho que parte disso vem do fato de que, independentemente do que se diga sobre o Active Directory, ele 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 dentro de uma árvore do AD, o que faz com que seja menos importante para os usuários finais, mas mesmo que o namespace pareça um tanto contíguo, na verdade não é.

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

Outros serviços de diretório têm requisitos semelhantes, como o uniqueID deve realmente ser único dentro do diretório inteiro, mas isso é mais porque os aplicativos geralmente fazem essa suposição, já que os escritores de aplicativos têm sido preguiçosos demais para lidar com o problema complexo (eu não culpo eles, é um problema difícil) de como lidar com dois usuários com nomes curtos de jsmith tentando usar um serviço, mas existindo em dois contêineres diferentes. (Ou seja, talvez cn = jsmith, ou = London, dc = acme, dc = com e cn = jsmith, ou = Texas, dc = acme, dc = com).

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

A maioria dos criadores de aplicativos simplesmente 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 só é garantido como exclusivo dentro do domínio. Se a árvore AD tem vários domínios, não há garantia de exclusividade entre os domínios.

7
geoffc

Outros explicaram por que usar um nome de domínio é uma boa idéia (mas é não obrigatório). Acabei de acrescentar que a questão está errada: ter um sufixo de base baseado no nome de uma máquina é não recomendado (por razões óbvias: e se você substituir gandalf.example.com de sarouman.example.com?). Normalmente, você só usa o nome de domínio delegado, se tiver example.com, você usa dc=example,dc=com.

8
bortzmeyer

A raiz do diretório deve ser definida como alguma coisa. Pode ser definida como você quiser. Configurá-lo com o nome de domínio é simplesmente uma convenção útil que garante que seu espaço de nome de diretório seja exclusivo.

7
Brian

Versão resumida: corresponda ao seu nome de domínio para garantir que o caminho base seja único.

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

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

3
Commander Keen