Resumo

  • O contexto usado por um modelo YANG montado pode incluir dados selecionados no pai. A entrega do módulo não encerra a responsabilidade por essa dependência.
  • A seleção por parent-reference amplia o que expressões XPath podem consultar, sem conceder, por si só, acesso aos dados do pai pelas operações do modelo montado.
  • Reutilização de esquema, igualdade de dados e isolamento de usuários são afirmações diferentes. A automação precisa preservar essas diferenças para explicar seus resultados.

O orçamento de integração costuma reconhecer com facilidade o trabalho que deixou de ser feito. Um modelo reutilizado evita versões duplicadas, reduz manutenção e diminui a quantidade de definições que precisam evoluir juntas. É mais difícil enxergar o trabalho que mudou de lugar: explicar as relações entre esse modelo e o ambiente em que ele foi instalado.

YANG Schema Mount oferece um caso concreto dessa transferência. O mecanismo permite colocar modelos completos sob pontos definidos em um modelo pai. Os módulos montados não precisam ser reescritos para antecipar cada estrutura externa possível. Parte da composição fica fora deles, permitindo reaproveitamento sem multiplicar cópias.

Isso não torna a composição defeituosa. Torna insuficiente uma entrega que trate o arquivo como se ele contivesse todas as condições de uso. Quando uma regra depende de dados do pai, a responsabilidade operacional também atravessa a fronteira entre os modelos. O custo aparece quando essa responsabilidade não foi atribuída a ninguém.

O que o arquivo não conta sozinho

Uma equipe pode comparar duas versões de um módulo e concluir, corretamente, que nada mudou. Essa conclusão não garante que o servidor continue montando o modelo no mesmo contexto. Tampouco garante que os dados externos relevantes permaneçam iguais. Regras estáveis podem receber entradas diferentes.

O RFC 8528 define pontos de montagem em contêineres ou listas do modelo pai. Os caminhos internos do modelo montado passam a ser interpretados em relação ao ponto de montagem, não automaticamente à raiz de todo o equipamento. A relação com o entorno precisa ser descrita, em vez de simplesmente presumida.

Essa característica ajuda a separar duas entregas. A primeira é um modelo com definições compreensíveis. A segunda é uma composição na qual essas definições recebem as referências necessárias para operar. Pode haver responsáveis diferentes pelas duas. O problema começa quando a segunda não é reconhecida como trabalho próprio.

O padrão também não define de maneira universal como o servidor obtém toda a instrumentação subjacente ou cria cada instância. As informações operacionais de schema-mounts descrevem a montagem oferecida; encontrá-las não significa descobrir um comando genérico para alterar qualquer composição. Observação e poder de mudança continuam sendo coisas distintas.

A referência que vem de fora

O exemplo de instâncias de rede do anexo A.3 mostra por que uma relação externa pode ser necessária. Uma expressão escolhe interfaces do pai de acordo com sua associação à instância atual. Com isso, o modelo montado pode usar referências a interfaces, como uma interface de saída de rota estática, mesmo sem incluir o módulo de interfaces em seu próprio esquema.

O mecanismo não transforma todas as interfaces do equipamento em opções equivalentes. Existe uma seleção. O fato de uma interface constar no inventário não basta para explicar por que ela integra o conjunto relevante para uma instância específica. É a associação usada pela expressão que precisa ser compreendida.

Esse é um exemplo não normativo, não um relato de implantação em produção. Ele não comprova que um fabricante executa determinada operação, nem demonstra uma interrupção de tráfego. Serve para identificar uma dependência: uma regra local pode fazer sentido com base em objetos administrados fora do modelo que a contém.

No modo de esquema compartilhado, parent-reference fornece a ligação. As expressões XPath são avaliadas no contexto do pai e produzem conjuntos de nós. Esses nós e seus ancestrais são acrescentados à árvore disponível para a avaliação de XPath no esquema montado. Assim, uma parte do ambiente passa a participar do raciocínio das regras.

Consultar para validar não é receber uma permissão

Há uma restrição decisiva nessa descrição. Os nós selecionados do pai não ficam, por esse motivo, disponíveis para leitura ou escrita pelas operações NETCONF ou RESTCONF na árvore montada. A árvore usada na avaliação não é a mesma promessa que a superfície de acesso do protocolo.

Uma instância pode, portanto, depender de uma associação sem se tornar sua administradora. Se a equipe chamar as duas relações apenas de acesso, perderá a diferença entre usar um dado como referência e conceder ao usuário o direito de obtê-lo ou modificá-lo.

O mesmo cuidado vale para a expressão mount jail. Ela descreve um limite de interpretação de caminhos. Não certifica separação de processos, de recursos físicos ou de clientes. Um nome que sugere confinamento não dispensa a verificação das propriedades de segurança efetivamente implementadas.

Dados montados também podem ser tornados somente leitura pelas condições do ponto de montagem ou das informações que o descrevem. Isso limita sua natureza configurável, mas não determina sozinho quem pode lê-los. Escopo de referência, possibilidade de configuração e autorização de usuário precisam de respostas próprias.

Quando o contexto muda o resultado

O RFC 7950 define as condições must como restrições que precisam ser verdadeiras para os dados pertinentes. Referências de folha trazem outra distinção: quando require-instance é true, aplicam-se exigências de existência da instância referenciada; quando é false, a ausência pode ser admitida. Valores padrão e referências entre dados de configuração também têm regras específicas.

Por isso, dizer que uma configuração contém uma referência não resolve a análise. É necessário identificar qual restrição está sendo avaliada e quais nós podem satisfazê-la. Uma mudança na associação de interfaces do pai pode alterar esse conjunto para a instância, sem mudar a definição do módulo ou o texto do candidato.

O efeito continua sendo condicional. Uma restrição que não depende dos nós selecionados pode permanecer igual. Uma alteração no pai pode deixar a seleção intacta. Não se deve transformar qualquer edição externa em causa presumida de uma falha. O trabalho útil é acompanhar a dependência específica.

Essa leitura permite montar uma comparação controlada, mas não autoriza inventar um comportamento de produto. Manter o candidato e variar uma associação pertinente ajuda a investigar a avaliação. Não prova, por si só, autorização de acesso nem encaminhamento de pacotes. Uma cadeia de conclusões precisa de observações em cada etapa que pretende descrever.

Até exemplos publicados exigem precisão sobre o objeto referido. A errata editorial verificada 5797 corrige um exemplo separado de elemento lógico de rede: o vínculo de uma interface deve indicar o nome do elemento lógico, não repetir o nome da interface. A correção não altera o mecanismo de referência ao pai. Ela evita que um identificador aparentemente plausível ocupe um campo com outro significado.

Compartilhar o esquema não elimina a instância

O modo compartilhado exige um mesmo esquema para as instâncias daquele ponto de montagem. O modo inline admite esquemas diferentes. Cada instância operacional fornece informações de YANG Library, mas a igualdade de identificadores de conteúdo em duas instâncias inline não garante igualdade de conteúdo das bibliotecas.

Mesmo quando o esquema é comum, os dados ordinários do pai não precisam ser iguais. A mesma expressão, avaliada a partir de instâncias diferentes, pode selecionar conjuntos diferentes. O identificador da biblioteca não é um registro de todos os valores externos usados por cada restrição. Monitorar apenas módulos e bibliotecas pode deixar de fora mudanças relevantes nas associações.

A resposta não é abandonar o reaproveitamento. É definir corretamente o que pode ser reaproveitado. Uma ferramenta pode compartilhar informações do esquema e ainda precisar conservar evidência da seleção específica de uma instância. A economia não deve depender de tratar diferenças relevantes como se não existissem.

A revisão de segurança continua necessária

Quando NACM é implementado, os nós montados ficam sujeitos ao controle de acesso conforme sua posição na árvore composta. O ponto de montagem não cria automaticamente uma política privada e independente. Os arranjos de gerenciamento compartilhado ou dividido tratam de sessões; seus nomes não bastam para comprovar isolamento completo.

O RFC 8341 sobre NACM alerta ainda para dependências de modelos, referências e efeitos implícitos. Bloquear uma leitura direta não descreve tudo o que um usuário pode inferir por dados relacionados ou operações permitidas. Essa cautela geral não equivale a demonstrar uma vulnerabilidade específica em Schema Mount.

Nem toda referência ao pai representa quebra de isolamento, e nem toda negativa de leitura prova que o isolamento está completo. É preciso examinar modelos, sessões, permissões e comportamento. A distinção importa para uma automação que pretende produzir resultados explicáveis, não apenas encerrar uma execução com uma mensagem favorável.

O módulo reutilizável pode estar correto. A pergunta que permanece é se sua relação com o ambiente também foi aceita, documentada e atribuída a alguém. É aí que a integração deixa de ser uma etapa de entrega e se torna uma responsabilidade durante a operação.