Nesta página, explicamos como configurar a destruição atrasada de versões de Secrets, atualizar ou remover a duração do atraso e restaurar versões de Secrets programadas para destruição.
Por padrão, quando um usuário escolhe destruir uma versão de secret no Secret Manager, o material é destruído imediatamente e de forma permanente. No entanto, os usuários com a função de administrador do Secret Manager podem configurar a destruição atrasada de versões de secrets, o que garante que a versão não seja destruída imediatamente após a solicitação e permaneça recuperável por um período configurável.
Quando a destruição atrasada está ativada no secret e você destrói uma versão dele, acontece o seguinte:
-
A versão é desativada, impedindo o uso dela.
-
O sistema programa a destruição permanente da versão no fim do período de atraso.
-
Após o período de atraso expirar, a versão do secret será destruída de forma permanente e irrevogável.
Vantagens
Esse recurso oferece os seguintes benefícios:
-
Uma camada extra de proteção contra a destruição acidental ou maliciosa de material secreto crítico. Qualquer usuário com a função Gerenciador de versões de secrets do Secret Manager pode destruir uma versão de secret. Essa ação é irreversível. Ao configurar a destruição atrasada, você pode evitar a destruição imediata das versões de secrets. Você pode conceder aos usuários o acesso mínimo necessário para gerenciar o ciclo de vida das versões secret, assim é possível monitorar e evitar a destruição acidental de dados sensíveis.
-
A destruição de uma versão secreta aciona uma
SECRET_VERSION_DESTROY_SCHEDULEDnotificação para os tópicos do Pub/Sub configurados no secret. Os usuários com a função de administrador do Secret Manager podem cancelar a destruição programada e restaurar a versão do secret ativando ou desativando a versão do secret.
Antes de começar
-
Ative a API Secret Manager, se ainda não tiver feito isso.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de Proprietário (roles/owner). Caso contrário, é possível receber essa permissão pelo papel de Administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis. -
Configure a autenticação.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Cloud de Confiance para acessar os serviços e as APIs Cloud de Confiance by S3NS , não é necessário configurar a autenticação.
gcloud
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initREST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .
Funções exigidas
Para receber as permissões necessárias
para configurar a destruição atrasada de versões de secrets,
peça ao administrador para conceder a você o papel do IAM de
Administrador do Secret Manager (roles/secretmanager.admin) em um secret.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Configurar a destruição atrasada
É possível ativar a destruição atrasada de uma versão do secret ao criar ou atualizar o secret. Para configurar a destruição atrasada, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Segredos regionais e depois em Criar segredo regional.
-
Na página Criar secret regional, insira um nome para o secret no campo Nome.
-
Insira um valor para o secret (por exemplo,
abcd1234). Também é possível fazer upload de um arquivo de texto com o valor do secret usando a opção Fazer upload do arquivo. Essa ação cria automaticamente a versão do secret. -
Escolha o local em que você quer armazenar o secret regional na lista Região.
-
Acesse a seção Atrasar a destruição da versão secreta e marque a caixa de seleção Definir a duração da destruição atrasada.
-
No campo Duração do atraso de destruição, insira a duração em dias. O valor mínimo que você pode inserir é de 1 dia, e o máximo é de 1.000 dias.
-
Clique em Criar secret.
Para ativar esse recurso em um secret atual, acesse a página Editar secret e configure a duração do atraso na destruição.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret.
- LOCATION: o Cloud de Confiance by S3NS local do secreto.
- TTL_DURATION: a duração do atraso na destruição das versões do secret. Você pode inserir a duração em qualquer formato, por exemplo, dias, horas ou segundos. A duração mínima exigida é de 1 dia, e a máxima pode ser definida como 1.000 dias.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
A resposta contém o secret recém-criado.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secreto.
- PROJECT_ID: o ID do projeto do Cloud de Confiance by S3NS .
- SECRET_ID: o ID do secret.
- TTL_DURATION: a duração do atraso na destruição das versões do secret. Insira a duração em segundos. Observação: a duração mínima exigida é de 1 dia, e a máxima pode ser definida como 1.000 dias.
Método HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID
Corpo JSON da solicitação:
{
"version_destroy_ttl":"TTL_DURATION"
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-04T06:34:32.995517Z",
"etag": "\"1621455df3febd\"",
"versionDestroyTtl": "TTL_DURATION"
}
A destruição atrasada não se aplica aos seguintes cenários:
-
Quando um secret é excluído, todo o material do secret e as versões relacionadas são excluídos imediatamente.
-
Quando uma data de expiração é definida para o secret e ele expira, todas as versões são destruídas imediatamente, mesmo que a destruição atrasada esteja ativada no secret.
Atualizar a duração do atraso de destruição
Para atualizar a duração do atraso na destruição, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Secrets regionais.
-
Para editar um secret, use um dos seguintes métodos:
-
Clique em Ações para o secret que você quer editar e clique em Editar.
-
Clique no nome do secret para acessar a página de detalhes dele. Na página de detalhes do secret, clique em Editar secret.
-
-
Na página Editar secret, acesse a seção Atrasar destruição da versão do secret. Atualize a duração do atraso conforme necessário e clique em Atualizar segredo.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret
- LOCATION: o Cloud de Confiance by S3NS local do secret
- TTL_DURATION: a duração do atraso na destruição das versões do secret.
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION --version-destroy-ttl=TTL_DURATION
A resposta contém o secret recém-criado.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secret
- PROJECT_ID: o Cloud de Confiance by S3NS ID do projeto
- SECRET_ID: o ID do secret
- TTL_DURATION: a duração do atraso na destruição das versões do secret.
Método HTTP e URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl
Corpo JSON da solicitação:
{
"version_destroy_ttl":"TTL_DURATION"
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-04T06:34:32.995517Z",
"etag": "\"16214561a80d09\"",
"versionDestroyTtl": "TTL_DURATION"
}
As versões de secret afetadas pela duração do atraso na destruição dependem do seguinte:
-
Quando a destruição atrasada é definida pela primeira vez no secret, a duração do atraso afeta todas as versões ativas (ativadas e desativadas) do secret.
-
Quando a duração do atraso na destruição é atualizada ou removida, as mudanças refletem apenas em novas versões do secret em que a ação de destruição é tentada. As versões do secret que já estão programadas para destruição vão continuar sendo destruídas no horário programado.
Desativar a destruição com atraso
Para desativar a destruição atrasada de versões, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Secrets regionais.
-
Para editar um secret, use um dos seguintes métodos:
-
Clique em Ações para o secret que você quer editar e clique em Editar.
-
Clique no nome do secret para acessar a página de detalhes dele. Na página de detalhes do secret, clique em Editar secret.
-
-
Na página Editar secret, acesse a seção Atrasar destruição da versão do secret. Desmarque a caixa de seleção Definir duração para destruição atrasada e clique em Atualizar secret.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_ID: o ID do secret
- LOCATION: o Cloud de Confiance by S3NS local do secret
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION --remove-version-destroy-ttl
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION --remove-version-destroy-ttl
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION --remove-version-destroy-ttl
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secret
- PROJECT_ID: o Cloud de Confiance by S3NS ID do projeto
- SECRET_ID: o ID do secret
Método HTTP e URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl
Corpo JSON da solicitação:
{}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=version_destroy_ttl" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID",
"createTime": "2024-09-04T06:34:32.995517Z",
"etag": "\"16214564f18f19\""
}
Programar versões do secret para destruição atrasada
Para programar a destruição atrasada de uma versão secreta, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Secrets regionais e em um secret para acessar as versões dele. A destruição atrasada das versões precisa ser configurada neste secret.
-
Na página de detalhes do secret, na guia Versões, selecione a versão do secret que você quer destruir.
-
Clique em Ações e em Destruir.
-
Na caixa de diálogo de confirmação, insira o ID do secret para confirmar e clique em Programar as versões selecionadas para destruição.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
- SECRET_ID: o ID do secret
- LOCATION: o Cloud de Confiance by S3NS local do secret
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets versions destroy SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions destroy SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions destroy SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secret
- PROJECT_ID: o Cloud de Confiance by S3NS ID do projeto
- SECRET_ID: o ID do secret
- VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
Método HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy
Corpo JSON da solicitação:
{}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID",
"createTime": "2024-09-04T06:41:57.859674Z",
"state": "DISABLED",
"etag": "\"16214579184a2c\"",
"scheduledDestroyTime": "2024-09-05T13:15:28.357251843Z"
}
A versão do secret é desativada imediatamente e programada para destruição após o vencimento do período de atraso. A data e a hora exatas em que a versão será destruída podem ser encontradas na coluna Programada para destruição em da tabela Versões.
Restaurar versões de secret
Para restaurar uma versão de secret programada para destruição, ative ou desative essa versão.
Ativar uma versão do secret programada para destruição
Para ativar uma versão do segredo programada para destruição, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Chaves secretas regionais e em uma chave secreta para acessar as versões dela.
-
Na página de detalhes do secret, na guia Versões, selecione a versão do secret programada para destruição.
-
Clique em Ações e em Ativar.
-
Na caixa de diálogo de confirmação, clique em Ativar versões selecionadas.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
- SECRET_ID: o ID do secret
- LOCATION: o Cloud de Confiance by S3NS local do secret
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets versions enable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions enable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions enable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secret
- PROJECT_ID: o Cloud de Confiance by S3NS ID do projeto
- SECRET_ID: o ID do secret
- VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
Método HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:enable
Corpo JSON da solicitação:
{}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:enable"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:enable" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID",
"createTime": "2024-09-04T06:41:57.859674Z",
"state": "ENABLED",
"etag": "\"1621457b3c1459\""
}
Desativar uma versão do secret programada para destruição
Para desativar uma versão do segredo programada para destruição, use um dos seguintes métodos:
Console
-
No console do Cloud de Confiance , acesse a página Secret Manager.
-
Na página Secret Manager, clique na guia Secrets regionais e em um secret para acessar as versões dele.
-
Na página de detalhes do secret, na guia Versões, selecione a versão do secret programada para destruição.
-
Clique em Ações e em Desativar.
-
Na caixa de diálogo de confirmação, clique em Desativar as versões selecionadas.
gcloud
Antes de usar os dados do comando abaixo, faça estas substituições:
- SECRET_VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
- SECRET_ID: o ID do secret
- LOCATION: o Cloud de Confiance by S3NS local do secret
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions disable SECRET_VERSION_ID --secret=SECRET_ID --location=LOCATION
A resposta contém a versão desativada do secret.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION: o Cloud de Confiance by S3NS local do secret
- PROJECT_ID: o Cloud de Confiance by S3NS ID do projeto
- SECRET_ID: o ID do secret
- VERSION_ID: o ID da versão ou o identificador totalmente qualificado dela.
Método HTTP e URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:disable
Corpo JSON da solicitação:
{}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json e execute o comando abaixo:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:disable"
PowerShell
Salve o corpo da solicitação em um arquivo com
o nome request.json e execute o comando abaixo:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:disable" | Select-Object -Expand Content
Você receberá uma resposta JSON semelhante a esta:
{
"name": "projects/PROJECT_ID/secrets/SECRET_ID/versions/VERSION_ID",
"createTime": "2024-09-04T06:41:57.859674Z",
"state": "DISABLED",
"etag": "\"1621457b3c1459\""
}
A seguir
- Saiba como garantir a integridade de dados.
- Saiba mais sobre as práticas recomendadas.