A resposta mais precisa é "quando exigido pelo RFC, e alguns outros casos além de".
As únicas vezes em que você tem a garantia de ver uma seção AUTHORITY é quando o servidor remoto está respondendo com zero registros na seção ANSWER (e, mesmo assim, somente quando o rcode é NOERROR ou NXDOMAIN). Os casos mais comuns que conheço são:
- Consultando um servidor autoritativo para um registro que foi delegado a outro servidor
- Recebendo uma resposta NXDOMAIN
- Consultando um servidor recursivo sem o sinalizador
RD
(recursão desejada) definido quando o registro não está no cache. Usando dig, isso seria realizado através da opção+norecurse
.
Fora das circunstâncias exigidas pelo RFC, o que você obterá nesse campo é a implementação específica e não confiável. Alguns softwares de servidor de nomes fornecem opções para não fornecer esses dados, exceto quando exigido pelo RFC, o que é útil para reduzir o tamanho do pacote por resposta em cenários de ataque de amplificação. Um exemplo disso é a opção minimal-responses
do BIND9.
minimal-responses
If yes, then when generating responses the server will only add records to the authority and additional data sections when they are required (e.g. delegations, negative responses). This may improve the performance of the server. The default is no.
Em resumo, a menos que uma referência ou NXDOMAIN esteja envolvido, você deve considerar os dados na seção AUTHORITY como um fator de conveniência apenas. Ao escrever código que analisa respostas de DNS, eu só vejo a seção AUTHORITY se o rcode era NOERROR com zero registros na seção ANSWER.