Compare commits

..

5 Commits

8 changed files with 155 additions and 0 deletions

6
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,6 @@
{
"[hcl]": {
"editor.tabSize": 2,
"editor.insertSpaces": true
}
}

View File

@@ -144,6 +144,12 @@ loki.source.file "vault_audit_log" {
}
```
Check the auditing configuration:
```shell
vault audit list -detailed
```
### Main Vault Configuration
Depending on main Vault state (new or existing), some of the following steps are mutually exclusive.

10
bin/unwrap.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Usage: ./unwrap.sh <VAULT_TOKEN>
# This script unwraps a wrapped secret in HashiCorp Vault using the provided token.
curl -s -X PUT \
-H "X-Vault-Token: $1" \
-H "X-Vault-Request: true" \
-d 'null' \
https://vault.koszewscy.waw.pl/v1/sys/wrapping/unwrap | jq '.data'

10
bin/wrap.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
DEFAULT_TTL="60"
curl \
--header "X-Vault-Token: $VAULT_TOKEN" \
--header "X-Vault-Wrap-TTL: $DEFAULT_TTL" \
--request POST \
--data "$1" \
$VAULT_ADDR/v1/sys/wrapping/wrap | jq

45
policies/README.md Normal file
View File

@@ -0,0 +1,45 @@
# HashiCorp Vault Policies
## Policy Commands
```bash
vault policy list
vault policy read <policy-name>
vault policy write <policy-name> <policy-file.hcl>
vault policy delete <policy-name>
```
Format a policy file using `vault policy fmt <policy-file.hcl>`.
## Auditing
To enable auditing, use the following command:
```bash
vault audit enable file file_path=/var/log/vault_audit.log mode=0640
```
Configure Alloy to read the audit logs from the specified file path.
Add the following configuration to your Alloy setup:
```hcl
loki.source.file "vault_audit_log" {
targets = [
{"__path__" = "/var/log/vault/audit.log", "log_name" = "vault_audit"},
]
forward_to = [loki.write.default.receiver]
}
```
Check auditing configuration with:
```bash
vault audit list -detailed
```
To disable auditing, use:
```bash
vault audit disable file
```

51
policies/admin_policy.hcl Normal file
View File

@@ -0,0 +1,51 @@
# Read system health check
path "sys/health" {
capabilities = ["read", "sudo"]
}
# Create and manage ACL policies broadly across Vault
# List existing policies
path "sys/policies/acl" {
capabilities = ["list"]
}
# Create and manage ACL policies
path "sys/policies/acl/*" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}
# Enable and manage authentication methods broadly across Vault
# Manage auth methods broadly across Vault
path "auth/*" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}
# Create, update, and delete auth methods
path "sys/auth/*" {
capabilities = ["create", "update", "delete", "sudo"]
}
# List auth methods
path "sys/auth" {
capabilities = ["read"]
}
# Enable and manage the key/value secrets engine at `secret/` path
# List, create, update, and delete key/value secrets
# path "secret/*"
# {
# capabilities = ["create", "read", "update", "delete", "list", "sudo"]
# }
# Manage secrets engines
path "sys/mounts/*" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}
# List existing secrets engines.
path "sys/mounts" {
capabilities = ["read"]
}

View File

@@ -0,0 +1,19 @@
# Mount the AppRole auth method
path "sys/auth/approle" {
capabilities = [ "create", "read", "update", "delete", "sudo" ]
}
# Configure the AppRole auth method
path "sys/auth/approle/*" {
capabilities = [ "create", "read", "update", "delete" ]
}
# Create and manage roles
path "auth/approle/*" {
capabilities = [ "create", "read", "update", "delete", "list" ]
}
# Write ACL policies
path "sys/policies/acl/*" {
capabilities = [ "create", "read", "update", "delete", "list" ]
}

View File

@@ -0,0 +1,8 @@
# Add identity admin role to the token
path "identity/*" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}
path "identity/entity/*/name" {
capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}