Métodos DevSecOps
Introdução
O senhasegura DevOps Secret Management (DSM) oferece uma forma rápida e segura de ferramentas e aplicações para solicitar informações confidenciais tais como segredos, credenciais e outros dados sensíveis que são utilizados no ciclo de vida do DevOps.
O objectivo desta seção é fornecer orientação às equipes DevOps que necessitam de integração com o senhasegura para gerir todos os segredos utilizados no seu pipeline.
Nesta seção, serão abordadas as seguintes funções DevOps:
Solicitar um secret para ser usado em um aplicativo
Disponibilizar uma nova credencial para ser utilizada em um pedido
Deprovisionar uma credencial
Método
O serviço web de integração senhasegura possui um método para consultar secrets armazenados na aplicação.
Consultar secret
GET https://vault_url/iso/dapp/application
O método de aplicação consulta todos os segredos ligados a uma autorização de aplicação.
Resposta
Campo | Tipo | Descrição |
---|---|---|
nome | String | Nome da aplicação |
descrição | String | Descrição da aplicação |
tags | String | Tags que identificam a aplicação |
sistema | String | Sistema Secret |
ambiente | String | ambiente secret |
secret _id | Inteiro | ID do secret |
secret_name | String | Nome do secret |
identificador | String | Identificador do secret |
versão | String | Versão do Secret |
expiration_date | Dia/Hora | Data de validade do secret |
motor | String | Secret engine |
valores | String | Valores do Secret |
{
"response": {
"status": 200,
"mensagem": "Application 5",
"erro": false,
"message": "Application 5",
"error": false
},
"application": {
"name": "postman",
"description": null,
"tags": [
""
],
"system": "back",
"environment": "test",
"secrets": [
{
"secret_id": "106",
"secret_name": "application5",
"identity": "application5",
"version": "",
"expiration_date": "",
"engine": "Kubernetes",
"data": [
{
"hostname": "application5_v_test",
"username": "ADMIN_V_USR",
"password": "ADMIN_V_PW",
"additional_information": "ADMIN_V_SCHEMA",
"ip": "app.application.com"
},
{
"access_key_id": "LKU5YC6QWAT487S4KEK",
"secret_access_key": "sack10821du07f9sacfsdaasdf",
"TTL": null
},
{
"my_key_name": "my_key_value",
"my_key_name_2": "my_key_value_2"
}
]
}
]
}
}
Provisão de uma credencial
POST https://vault_url/iso/coe/dapp/provision
Criar um novo segredo de credencial para ser usado em um recipiente.
Parametros
Campo | Tipo | Descrição | Obrig. |
---|---|---|---|
pod_nome | String | Nome da cápsula que irá usar a credencial | Sim |
deploy | String | Nome do deploy que irá usar a credencial | Sim |
namespace | String | Namespace do contentor que irá utilizar a credencial | Sim |
Resposta
Campo | Tipo | Descrição |
---|---|---|
nome | String | Nome da aplicação |
descrição | String | Descrição da aplicação |
tags | String | Tags que identificam a aplicação |
sistema | String | Secret system |
ambiente | String | ambiente secret |
secret_id | Inteiro | ID do secret |
secret_nome | String | Nome secret |
identificador | String | Identificador do secret |
versão | String | Versão do Secret |
expiration_date | Data/Hora | Data de validade do secret |
motor | String | Secret engine |
Valor | String | Valor da secret |
{
"response": {
"status": 200,
"mensagem": "Application 6",
"erro": false
},
"application": {
"name": "runb",
"description": null,
"tags": [
""
],
"system": "senhasegura",
"environment": "lab",
"secrets": [
{
"secret_id": "3",
"secret_name": "secure-demo",
"identity": "secure-demo",
"version": "",
"expiration_date": "",
"engine": "Kubernetes",
"data": {
"APP_VAR1": "fX6v8vh7TADY",
"APP_VAR2": "vlln0XkBNWIk",
"APP_VAR3": "7qWgm1EBFnQb",
"APP_DB_PASSWORD": "4i8Vm0khqTWs",
"APP_SECRET": "GSePWjXyd91K"
}
}
]
}
}
Desprovisionar uma credencial
POST https://vault_url/iso/coe/dapp/deprovision
Remove a credencial a ser utilizada por um container.
Parâmetros
Campo | Tipo | Descrição | Obrig. |
---|---|---|---|
pod_nome | String | Nome da cápsula que irá usar a credencial | Sim |
deploy | String | Nome do deploy que irá usar a credencial | Sim |
namespace | String | Namespace do contentor que usará a credencial | Sim |
secret_id | Inteiro | Secret ID | Sim |