Как получить секреты из внешнего хранилища с помощью aws eks

У меня возникла небольшая проблема с передачей секретов из внешних хранилищ в контейнер aws eks.

Я использую боковой контейнер для ввода секретов в модули.

Я создал секреты по пути ниже,

      vault kv put secrets/mydemo-eks/config username='admin' password='secret'

мой pod yaml, как показано ниже,

      apiVersion: v1
kind: Pod
metadata:
  name: mydemo
  labels:
    app: mydemo
  annotations:
    vault.hashicorp.com/agent-inject: 'true'
    vault.hashicorp.com/agent-inject-status: 'update'
    vault.hashicorp.com/auth-path: 'auth/mydemo-eks'
    vault.hashicorp.com/namespace: 'default'
    vault.hashicorp.com/role: 'mydemo-eks-role'
    vault.hashicorp.com/agent-inject-secret-credentials.txt: 'secrets/data/mydemo-eks/config' 
spec:
  serviceAccountName: mydemo-sa
  containers:
    - name: myapp
      image: nginx:latest
      ports:       
      - containerPort: 80

когда я проверяю журналы в реальном времени,

получая, как показано ниже,

Моя политика хранилища Hashicorp приведена ниже:

      vault policy write mydemo-eks-policy - <<EOF
path "secrets/data/mydemo-eks/config" {
  capabilities = ["read"]
}
EOF

на самом деле секреты уже есть на указанном пути,

Есть идеи....

Есть ли что-то неправильное, что я сделал?

кто-нибудь работал над этим сценарием?

Спасибо

1 ответ

Я изменил политику, как показано ниже:

      vault policy write mydemo-eks-policy - <<EOF
path "secrets/mydemo-eks/config" {
  capabilities = ["read"]
}
EOF

Раньше я использовал типа:

      vault policy write mydemo-eks-policy - <<EOF
path "secrets/data/mydemo-eks/config" {
  capabilities = ["read"]
}
EOF

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