HashiCorp Vault
24 min
hashicorp vault is an identity based secrets management this connector integrates hashicorp vault api version 1 with swimlane turbine prerequisites hashicorp vault asset requires url and api key for accessing vault api's connector setup obtaining an api token and url launch the https //portal cloud hashicorp com/sign in and login click vault in the left navigation pane in the vault clusters pane, click vault cluster under cluster urls, click public cluster url under quick actions, click generate token to get api key capabilities the hashicorp vault connector provides the following capabilities read secret list secrets create/update secret delete secret action setup create/update secret action navigate to connector action interface click on add property select value type i e string or object etc give key name as per requirement and define its value (note location and path must exist in vault prior creating or updating secret ) notes for more information on api's refer https //developer hashicorp com/vault/api docs/secret/kv/kv v1 for more information on namespace refer https //developer hashicorp com/vault/api docs#namespaces for more information on tokens refer https //developer hashicorp com/vault/tutorials/tokens/tokens#tokens configurations api key authentication authenticates using an api key configuration parameters parameter description type required url a url to the target host string required x vault token api key string required verify ssl verify ssl certificate boolean optional http proxy a proxy to route requests through string optional actions create/update secret creates or updates a secret at the specified location and path if the value does not yet exist it will create a new one the calling token must have acl policy accordingly endpoint url v1/{{location}}/{{path}} method post input argument name type required description path parameters location string required location of the kv secrets engine path parameters path string required the path where the secret is stored headers object required http headers for the request headers x vault namespace string required namespace where the kv secrets engine is created input example {"json body" {"foo1" "bar"},"path parameters" {"location" "kv","path" "my secret"},"headers" {"x vault namespace" "admin"}} output parameter type description status code number http status code of the response reason string response reason phrase response text string output field response text output example {"status code" 204,"response headers" {"cache control" "no store","content type" "application/json","date" "thu, 18 jan 2024 05 16 22 gmt","ngrok trace id" "56648082a69a40dc1420807cd86e6cf7","strict transport security" "max age=31536000; includesubdomains"},"reason" "no content","response text" ""} delete secret deletes the secret at the specified path endpoint url v1/{{location}}/{{path}} method delete input argument name type required description path parameters location string required location of the kv secrets engine path parameters path string required the path where the secret is stored headers object required http headers for the request headers x vault namespace string required namespace where the kv secrets engine is created input example {"path parameters" {"location" "kv","path" "my secret"},"headers" {"x vault namespace" "admin"}} output parameter type description status code number http status code of the response reason string response reason phrase response text string output field response text output example {"status code" 204,"response headers" {"cache control" "no store","content type" "application/json","date" "thu, 18 jan 2024 05 15 16 gmt","ngrok trace id" "f892e0f7159cf129f042c158e43dcf94","strict transport security" "max age=31536000; includesubdomains"},"reason" "no content","response text" ""} list secrets lists key names at the specified path where path being the folder endpoint url v1/{{location}}/{{path}} method list input argument name type required description path parameters location string required location of the kv secrets engine path parameters path string optional parent folder of the secret path headers object required http headers for the request headers x vault namespace string required namespace where the kv secrets engine is created input example {"path parameters" {"location" "kv","path" "my secret"},"headers" {"x vault namespace" "admin"}} output parameter type description status code number http status code of the response reason string response reason phrase request id string unique identifier lease id string unique identifier renewable boolean output field renewable lease duration number output field lease duration data object response data data keys array response data wrap info object output field wrap info warnings object output field warnings auth object output field auth output example {"status code" 200,"response headers" {"cache control" "no store","content length" "195","content type" "application/json","date" "thu, 18 jan 2024 05 18 10 gmt","ngrok trace id" "4bd8b5dd4341002517d87250b6ab4274","strict transport security" "max age=31536000; includesubdomains"},"reason" "ok","json body" {"request id" "c011d417 ce25 3cb8 b9ee 617bfc6c23f3","lease id" "","renewable"\ false,"lease duration" 0,"data" {"keys" \[]},"wrap info"\ null,"warnings"\ null,"auth"\ null}} read secret retrieves the secret at the specified path endpoint url v1/{{location}}/{{path}} method get input argument name type required description path parameters location string required location of the kv secrets engine path parameters path string required the path where the secret is stored headers object required http headers for the request headers x vault namespace string required namespace where the kv secrets engine is created input example {"path parameters" {"location" "kv","path" "my secret"},"headers" {"x vault namespace" "admin"}} output parameter type description status code number http status code of the response reason string response reason phrase request id string unique identifier lease id string unique identifier renewable boolean output field renewable lease duration number output field lease duration data object response data data first string response data wrap info object output field wrap info warnings object output field warnings auth object output field auth output example {"status code" 200,"response headers" {"cache control" "no store","content length" "179","content type" "application/json","date" "thu, 18 jan 2024 05 12 46 gmt","ngrok trace id" "e4e63fad77aa76afa1e3d879b3a442a9","strict transport security" "max age=31536000; includesubdomains"},"reason" "ok","json body" {"request id" "cb9bd138 14ab 1606 d683 d27d64210966","lease id" "","renewable"\ false,"lease duration" 2764800,"data" {"first" "one"},"wrap info"\ null,"warnings"\ null,"auth"\ null}} response headers header description example cache control directives for caching mechanisms no store content length the length of the response body in bytes 195 content type the media type of the resource application/json date the date and time at which the message was originated thu, 18 jan 2024 05 16 22 gmt ngrok trace id http response header ngrok trace id f892e0f7159cf129f042c158e43dcf94 strict transport security http response header strict transport security max age=31536000; includesubdomains