Привет, я добавил секрет в хранилище моей корпорации hashi по указанному ниже пути.
Cep-kv/dev/sqlpassword
Я пытаюсь получить доступ к секрету в своем манифесте, как показано ниже.
spec:
serviceAccountName: default
containers: # List
- name: cep-container
image: myinage:latest
env:
- name: AppSettings__Key
value: vault:cep-kv/dev/sqlpassword#sqlpassword
Это выдает ошибку ниже
failed to inject secrets from vault: failed to read secret from path: cep-kv/dev/sqlpassword: Error making API request.\n\nURL: GET https://vaultnet/v1/cep-kv/dev/sqlpassword?version=-1\nCode: 403. Errors:\n\n* 1 error occurred:\n\t* permission denied\n\n" app=vault-env
Является ли путь, к которому я пытаюсь получить доступ, правильным значением:
хранилище: cep-kv/dev/sqlpassword#sqlpassword
Я тоже пробовал с указанным ниже путем
value: vault:cep-kv/dev/sqlpassword
Это говорит о том, что секрет не найден на соответствующем пути. Может ли кто-нибудь помочь мне получить секрет из хранилища корпорации Хаши. Любая помощь будет оценена по достоинству. Спасибо
Поскольку вы получаете разрешение 403, вам необходимо настроить аутентификацию Kubernetes, вы можете настроить аутентификацию на следующем шаге:
vault enable auth kubernetes
vault write auth/kubernetes/config \
kubernetes_host=https://192.168.99.100:<your TCP port or blank for 443>
Создайте именованную роль:
vault write auth/kubernetes/role/demo \
bound_service_account_names=myapp \
bound_service_account_namespaces=default \
policies=default \
ttl=1h
Напишите политику «myapp», которая включает возможность «чтения» секретов по пути.
vault policy write myapp -path "yourpath"
{ capabilities = ["read"] }
Для получения дополнительной информации следуйте Конфигурация . Вот блог, объясняющий использование секретов в kubernetes.
Почему бы не использовать Vault Operator для синхронизации с собственным секретом Kubernetes?