API7 Enterprise v3.2.16: Proveedores de Secretos Integrados
October 10, 2024
En API7 Enterprise, es posible almacenar una gran cantidad de información sensible, como certificados SSL y claves privadas, nombres de usuario y contraseñas de credenciales de autenticación de consumidores, y la información requerida por ciertos plugins para conectarse a sistemas externos.
El concepto de "Proveedores de Secretos" se introdujo en API7 Enterprise v3.2.16. Ahora, podemos agregar fácilmente recursos de proveedores de secretos para integrarnos con administradores de secretos de terceros, como HashiCorp Vault, AWS Secrets Manager y GCP Secret Manager, y referenciar la información sensible almacenada externamente en API7 utilizando variables. El formato de referencia es el siguiente:
$secret://$manager/$id/$secret_name/$key
¿Cómo usar los Proveedores de Secretos?
Agregar un Proveedor de Secretos
En el menú de Grupos de Gateway, se ha agregado una nueva opción llamada "Proveedor de Secretos". Haz clic en el botón para acceder a la página de lista de proveedores de secretos. Luego, haz clic en el botón "Agregar Proveedor de Secretos" en la esquina superior derecha de la página.
En la ventana emergente, completa la información básica sobre el proveedor de secretos, selecciona el tipo de servicio de gestión de secretos, por ejemplo, HashiCorp Vault. Luego, proporciona la dirección de acceso al servicio y el token de autenticación para tu configuración de HashiCorp Vault.
Ver un Proveedor de Secretos
Después de la creación, podemos ver los detalles específicos de la configuración y el ejemplo de variable secreta en la página de detalles del proveedor de secretos.
El formato de la variable secreta es: secret://manager/$id/$secret_name/$key
, con los siguientes significados:
- $secret: Un prefijo fijo, no necesita ser reemplazado
- $manager: El servicio de gestión de secretos
- $id: El ID del recurso del proveedor de secretos
- $secret_name: El nombre del secreto en el servicio de gestión de secretos
- $key: La clave correspondiente al secreto en el servicio de gestión de secretos
Por ejemplo, con un ID de proveedor de secretos my-provider
y un tipo de servicio de gestión de secretos HashiCorp Vault, si deseas referenciar un secreto llamado my-secret
con una clave password
, la variable secreta correspondiente sería:
$secret://vault/my-hashicorp-vault/my-secret/password
Actualmente, HashiCorp Vault es compatible como servicio de gestión de secretos. AWS Secrets Manager y GCP Secret Manager estarán disponibles pronto.
Referenciar una Variable Secreta
Una vez creado el proveedor de secretos, puedes referenciar información sensible almacenada externamente en varios recursos en API7 Enterprise a través de variables. Por ejemplo, al agregar credenciales de Autenticación Básica para un consumidor, puedes optar por almacenar información sensible, como contraseñas, en un servicio de gestión de secretos externo y referenciarla en API7 Enterprise, mejorando así la seguridad.
De manera similar, al trabajar con páginas que no son formularios, como el editor de plugins, también podemos ingresar directamente el valor de la variable Secreta como una cadena en cualquier campo que admita la referencia de Secretos.
Ver Relaciones de Referencia
Cuando referenciamos una variable de my-provider
en las credenciales de un consumidor, podemos ver esta relación de referencia en la lista de referencias del proveedor de secretos. Otros recursos referenciados también se mostrarán en esta lista, lo que facilita el seguimiento del uso del proveedor de secretos.
Editar o Eliminar un Proveedor de Secretos
Al editar o eliminar un proveedor de secretos, el sistema verificará las relaciones de referencia para evitar que se referencien variables inválidas en los recursos, lo que podría provocar errores de configuración.
Resumen
Al integrarnos con servicios externos de gestión de secretos, como HashiCorp Vault, API7 Enterprise mejora la conveniencia de referenciar información sensible almacenada externamente en varios recursos. Esta integración reduce los riesgos y costos asociados con la gestión manual de dicha información. De cara al futuro, planeamos admitir más tipos de servicios de gestión de secretos para satisfacer las crecientes necesidades de los usuarios, garantizando tanto la flexibilidad como la seguridad en la gestión de información sensible.