> ## Documentation Index
> Fetch the complete documentation index at: https://docs.basaltic.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Prova de propriedade

> Como uma zona começa a responder: os servidores de nomes por zona, mover um domínio ativo e mover um entre contas.

<a id="moving-a-live-domain" />

## Mover um domínio ativo

A delegação é o que prova que a zona é sua, o que significa que no momento em que você aponta o seu registrador aqui é o momento em que começamos a responder por ela. Uma zona vazia responde com **nada** — o site e o e-mail caem quando os resolvers pegam a mudança.

Então preencha-o primeiro. Faça o upload de um arquivo de zona exportado do seu provedor atual (consulte [Importing a zone file](/pt/dns/zone-files#importing-a-zone-file)), ou peça-nos para ler os registros no momento da criação:

<Tabs>
  <Tab title="Console">
    Em **Create Zone**, o cartão **Existing records** contém **Import my existing records**. Ligue-o e lemos os registros de quem quer que atenda o domínio hoje, antes de você alterar qualquer coisa no seu registrador.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    POST /v1/zones
    { "name": "example.com", "import_existing_records": true }
    ```
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    basaltic dns zone create --name example.com --import-existing-records
    ```
  </Tab>

  <Tab title="Go">
    ```go theme={null}
    zone, err := dns.New(cfg).CreateZone(ctx, &dns.ZoneCreateRequest{
        Name:                  "example.com",
        ImportExistingRecords: basaltic.Bool(true),
    })
    ```
  </Tab>
</Tabs>

Isso é executado em segundo plano — a zona é criada imediatamente. Poll `GET /v1/zones/{zone_id}/record-import`: Não foi possível importar o arquivo.

```json theme={null}
"record_import": {
  "state": "complete",
  "source": "query",
  "complete": false,
  "found": 14,
  "imported": 11,
  "notes": ["asked 261 names; a record whose name is not in the common list was not found and is not imported"]
}
```

<Warning>
  **Leia `complete` antes de desligar o seu antigo provedor.**

  `source: axfr` é uma transferência de zona: a zona inteira, exatamente, e `complete` é `true`. `source: query` significa que pedimos uma lista de nomes comuns, que encontra o que pensou que deveria pedir e **não pode saber o que perdeu**. A maioria dos provedores recusa transferências de zona, então `query` é o resultado usual e `complete: false` é normal, não uma falha.

  Compare os registros importados com o provedor antigo antes de desativá-lo. `notes` diz o que não pudemos estabelecer.
</Warning>

Depois de ler o resultado e verificar os registros contra o seu provedor antigo, `DELETE /v1/zones/{zone_id}/record-import` o guarda. **Isso descarta apenas a nota sobre de onde os registros vieram** — os registros em si permanecem exatamente como estão. O console exibe o resultado, incluindo o aviso acima, até que você o descarte. A chamada responde `204` se houve ou não um resultado a descartar.

Os registros que você já criou nunca são substituídos — os seus ganham. Os registros que esta plataforma gerencia sozinha (o SOA, a cadeia DNSSEC, os nameservers da zona) nunca são importados, e `notes` diz quantos foram ignorados.

Uma importação com falha nunca é uma zona com falha: a zona existe e funciona, e você pode preenchê-la manualmente ou a partir de um arquivo de zona.

<a id="proving-ownership" />

## Prova de propriedade

**A delegação é a prova. Não há registro para publicar.**

Os `nameservers` da sua zona não são os mesmos de qualquer outra pessoa. Cada uma tem um rótulo exclusivo para essa zona:

```
028t5cy4tqkff.triton.dns.basaltic.cloud
028t5cy4tqkff.proteus.dns.basaltic.cloud
```

Configure-os no seu registrador e, em seguida, confirme:

<Tabs>
  <Tab title="Console">
    A página da zona mostra um cartão **This zone is not resolving yet** com os servidores de nomes e um botão **Confirm delegation**. Ele permanece até que a delegação esteja no lugar; pressione-o novamente sempre que você tiver alterado algo no seu registrador.
  </Tab>

  <Tab title="API">
    ```bash theme={null}
    POST /v1/zones/{zone_id}/verify-ownership
    ```

    Idempotente, então você pode enquetá-lo.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    basaltic dns zone verify-ownership <zone-id>
    ```
  </Tab>

  <Tab title="Go">
    ```go theme={null}
    zone, err := dns.New(cfg).VerifyZoneOwnership(ctx, zoneID)
    ```
  </Tab>
</Tabs>

<Warning>
  **Use os nomes que sua zona lista, e nada mais.** Os nomes de servidor de nomes nuos da Basaltic — aqueles sem um rótulo — não verificarão sua zona. Eles são reservados para as zonas próprias da plataforma.

  Este é o ponto do rótulo. Qualquer pessoa pode apontar um domínio para um servidor de nomes que publicamos, portanto, uma delegação que nomeia um nome compartilhado mostra apenas que *alguém* fez isso em algum momento — possivelmente um proprietário anterior que nunca atualizou seu registrador. Uma delegação que nomeia o rótulo da sua zona só pode ter sido definida para a sua zona, por quem detém o domínio agora.
</Warning>

Uma zona criada abaixo de uma zona que você já possui não precisa de nada disso: ela herda a prova de seu pai e é verificada na criação. Chamar verify em um tem sucesso sem nada a fazer.

<a id="other-nameservers-alongside-ours" />

### Outros nameservers ao lado do nosso

Os nameservers de outro provedor podem estar ao lado do seu. Nós os ignoramos, e a zona ainda verifica.

<Warning>
  Servir um domínio de dois provedores ao mesmo tempo **não** funciona bem enquanto a zona estiver assinada, e todas as zonas aqui estão. Nosso registro DS no registrador cobre apenas as respostas que *nós* assinamos, então um resolver de validação que pergunta ao outro provedor obtém uma assinatura que não pode verificar e falha na pesquisa — aproximadamente metade das suas consultas, de forma imprevisível. Fale com o suporte antes de configurar isso.
</Warning>

O que **não** funciona é delegar para duas zonas *Basaltic* ao mesmo tempo. Enquanto um domínio nomeia os servidores de nomes da sua zona e de outra zona, **nenhum deles é servido**, e o verify informa isso. Esse é o estado que você deve esperar a meio do processo de mover um domínio entre contas — a solução é remover aqueles que sua zona não lista.

<a id="moving-a-domain-between-accounts" />

### Mover um domínio entre contas

Várias contas podem manter uma zona para o mesmo domínio. Apenas um é servido: aquele que a delegação do registrador realmente aponta.

Então, entregar um domínio é uma mudança de registrador e nada mais. A conta de recebimento cria a zona — ela é aceita, não recusada como uma duplicata — e obtém seus próprios servidores de nomes. Quando o registrador aponta para eles e os nomes das contas antigas aparecem, a nova zona verifica e a antiga pára de responder, e seu proprietário recebe um e-mail informando que isso aconteceu.

<Info>
  **A prova é um contrato de arrendamento, não uma escritura.** Ele é reconfirmado periodicamente enquanto a zona for servida, portanto, um domínio que expira ou muda de mãos deixa de ser servido a partir daqui.
</Info>

<a id="when-re-confirmation-starts-failing" />

## Quando a reconfirmação começa a falhar

Uma zona cuja reprova periódica falha cria um `ownership.recheck_deadline` — o instante em que ela pára de responder a menos que a verificação passe novamente. Ausente significa saudável.

Alcançar essa data requer falha sustentada, não uma tarde ruim: cada passagem re-verifica uma zona de falha, então um problema de resolução transiente se limpa. O proprietário da sua organização é notificado por e-mail quando o prazo é definido e, novamente, se a zona parar de resolver — uma zona nunca é desativada antes que essa mensagem seja enviada.

Para limpar deliberadamente, aponte a delegação do domínio de volta para os próprios nameservers da zona e chame `verify-ownership` novamente. Esse é o único caso em que uma zona já verificada pode responder `400`, porque aí a chamada executa a verificação de verdade.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.