wiki-js/DevOps/Hashicorp-Vault/vault-policy.md

3.7 KiB
Raw Blame History

title description published date tags editor dateCreated
Политики vault true 2024-07-17T10:13:17.528Z vault, policy markdown 2024-07-09T14:09:25.393Z

Vault policy

https://www.vaultproject.io/docs/concepts/policies.html По-умолчанию, применяется модель «Все что не разрешено, то запрещено», то есть для доступа пользователей или группы над явно прописывать доступы к нужным SecretEngine либо на более глубокий уровень.

Выдача доступа к SecretEngine строится по логике

  • Создаем политику и определяем уровни доступа
  • Подключаем пользователя или группу к политике

Проверить текущие политики

vault policy list

Чтение содержимого политики

vault policy read app-policy

Создание политики Удобнее политику создавать через GUI, чем через консоль и файл.
Пример политики

path "examplestorage/" {
  capabilities = ["create", "read", "list"]
}
path "examplestorage/hello" {
  capabilities = ["read", "list"]
}
path "examplestorage/ansible/*"
{
  capabilities = ["create", "read", "update", "delete", "list", "sudo"]
}

Подключение политики к пользователю
Политику можно назначить, в момент создания пользователя — за это отвечает ключ -policy=policy_name

Либо подключить к уже созданному, например пользователю vasy, который входит по логину и паролю, мы подключаем политику «my-policy«

ВАЖНО: Tсли мы хотим назначить сразу несколько политик, надо их все перечислить через запятую, иначе my-policy перезатрет все остальные политики

vault write auth/userpass/users/vasy policies="my-policy"

Несколько политик:

vault write auth/userpass/users/vasy policies="my-policy","policy2"

Подключение политики к LDAP группе

vault write auth/ldap/groups/ldap-group-name policies="example-policy"

Узнать какие политики назначены на пользователя
Например пользователю vasy, который входит по логину и паролю

vault read auth/userpass/users/vasy

Узнать какие политики назначены на LDAP группу

vault read auth/ldap/groups/groupname

Узнать какие политики назначены на пользователя при входе
Видно в выводе при входе

vault login -method=ldap username=username
Password (will be hidden):
Success! You are now authenticated. The token information displayed below
is already stored in the token helper. You do NOT need to run "vault login"
again. Future Vault requests will automatically use this token.
 
Key                    Value
---                    -----
token                  s.bwcvQFpodcXWrRiOYxLO80RI
token_accessor         6Ypav42huMYvQfccWYK6CNH0
token_duration         10h
token_renewable        true
token_policies         ["default" "example-policy"]
identity_policies      []
policies               ["default" "example-policy"]
token_meta_username    username