API7 Enterprise v3.2.16: Proveedores de Secretos Integrados

Zhihuang Lin

Zhihuang Lin

October 10, 2024

Products

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.

Agregar Proveedores de Secretos en API7 Enterprise

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.

Detalles del Proveedor de Secretos en API7 Enterprise

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.

Referenciar Proveedores de Secretos en API7 Enterprise

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.

Referenciar Información Secreta al Habilitar Plugins

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.

Referencias 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.

Editar o Eliminar Proveedor de Secretos en API7 Enterprise

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.

Tags: