Noções básicas sobre o LDAP no Azure NetApp Files
Os esquemas do protocolo LDAP são a forma como os servidores LDAP organizam e coletam informações. Os esquemas de servidor LDAP geralmente seguem os mesmos padrões, mas provedores de servidor LDAP diferentes podem ter variações sobre como os esquemas são apresentados.
Quando o Azure NetApp Files consulta o LDAP, os esquemas são usados para ajudar a acelerar pesquisas de nomes porque permitem o uso de atributos específicos para encontrar informações sobre um usuário, como o UID. Os atributos de esquema devem existir no servidor LDAP para que o Azure NetApp Files possa localizar a entrada. Caso contrário, as consultas LDAP podem não retornar dados e as solicitações de autenticação podem falhar.
Por exemplo, se um número UID (como root=0) precisar ser consultado pelo Azure NetApp Files, o atributo de esquema RFC 2307 uidNumber Attribute
será usado. Se nenhum número UID 0
existir no LDAP no campo uidNumber
, a solicitação de pesquisa falhará.
O tipo de esquema atualmente usado pelo Azure NetApp Files é uma forma de esquema com base no RFC 2307bis e não pode ser modificado.
O RFC 2307bis é uma extensão do RFC 2307 e adiciona suporte para posixGroup
, o que permite pesquisas dinâmicas para grupos auxiliares usando o atributo uniqueMember
, em vez de usar o atributo memberUid
no esquema LDAP. Em vez de usar apenas o nome do usuário, este atributo contém o nome diferenciado (DN) completo de outro objeto no banco de dados LDAP. Portanto, os grupos podem ter outros grupos como membros, o que permite aninhamento de grupos. O suporte para RFC 2307bis também adiciona suporte para a classe de objeto groupOfUniqueNames
.
Esta extensão RFC se encaixa perfeitamente em como o Microsoft Active Directory gerencia usuários e grupos por meio das ferramentas de gerenciamento usuais. Isso ocorre porque quando você adiciona um usuário do Windows a um grupo (e se esse grupo tiver um GID numérico válido) usando os métodos de gerenciamento padrão do Windows, as pesquisas LDAP extrairão as informações de grupo suplementar necessárias do atributo habitual do Windows e encontrarão os GIDs numéricos automaticamente.
Quando os volumes do Azure NetApp Files precisam executar pesquisas LDAP para identidades de usuário NFS, uma série de atributos definidos por um esquema LDAP baseado no RFC-2307bis. A tabela a seguir mostra os atributos usados pelas pesquisas LDAP, que são os padrões definidos no Microsoft Active Directory quando os atributos do UNIX são usados. Para a funcionalidade adequada, verifique se esses atributos são preenchidos corretamente nas contas de usuário e grupo no LDAP.
Atributo do UNIX | Valor do esquema LDAP |
---|---|
Nome de usuário do UNIX | uid* |
ID numérica do usuário do UNIX | uidNumber* |
Nome do grupo do UNIX | cn* |
ID numérica do grupo do UNIX | gidNumber* |
Associação de grupo do UNIX | member** |
Classe de objeto de usuário do UNIX | Usuário** |
Diretório base do UNIX | unixHomeDirectory |
Nome de exibição do UNIX | gecos |
Senha de usuário do UNIX | unixUserPassword |
Shell de logon do UNIX | LoginShell |
Conta do Windows usada para mapeamento de nomes | sAMAccountName** |
Classe de objeto de grupo do UNIX | Group** |
UID de membro do UNIX | memberUid*** |
Grupo do UNIX de classe de objeto de nomes exclusivos | Group** |
* Atributo necessário para a funcionalidade do LDAP adequada
** Preenchido no Active Directory por padrão
*** Não obrigatório
Noções básicas sobre a indexação de atributos LDAP
O LDAP do Active Directory fornece um método de indexação para atributos que ajuda a acelerar as solicitações de pesquisa. Isso é particularmente útil em ambientes de diretório grande, em que uma pesquisa LDAP pode potencialmente exceder o valor de tempo limite de 10 segundos para pesquisas no Azure NetApp Files. Se uma pesquisa exceder o valor de tempo limite, ocorrerá uma falha na pesquisa LDAP e o acesso não funcionará corretamente porque o serviço não poderá verificar a identidade do usuário ou do grupo que solicita o acesso.
Por padrão, o LDAP do Microsoft Active Directory indexará os seguintes atributos do UNIX usados pelo Azure NetApp Files para pesquisas LDAP:
O atributo uid não é indexado por padrão. Como resultado, as consultas LDAP para o UID levam mais tempo do que as consultas para atributos indexados.
Por exemplo, no teste a seguir de uma consulta em um ambiente do Active Directory com mais de 20 mil usuários e grupos, uma pesquisa por um usuário com o atributo indexado CN levou cerca de 0,015 segundos, enquanto uma pesquisa pelo mesmo usuário com o atributo UID (que não é indexado por padrão) ficou mais próxima de 0,6 segundos – 40 vezes mais lenta.
Em ambientes menores, isso não causa problemas. Porém, em ambientes maiores (ou ambientes em que o ambiente do Active Directory é local ou tem alta latência de rede), a diferença pode ser drástica o suficiente para causar problemas de acesso para usuários que acessam volumes do Azure NetApp Files. Como resultado, é uma melhor prática configurar o atributo de UID no LDAP para que ele seja indexado pelo Active Directory.
Como configurar o atributo do UID a ser indexado pelo Active Directory
Os atributos são indexados por meio do valor searchFlags
do objeto de atributo, que é configurável por meio do Editor ADSI no contexto de nomenclatura do esquema. O acesso ao Editor ADSI deve ser abordado com cuidado e exige privilégios mínimos de Administrador de Esquema.
Por padrão, os searchFlags
do objeto de atributo uid são definidos como 0x8 (PRESERVE_ON_DELETE). Essa configuração padrão garante que, mesmo que o objeto no Active Directory seja excluído, o valor do atributo permanecerá armazenado no diretório como um registro histórico do atributo do usuário.
Em comparação, um atributo indexado no Active Directory para pesquisas do LDAP terá o valor de 0x1 (ou uma combinação que inclua esse valor), como o uidNumber:
Por isso, as consultas de uidNumber são retornadas mais rapidamente do que as consultas de uid. Para consistência e desempenho, você pode ajustar o valor searchFlags
do UID para 9 adicionando 0x1 juntamente com o valor existente de 0x8, que é (INDEX | PRESERVE_ON_DELETE). Essa adição mantém o comportamento padrão ao adicionar a indexação de atributo ao diretório.
Com a indexação, as pesquisas de atributos de usuário com o UID são tão rápidas quanto as pesquisas de outros atributos indexados.