BLOG | NGINX

Uso de la CLI de 1Password para crear de forma segura contenedores NGINX Plus

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Cody Green
Cody Green
Publicado el 29 de agosto de 2023

Si es un usuario habitual de F5 NGINX Plus , es probable que esté creando contenedores para probar nuevas características o funcionalidades. Y al crear contenedores NGINX Plus, a menudo se termina almacenando información confidencial, como el certificado y la clave del repositorio NGINX, en el sistema de archivos local. Si bien es sencillo agregar archivos confidenciales a un archivo de repositorio .gitignore , ese proceso no es ideal ni seguro; de hecho, hay muchos ejemplos en los que los ingenieros envían accidentalmente información confidencial a un repositorio.

Un método mejor es utilizar una solución de gestión de secretos. Personalmente, soy fanático de 1Password desde hace mucho tiempo y recientemente descubrí su herramienta CLI . Esta herramienta facilita que los desarrolladores e ingenieros de plataformas interactúen con los secretos en su flujo de trabajo diario.

En esta publicación de blog, describimos cómo usar la CLI de 1Password para crear de forma segura un contenedor NGINX Plus. Este ejemplo supone que tiene una suscripción a NGINX Plus , una suscripción a 1Password con la herramienta CLI instalada , acceso a un entorno con un shell (Bash o Zsh) y Docker instalado.

Almacenar secretos en 1Password

El primer paso es almacenar sus secretos en 1Password, que admite múltiples tipos de secretos, como credenciales de API, archivos, notas y contraseñas. En este caso de uso de NGINX Plus, aprovechamos la función de archivos seguros de 1Password.

Puede obtener su certificado y clave del repositorio NGINX desde el portal MyF5 . Siga la documentación de 1Password para crear un documento seguro tanto para el certificado como para la clave del repositorio NGINX. Una vez que haya creado los dos documentos seguros, siga los pasos para recopilar la referencia secreta de 1Password .

Nota : Al momento de escribir este artículo, 1Password no admite varios archivos en el mismo registro.

Construya el contenedor NGINX Plus

Ahora es el momento de construir el contenedor NGINX Plus que aprovecha sus archivos seguros y sus identificadores uniformes de recursos (URI) de referencia secretos. Este paso utiliza el Dockerfile de ejemplo de la Guía de administración de NGINX Plus .

Preparar el proceso de compilación de Docker

Después de guardar el Dockerfile en un nuevo directorio, prepare el proceso de compilación de Docker . Para pasar sus secretos de 1Password a la compilación de Docker , primero almacene cada URI de referencia secreta en una variable de entorno. Luego, abre una nueva terminal Bash en el directorio donde guardaste tu Dockerfile.

Introduzca estos comandos en la terminal Bash:

exportar NGINX_CRT="op://Trabajo/nginx-repo-crt/nginx-repo.crt"exportar NGINX_KEY="op://Trabajo/nginx-repo-key/nginx-repo.key"

Reemplazar las URI de referencia secreta

El comando op run permite que la CLI de 1Password reemplace los URI de referencia secretos en las variables de entorno con el valor del secreto. Puede aprovechar esto en su comando de compilación de Docker para pasar el certificado y la clave del repositorio NGINX al contenedor de compilación.

Para terminar de construir su contenedor, ejecute los siguientes comandos en la misma terminal utilizada en el paso anterior:

op ejecutar -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .

En este comando, op run ejecuta el comando docker build y detecta dos referencias de variables de entorno ( NGINX_CRT y NGINX_KEY ) con los URI de referencia secreta de 1Password. El comando op reemplaza la URI con el valor real del secreto.

Empieza hoy

Siguiendo los pasos simples y usando la CLI de 1Password , puede crear contenedores NGINX Plus contra el repositorio NGINX Plus sin almacenar el certificado y la clave en su sistema de archivos local, creando un entorno para una mejor seguridad.

Si es nuevo en NGINX Plus, puede comenzar su prueba gratuita de 30 días hoy o contactarnos para analizar sus casos de uso .


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.