Vault: Difference between revisions
Jump to navigation
Jump to search
| Line 278: | Line 278: | ||
|- | |- | ||
|valign='top' style='width:50%'| | |valign='top' style='width:50%'| | ||
<syntaxhighlight lang='bash'> | |||
echo -n 'Password: ';read -s VAULT_PASSWORD;export VAULT_PASSWORD;echo | |||
echo "${VAULT_PASSWORD}" | |||
</syntaxhighlight> | |||
'''Password:''' sadaqah! | |||
<syntaxhighlight lang='sql'> | |||
cat << DDL | sudo -i -u root mariadb | |||
CREATE DATABASE IF NOT EXISTS shahed_ab_vault; | |||
CREATE USER 'shahed_ab_vault'@'%' IDENTIFIED BY '${VAULT_PASSWORD}'; | |||
GRANT ALL PRIVILEGES ON shahed_ab_vault.* TO 'shahed_ab_vault'@'%'; | |||
FLUSH PRIVILEGES; | |||
DDL | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
|- | |||
|valign='top' colspan='2'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
MariaDB » Setup | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
vault write database/config/shahed-ab-mariadb \ | |||
plugin_name='mysql-database-plugin' allowed_roles='shahed-ab-mariadb-academia' \ | |||
connection_url="{{username}}:{{password}}@tcp(192.168.49.1:3306)/" \ | |||
username='shahed_ab_vault' password='sadaqah!' | |||
vault read database/config/shahed-ab-mariadb | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |valign='top' style='width:50%'| | ||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
vault write database/roles/shahed-ab-mariadb-academia db_name="shahed-ab-mariadb" \ | |||
creation_statements="CREATE USER '{{name}}'@'%' IDENTIFIED BY '{{password}}';GRANT SELECT ON *.* TO '{{name}}'@'%';" \ | |||
default_ttl='1h' max_ttl='24h' | |||
vault read database/roles/shahed-ab-mariadb-academia | |||
vault read database/creds/shahed-ab-mariadb-academia | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
vault read database/config/shahed-ab-mariadb | |||
vault read database/roles/shahed-ab-mariadb-academia | |||
vault read database/creds/shahed-ab-mariadb-academia | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
vault lease lookup database/creds/shahed-ab-mariadb-academia/ID | |||
vault lease renew database/creds/shahed-ab-mariadb-academia/ID | |||
vault lease revoke database/creds/shahed-ab-mariadb-academia/ID | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
vault delete database/roles/shahed-ab-mariadb-academia | |||
vault delete database/config/shahed-ab-mariadb | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|} | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
MariaDB » Static | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
vault write database/config/shahed-ab-mariadb \ | |||
plugin_name='mysql-database-plugin' allowed_roles='shahed-ab-mariadb-academia' \ | |||
connection_url="{{username}}:{{password}}@tcp(192.168.49.1:3306)/" \ | |||
root_rotation_statements="SET PASSWORD = PASSWORD('{{password}}')" \ | |||
username='shahed_ab_vault' password='sadaqah!' | |||
vault read database/config/shahed-ab-mariadb | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
vault write database/roles/shahed-ab-mariadb-academia db_name="shahed-ab-mariadb" \ | |||
creation_statements="Q1JFQVRFIFVTRVIgJ3t7bmFtZX19J0AnJScgSURFTlRJRklFRCBCWSAne3twYXNzd29yZH19JzsgR1JBTlQgU0VMRUNUIE9OIGBzaGFoZWRfYWJfdmF1bHRgLiogVE8gJ3t7bmFtZX19J0AnJSc7" \ | |||
default_ttl='1h' max_ttl='24h' | |||
vault read database/roles/shahed-ab-mariadb-academia | |||
vault read database/creds/shahed-ab-mariadb-academia | |||
</syntaxhighlight> | |||
|} | |||
|} | |} | ||
{|class='wikitable mw-collapsible mw-collapsed' | {|class='wikitable mw-collapsible mw-collapsed' | ||
Revision as of 08:05, 21 January 2026
curl -fsSL https://apt.releases.hashicorp.com/gpg\
| sudo tee /etc/apt/keyrings/hashicorp.asc >/dev/null
DISTRIBUTION=$(. /etc/os-release && echo "${VERSION_CODENAME}")
cat << SRC | sudo tee /etc/apt/sources.list.d/hashicorp.list >/dev/null
deb [arch=$(dpkg --print-architecture)\
signed-by=/etc/apt/keyrings/hashicorp.asc]\
https://apt.releases.hashicorp.com ${DISTRIBUTION} main
SRC
|
cat <<'EXE' | sudo bash
apt-get update && apt-get install -y vault
systemctl disable --now vault.service
systemctl stop vault.service
systemctl mask vault.service
systemctl status vault.service
vault version
which vault
EXE
|
export VAULT_TOKEN='hvs.40aTe1S58DWIstRk4bHPgESg'
export VAULT_ADDR='https://vault.shahed.biz.ops'
vault status
|
export VAULT_SKIP_VERIFY=true
export VAULT_FORMAT=yaml
vault login
|
Auth
|
Auth | |||||
|---|---|---|---|---|---|
# Enabled userpass auth method
vault auth enable userpass
|
|||||
| |||||
Engine » KV
|
Engine » KV | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
Engine » DB
|
Engine » DB | |||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
# Enabled the database secrets engine
vault secrets enable database
|
|||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||
Token » Init
|
Token » Init | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Playground
|
Playground | |
|---|---|
echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 40)"
echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 20)"
echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 16)"
echo "$(cat /dev/urandom|tr -dc 'A-Za-z0-9'|head -c 8)"
|
vault auth list
vault audit list
vault policy list
vault secrets list
|
vault operator init -key-shares=5 -key-threshold=3
vault token lookup
vault status
|
vault operator unseal '/bvRmLPLF8MnfOQQWrhdqAmLBSKfNtSSkcyWY/uXZ0+F'
vault operator unseal 'Jh5mA+DwX/zlU+3jvxlgNarSzAOBRHvNcF3QOoGtzl/h'
vault operator unseal 'DqUWoe6MN6oDKi3bYoZuXSbT0ZpT0/Pbg0kpTkhkUfVP'
|
# self destructive or dangerous
vault token revoke -self
|
|
References
|
References | ||
|---|---|---|