Referencias cloud
Una referencia es una entrada del vault que contiene un puntero a un valor que vive en un gestor de secretos cloud — no el valor en sí. kovra lo resuelve en tiempo de ejecución, bajo la propia identidad cloud, y nunca copia el texto plano al vault. Hoy se incluyen dos proveedores:
- Azure Key Vault —
azure-kv://<vault-name>/<secret-name> - AWS Secrets Manager —
aws-sm://<region>/<secret-name>(el nombre puede contener/)
Agregar una referencia
Sección titulada «Agregar una referencia»kovra add --reference almacena el puntero. No hay valor que pedir:
~ % kovra add secret:dev/db/url --reference 'azure-kv://my-keyvault/db-url'Added dev/db/url (Medium).En un listado, una referencia muestra un modo de reference y su puntero
en lugar de un fingerprint — así se ve exactamente dónde resuelve, sin ningún valor
en pantalla:
~ % kovra list┌────────┬──────────────┬─────────────┬───────────┬───────────────────────────────────────────────┐│ ORIGIN ┆ COORDINATE ┆ SENSITIVITY ┆ MODE ┆ FINGERPRINT │╞════════╪══════════════╪═════════════╪═══════════╪═══════════════════════════════════════════════╡│ global ┆ dev/db/url ┆ medium ┆ reference ┆ → azure-kv://my-keyvault/db-url │├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤│ global ┆ prod/app/jwt ┆ high ┆ reference ┆ → aws-sm://us-east-1/prod/app/jwt-signing-key │└────────┴──────────────┴─────────────┴───────────┴───────────────────────────────────────────────┘Una referencia prod igual nace high — el piso de entorno aplica al puntero
tal como aplicaría a un literal.
Se revisa al guardarla
Sección titulada «Se revisa al guardarla»kovra revisa la forma del puntero antes de guardarlo — con kovra add --reference, kovra edit --reference y el edit_metadata de un agente. Un
puntero que kovra run rechazaría (sin <scheme>://, de un proveedor que kovra no
tiene, con un vault, una región o un nombre mal formados) se rechaza en ese
momento, con el mismo mensaje que daría run, y no se escribe nada:
~ % kovra add secret:dev/db/url --reference 'my-keyvault/db-url'Error: provider error: reference `my-keyvault/db-url` is malformed: expected `<scheme>://…`Al reapuntar una referencia high, la revisión va antes del pedido de
aprobación, así que nunca se le pide aprobar un cambio que después fallaría. Solo se
revisa la forma — kovra no consulta la nube para hacerlo —, así que un secreto que
no existe, o que usted no puede leer, sigue apareciendo cuando la referencia se
resuelve. Los nombres que genera AWS, como los de RDS rds!db-<uuid> y
rds!cluster-<uuid>, son válidos.
Cómo resuelve una referencia
Sección titulada «Cómo resuelve una referencia»Cuando una coordenada referenciada se inyecta (vía kovra run
o un agente), kovra llama al proveedor con las credenciales propias y transmite el
valor directamente al proceso hijo — nunca se escribe en el vault, en un archivo
ni en el contexto. La misma decisión de política gobierna
la entrega; la única diferencia respecto de un literal es de dónde vienen los
bytes.
Una referencia se resuelve con la sensibilidad más estricta que tenga cualquier referencia
al mismo secreto del proveedor, en cualquier bóveda: una referencia low creada junto a una
high no puede leer su valor sin la aprobación que pide la high. Las URI del proveedor se
comparan como lo hace el proveedor — el esquema y los nombres de Azure sin distinguir
mayúsculas, la región de AWS en minúsculas.
Esto mantiene la fuente de verdad en el gestor de secretos cloud y a la vez ofrece un único espacio de nombres de coordenadas, una única política y un único rastro de auditoría sobre secretos literales y respaldados en cloud.
Referencia vs. importación
Sección titulada «Referencia vs. importación»Una referencia se mantiene viva — siempre resuelve el valor cloud vigente. Si en cambio se quiere una copia única capturada en el vault (sin vínculo continuo con la fuente), ver Importar desde 1Password.