Как использовать токен без root для входа в хранилище при весенней загрузке - PullRequest
1 голос
/ 15 мая 2019

Я использую метод аутентификации токена по умолчанию для хранилища . Также интеграция хранилища с весенним облачным конфигурационным сервером в приложение весенней загрузки. Root-токен имеет доступ суперпользователя, который позволяет читать / записывать секреты для приложения, но мне нужно создать некорневой токен, который только регистрирует в хранилище и не читает / записывает какие-либо секреты. Так что хранилище не применяется и приложение запускается с хранилищем. Когда пользователь хочет использовать хранилище специально, он может предоставить свой собственный токен и получить доступ к секретам.

С политикой по умолчанию, созданным токеном, вход в систему через Vault Cli, но не через приложение весенней загрузки, дает 403 запрещенных. Я создал свою собственную политику, которая включает в себя различные возможности для аутентификационных путей и без секретного пути в нем. Токен, созданный с помощью этой политики, снова успешно регистрируется через cli, но не через код. Если в моей политике я указываю секретный путь с возможностями чтения (только чтение работает), то я могу войти в систему и через код, но тогда секретное чтение включено.

Я просто хочу использовать токен без корневого хранилища в качестве токена для входа. Это достижимо без указания секретного пути в политике хранилища?

1 Ответ

1 голос
/ 15 мая 2019

Это то, что я еще не пробовал , но я работал с r estricting для доступа на чтение для некорневых токенов .

Вы можете создать политику с возможностью deny , как показано ниже:

$cat auth-policy.hcl 
path "secret/*" {
  capabilities = ["deny"]
}


vault policy write client-access auth-policy.hcl                         
Success! Uploaded policy: client-access

Вот различные возможности, определенные для политик Vault - https://www.vaultproject.io/docs/concepts/policies.html#capabilities.

vault token create -policy=client-access -period=768h                                    

Key                Value                                                        
---                -----                                                        
token              *********************                         
token_accessor     *********************                         
token_duration     768h                                                         
token_renewable    true                                                         
token_policies     [client-access default]  

Создает токен, действительный в течение 768 часов, , который по умолчанию является максимальным . Если вы хотите настроить больше времени для новых токенов, настройте max_lease_ttl и default_lease_ttl соответственно в вашем базовом config.hcl

$cat config.hcl
disable_mlock =  true
storage "postgresql" {
    connection_url =  "postgres://vault:vault@postgresql:5432/postgres?sslmode=disable"
}   
listener "tcp" {    
    address =  "0.0.0.0:8200" 
    tls_disable =  1
}
max_lease_ttl = "7200h"
default_lease_ttl = "7200h"

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...