POST | Secret

Prev Next

Criar ou atualizar um secret

Use este endpoint para criar ou atualizar um secret.

Request

POST https://vault_url/iso/sctm/secret

Exemplos de request

{
    "identity": "secret-postman",
    "name": "secret-postman",
    "engine": "Generic",
    "environment": "stage",
    "tags": ["database", "production-readonly"],
    "expiration_date": "",
    "description": "secret created by postman",
    "data": "{{secret}}"
}

É possível, ainda, adicionar credenciais à secret. Para isso, a API utilizará o campo data:{{secret}} conforme mencionado a seguir. Para utilizar esse campo, é necessário utilizar o seguinte script:

{
    "access_keys": [
        {
            "access_key": {
                "type": "aws",
                "fields": {
                    "access_key_id": "********",
                    "access_key_id_label": "AWS_ACCESS_KEY_ID",
                    "secret_access_key": "********",
                    "secret_access_key_label": "AWS_SECRET_ACCESS_KEY"
                }
            }
        }
    ],
    "credentials": [
        {
            "credential": {
                "fields": {
                    "user": "cred_a",
                    "user_label": "USERNAME",
                    "host": "aws.amazon.com",
                    "host_label": "HOSTNAME",
                    "password": "********",
                    "password_label": "PASSWORD",
                    "additional_information": "mongodb://api-server/auth",
                    "additional_information_label": "CONNECTION_STRING"
                }
            }
        },
        {
            "credential": {
                "fields": {
                    "user": "an_username",
                    "user_label": "USERNAME",
                    "host": "an_ip",
                    "host_label": "HOSTNAME",
                    "password": "********",
                    "password_label": "PASSWORD",
                    "additional_information": "the_additional_info"
                }
            }
        }
    ]
}

Este script deve ser utilizado no campo “scripts” dentro do Postman de outro cliente de API que você esteja usando.

Parâmetros para a request

Campo Tipo Descrição
name String Nome do secret.
identity String Identidade do secret.
expiration_date Date/time A data de desativação do secret.
description String Descrição do secret.
engine String A engine do secret, deve ser uma engine válida registrada no Segura®.
renew_cloud_time Integer Tempo para renovar as chaves de acesso à nuvem em minutos. Se omitido, desabilita a renovação automática.
renew_credential_time Integer Tempo para renovar as credenciais em minutos. Se omitido, desabilita a renovação automática.
renew_ephemeral_credential_time Integer Tempo para renovar as credenciais efêmeras em minutos. Se omitido, desabilita a renovação automática.
data String Deve ser um .json codificado em base64 válido.
environment String Opcional. Environment a ser associado ao secret (por exemplo, dev, stage ou prod). Deve corresponder a um environment já registrado no DevOps Secret Manager.
tags Array of strings Opcional. Tags de identificação do secret. Na atualização, o valor enviado sobrescreve totalmente a lista de tags existente.

Exemplo de Resposta

{
    "response": {
        "status": 201,
        "mensagem": "Secret created successfully.",
        "erro": false,
        "cod_erro": 0,
        "message": "Secret created successfully.",
        "error": false,
        "error_code": 0
    },
    "application": {
        "name": "postman",
        "description": "teste",
        "tags": [
            "abc",
            "def",
            "teste"
        ],
        "system": "inetconfig",
        "environment": "stage",
        "secrets": [
            {
                "secret_id": "7",
                "secret_name": "state_secret",
                "identity": "example_2",
                "version": "2",
                "description": "Chamada de API",
                "expiration_date": "2022-08-18 11:10:00",
                "engine": "GitLab",
                "data": [
                    {
                        "AWS_ACCESS_KEY_ID": "********",
                        "AWS_SECRET_ACCESS_KEY": "********",
                        "TTL": ""
                    },
                    {
                        "APP": "Postman",
                        "CONNECTION_STRING": "mongodb://api-server/auth",
                        "DATE": "date",
                        "HOSTNAME": "an_ip",
                        "PASSWORD": "********",
                        "USERNAME": "an_username"
                    }
                ]
            }
        ]
    }
}

Parâmetros para a resposta

Campo Tipo Descrição
name String Nome da aplicação.
description String Descrição da aplicação.
tags String Tags para identificação da aplicação.
system String Sistema do Secret.
environment String Ambiente do Secret.
secret_id Integereger ID do Secret.
secret_name String Nome do Secret.
identity String Identificador do Secret.
version String Versão do Secret.
expiration_date Date/Time Data de expiração do Secret.
engine String Engine do Secret.
data String Valor do Secret.