POST | Perfis

Prev Next

POST | Criar ou editar um perfil de publicação Apache

Cria ou edita um perfil de publicação para um plugin Apache.

  • Endpoint: /api/v1/publication-profiles/apache
  • Método: POST
  • Requisição: POST /api/v1/publication-profiles/apache

Parâmetros da requisição

Parâmetro Tipo Obrigatório Descrição
code_profile Int Não Código de perfil existente. Um novo perfil será criado caso não exista um.
name_profile String Sim Nome do perfil.
site String Não Site onde o certificado deve ser instalado. Se não for informado, o certificado será instalado no site padrão do Apache.
config_path String Não Caminho do arquivo de configuração. Padrão: /etc/apache2/sites-available/default.com.conf
port Int Não Porta. Padrão: 443.
code_credential Int Condicional Código da credencial a ser usado na publicação. Obrigatório se o username não for fornecido.
username String Condicional Nome de usuário utilizado para localizar credenciais para publicação. Obrigatório se o code_credential não for fornecido.
devices Array Sim Array com códigos de dispositivos onde o certificado deve ser publicado.

Exemplo utilizando cURL

curl -X POST https://[segura_vault_url]/api/v1/publication-profiles/apache \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name_profile": "Web Servers - Production",
    "site": "api.example.com",
    "config_path": "/etc/apache2/sites-available/api.example.com.conf",
    "port": 443,
    "username": "admin",
    "devices": [101, 102, 103]
  }'

Resposta

{
  "status": 200,
  "message": "Profile created successfully",
  "error": false,
  "code_profile": 22,
  "name_profile": "Web Servers - Production",
  "site": "api.example.com",
  "config_path": "/etc/apache2/sites-available/api.example.com.conf",
  "port": 443,
  "username": "admin",
  "devices": [101, 102, 103]
}

Criar ou editar um perfil de publicação F5 BigIP

Cria ou edita um perfil de publicação F5 BigIP.

  • Endpoint: /api/v1/publication-profiles/f5-bigip
  • Método: POST
  • Requisição: POST /api/v1/publication-profiles/f5-bigip

Parâmetros da requisição

Parâmetro Tipo Obrigatório Descrição
code_profile Int Não Código de perfil existente. Um novo perfil será criado caso não exista um.
name_profile String Sim Nome do perfil.
name_partition String Não Nome da partição.
name_cert String Não Nome do certificado. Se um certificado com o mesmo nome existir, ele será substituído durante a publicação.
profile_client_vips Array Não Array de perfis de cliente SSL e seus VIPs.
profile_server_vips Array Não Array de perfis de servidor SSL e seus VIPs.
code_credential Int Condicional Código da credencial a ser usado na publicação. Obrigatório se o username não for fornecido.
username String Condicional Nome de usuário utilizado para localizar credenciais para publicação. Obrigatório se o code_credential não for fornecido.
devices Array Sim Array com códigos de dispositivos onde o certificado deve ser publicado.

Exemplo utilizando cURL

curl -X POST https://[segura_vault_url]/api/v1/publication-profiles/f5-bigip \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name_profile": "Load Balancers",
    "name_partition": "Common",
    "name_cert": "api_cert",
    "profile_client_vips": [
      {
        "profile": "clientssl_profile",
        "vips": ["vip1", "vip2"]
      }
    ],
    "username": "admin",
    "devices": [301, 302]
  }'

Resposta

{
  "status": 200,
  "message": "Profile created successfully",
  "error": false,
  "code_profile": 41,
  "name_profile": "Load Balancers",
  "name_partition": "Common",
  "name_cert": "api_cert",
  "profile_client_vips": [
    {
      "profile": "clientssl_profile",
      "vips": ["vip1", "vip2"]
    }
  ],
  "username": "admin",
  "devices": [301, 302]
}

Criar ou editar um perfil de publicação WebSphere WAS

Cria ou edita um perfil de publicação WebSphere WAS.

  • Endpoint: /api/v1/publication-profiles/websphere-was
  • Método: POST
  • Requisição: POST /api/v1/publication-profiles/websphere-was

Parâmetros da requisição

Parâmetro Tipo Obrigatório Descrição
code_profile Int Não Código de perfil existente. Um novo perfil será criado caso não exista um.
name_profile String Sim Nome do perfil.
key_db_path String Sim Endereço e nome do banco de dados das chaves.
key_db_password String Sim Senha do servidor.
label String Sim Rótulo do servidor.
code_credential Int Condicional Código da credencial a ser usado na publicação. Obrigatório se o username não for fornecido.
username String Condicional Nome de usuário utilizado para localizar credenciais para publicação. Obrigatório se o code_credential não for fornecido.
devices Array Sim Array com códigos de dispositivos onde o certificado deve ser publicado.

Exemplo utilizando cURL

curl -X POST https://[segura_vault_url]/api/v1/publication-profiles/websphere-was \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name_profile": "Application Servers",
    "key_db_path": "/opt/IBM/WebSphere/AppServer/etc/key.kdb",
    "key_db_password": "password123",
    "label": "DefaultCert",
    "username": "wasadmin",
    "devices": [401, 402]
  }'

Resposta

{
  "status": 200,
  "message": "Profile created successfully",
  "error": false,
  "code_profile": 53,
  "name_profile": "Application Servers",
  "key_db_path": "/opt/IBM/WebSphere/AppServer/etc/key.kdb",
  "key_db_password": "********",
  "label": "DefaultCert",
  "username": "wasadmin",
  "devices": [401, 402]
}

Criar ou editar perfil de publicação IIS

Cria ou edita um perfil de publicação IIS.

  • Endpoint: /api/v1/publication-profiles/iis
  • Método: POST
  • Requisição: POST /api/v1/publication-profiles/iis

Parâmetros da requisição

Parâmetro Tipo Obrigatório Descrição
code_profile Int Não Código de perfil existente. Um novo perfil será criado caso não exista um.
name_profile String Sim Nome do perfil.
site String Não Site onde o certificado deve ser instalado. Se não for informado, o certificado será instalado no site padrão do IIS.
cert_store String Não Repositório de gerenciamento de certificados do IIS. Padrão: MY.
port Int Não Porta. Padrão: 443.
code_credential Int Condicional Código da credencial a ser usado na publicação. Obrigatório se o username não for fornecido.
username String Condicional Nome de usuário utilizado para localizar credenciais para publicação. Obrigatório se o code_credential não for fornecido.
devices Array Sim Array com códigos de dispositivos onde o certificado deve ser publicado.

Exemplo utilizando cURL

curl -X POST https://[segura_vault_url]/api/v1/publication-profiles/iis \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name_profile": "Windows Servers",
    "site": "intranet.example.com",
    "cert_store": "MY",
    "port": 443,
    "code_credential": 15,
    "devices": [201, 202]
  }'

Resposta

{
  "status": 200,
  "message": "Profile created successfully",
  "error": false,
  "code_profile": 35,
  "name_profile": "Windows Servers",
  "site": "intranet.example.com",
  "cert_store": "MY",
  "port": 443,
  "code_credential": 15,
  "devices": [201, 202]
}

Criar ou editar um perfil de publicação Kubernetes

Cria ou edita um perfil de publicação Kubernetes.

  • Endpoint: /api/certificate/profile/kubernetes
  • Método: POST
  • Requisição: POST /api/certificate/profile/kubernetes

Parâmetros da requisição

Parâmetro Tipo Obrigatório Descrição
code_profile Int Não Código de perfil existente. Um novo perfil será criado caso não exista um.
name_profile String Sim Nome do perfil.
code_credential int Condicional O código da credencial a ser usado para a publicação. Uma credencial previamente cadastrada será utilizada. Obrigatório se um username não for fornecido.
username string Condicional username para localizar credenciais para a publicação. Obrigatório se um code_credential for fornecido.
devices array Sim Array com os códigos dos dispositivos onde o certificado deve ser publicado.
secrets array Não Array de objetos com names e namespaces dos secrets a serem criados ou atualizados nos respectivos namespaces. Cada item deve ter um name e namespace.
auto_redeploy array Não O sistema contém um array de objetos e redeploy automático. Cada objeto deve especificar um resource_type Kubernetes válido junto com name e namespace.

Exemplo utilizando cURL

curl -X POST \
  https://[segura_vault_url]/api/certificate/profile/kubernetes \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer [seu-token]' \
  -d '{
    "name_profile": "teste",
    "code_credential": 1,
    "devices": [1],
    "secrets": [
      {
        "name": "teste",
        "namespace": "teste"
      }
    ],
    "auto_redeploy": [
      {
        "resource_type": "Deployment",
        "name": "teste",
        "namespace": "teste"
      }
    ]
  }

Resposta

{
  "name_profile": "teste",
  "code_credential": 1,
  "devices": [
    1
  ],
  "secrets": [
    {
      "name": "teste",
      "namespace": "teste"
    }
  ],
  "auto_redeploy": [
    {
      "resource_type": "Deployment",
      "name": "teste",
      "namespace": "teste"
    }
  ]
}