Как получить доступ к секрету хранилища hashi corp в kubernetes

Привет, я добавил секрет в хранилище моей корпорации 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

Это говорит о том, что секрет не найден на соответствующем пути. Может ли кто-нибудь помочь мне получить секрет из хранилища корпорации Хаши. Любая помощь будет оценена по достоинству. Спасибо

Как настроить Tailwind CSS с React.js и Next.js?
Как настроить Tailwind CSS с React.js и Next.js?
Tailwind CSS - единственный фреймворк, который, как я убедился, масштабируется в больших командах. Он легко настраивается, адаптируется к любому...
LeetCode запись решения 2536. Увеличение подматриц на единицу
LeetCode запись решения 2536. Увеличение подматриц на единицу
Увеличение подматриц на единицу - LeetCode
Переключение светлых/темных тем
Переключение светлых/темных тем
В Microsoft Training - Guided Project - Build a simple website with web pages, CSS files and JavaScript files, мы объясняем, как CSS можно...
Отношения "многие ко многим" в Laravel с методами присоединения и отсоединения
Отношения "многие ко многим" в Laravel с методами присоединения и отсоединения
Отношения "многие ко многим" в Laravel могут быть немного сложными, но с помощью Eloquent ORM и его моделей мы можем сделать это с легкостью. В этой...
В PHP
В PHP
В большой кодовой базе с множеством различных компонентов классы, функции и константы могут иметь одинаковые имена. Это может привести к путанице и...
Карта дорог Беладжар PHP Laravel
Карта дорог Беладжар PHP Laravel
Laravel - это PHP-фреймворк, разработанный для облегчения разработки веб-приложений. Laravel предоставляет различные функции, упрощающие разработку...
1
0
103
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку вы получаете разрешение 403, вам необходимо настроить аутентификацию Kubernetes, вы можете настроить аутентификацию на следующем шаге:

  1. Включите метод аутентификации Kubernetes:
vault enable auth kubernetes
  1. Настройте метод аутентификации Kubernetes для использования местоположения API Kubernetes.
vault write auth/kubernetes/config \
  kubernetes_host=https://192.168.99.100:<your TCP port or blank for 443>
  1. Создайте именованную роль:

    vault write auth/kubernetes/role/demo \
                 bound_service_account_names=myapp \
                     bound_service_account_namespaces=default \
                     policies=default \
                 ttl=1h
    
  2. Напишите политику «myapp», которая включает возможность «чтения» секретов по пути.

    vault policy write myapp -path "yourpath"                                                  
    {  capabilities = ["read"] } 
    

Для получения дополнительной информации следуйте Конфигурация . Вот блог, объясняющий использование секретов в kubernetes.

Почему бы не использовать Vault Operator для синхронизации с собственным секретом Kubernetes?

OneCricketeer 04.12.2022 07:22

Другие вопросы по теме