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?
Respostas:
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.
fonte
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.com
porsarouman.example.com
?). Você normalmente usa apenas o nome de domínio delegado e, se tiverexample.com
, usadc=example,dc=com
.fonte
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.
fonte
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 =)
fonte