For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/pt/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/pt/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/pt/guides/manage-and-operate/secret-manager/kv2-api.md.

Utilizar o Secret Manager com a API compatível com HashiCorp Vault KV2

Ver como Markdown

Aceder aos segredos do Secret Manager e geri-los com a API compatível com HashiCorp Vault KV2

Objetivo

O objetivo deste manual é apresentar a utilização da API compatível com HashiCorp Vault KV2 para o Secret Manager.

Requisitos

Instruções

Descrição

O Secret Manager é um produto que lhe permite armazenar de forma segura as credenciais, chaves de API, chaves SSH ou qualquer outro tipo de segredo necessário ao funcionamento das suas aplicações.

Um segredo é uma coleção de uma ou várias chaves/valores agrupadas numa versão. Cada modificação de um segredo origina a criação de uma nova versão desse segredo, permitindo recuar no histórico de modificações do segredo.

As API compatíveis com HashiCorp Vault KV2 são um dos dois conjuntos de API oferecidos pelo Secret Manager, juntamente com as API REST. Foram concebidas para serem semelhantes às API HashiCorp Vault, de forma a garantir a compatibilidade com as aplicações já compatíveis com HashiCorp Vault.

Comunicar com o domínio OKMS

A comunicação com o domínio OKMS para as operações de encriptação e assinatura está disponível através da API.

Uma vez que o domínio OKMS é regionalizado, o acesso à API é feito diretamente na região do mesmo: https://my-region.okms.ovh.net.

Por exemplo, para um domínio OKMS criado na região eu-west-rbx: https://eu-west-rbx.okms.ovh.net.

É possível comunicar com o domínio OKMS utilizando:

Autentique-se através de um token de acesso pessoal, uma conta de serviço ou um certificado de acesso. Para a utilização da API compatível com HashiCorp Vault KV2, recomenda-se um token de acesso pessoal (PAT) ou uma conta de serviço.

Para testar as chamadas à API de forma interativa, utilize a interface Swagger OKMS no endereço https://<region>.okms.ovh.net/swagger/.

Criar um segredo

Para criar um segredo, é possível utilizar a seguinte API:

MétodoCaminhoDescrição
POST/api/{okmsId}/v1/secret/data/{path}Criar um segredo

O caminho do segredo deve ser indicado no caminho da API.

A API espera os seguintes valores:

CampoValorDescrição
dataJsonConteúdo do segredo. É possível ter JSON aninhados
casInteger(opcional) Versão atual do segredo

Por exemplo:

{
  "data": {
      "login": "admin",
      "password": "my_secret_password",
      "address": {
        "ip": "1.1.1.1"
      },
      "ports": [
        "30",
        "31"
      ]
  },
  "options": {
      "cas": 0
  }
}

Também é possível adicionar metadados ao segredo através da API:

MétodoCaminhoDescrição
POST/api/{okmsId}/v1/secret/metadata/{path}Atualizar os metadados de um segredo

A API espera os seguintes valores:

CampoValorDescrição
cas_requiredbooleanoSe ativado, é necessário indicar sistematicamente o número da versão atual ao efetuar modificações
custom_metadataJsonDados complementares associados ao segredo. Estes dados não são protegidos pelo segredo
deactivate_version_afterDuration StringPeríodo após o qual as versões são desativadas
max_versionsIntegerNúmero máximo de versões do segredo

Por exemplo:

{
  "cas_required": true,
  "custom_metadata": {
    "project": "A",
    "team": "X"
  },
  "deactivate_version_after": "10h30m10s",
  "max_versions": 5
}

Gerir os segredos

Atualizar os metadados e a configuração

Uma vez criado o segredo, é possível atualizar os metadados do segredo, bem como a sua configuração.

MétodoCaminhoDescrição
PATCH/api/{okmsId}/v1/secret/metadata/{path}Atualizar os metadados de um segredo

A API espera os seguintes valores:

CampoValorDescrição
cas_requiredbooleanoSe ativado, é necessário indicar sistematicamente o número da versão atual ao efetuar modificações
custom_metadataJsonDados complementares associados ao segredo. Estes dados não são protegidos pelo segredo
deactivate_version_afterDuration StringPeríodo após o qual as versões são desativadas
max_versionsIntegerNúmero máximo de versões do segredo

Também é possível alterar a configuração predefinida do domínio OKMS para os valores cas_required, deactivate_version_after e max_versions através da API:

MétodoCaminhoDescrição
POST/api/{okmsId}/v1/secret/configConfigurar a configuração predefinida do domínio OKMS

Criar uma nova versão

Também é possível modificar o conteúdo do segredo, o que implica a criação de uma nova versão para esse segredo. As novas versões podem ser criadas através da API:

MétodoCaminhoDescrição
PATCH/api/{okmsId}/v1/secret/data/{path}Atualizar um segredo

Um segredo pode conter tantas versões quantas as desejadas, dentro do limite máximo do parâmetro max_versions. Se o número máximo de versões for atingido, a versão mais antiga é automaticamente eliminada.

Gerir as versões

É possível gerir as diferentes versões do segredo através de várias API:

MétodoCaminhoDescrição
POST/api/{okmsId}/v1/secret/delete/{path}Desativa as versões especificadas do segredo
DELETE/api/{okmsId}/v1/secret/data/{path}Desativa a última versão do segredo

As versões desativadas de um segredo continuam presentes no Secret Manager, mas o seu conteúdo já não está acessível.

É possível reativar uma versão através da API:

MétodoCaminhoDescrição
POST/api/{okmsId}/v1/secret/undelete/{path}Reativa as versões especificadas do segredo

Por fim, é possível eliminar definitivamente uma versão através da API:

MétodoCaminhoDescrição
PUT/api/{okmsId}/v1/secret/destroy/{path}Elimina as versões especificadas do segredo

Também é possível eliminar definitivamente a totalidade do segredo com todas as suas versões:

MétodoCaminhoDescrição
DELETE/api/{okmsId}/v1/secret/metadata/{path}Elimina o segredo e as suas versões
Warning

Uma versão eliminada já não está presente no Secret Manager e não pode voltar a ser reativada.

Quer saber mais?

Métodos de autenticação OKMS

Fale com a nossa comunidade de utilizadores.

Esta página foi útil?