Si vous êtes un utilisateur régulier de F5 NGINX Plus , il est probable que vous créiez des conteneurs pour tester de nouvelles fonctionnalités. Et lors de la création de conteneurs NGINX Plus, vous finissez souvent par stocker des informations sensibles telles que le certificat et la clé du référentiel NGINX sur votre système de fichiers local. Bien qu'il soit simple d'ajouter des fichiers sensibles à un fichier de référentiel .gitignore
, ce processus n'est ni idéal ni sécurisé. En fait, il existe de nombreux exemples où des ingénieurs enregistrent accidentellement des informations sensibles dans un référentiel.
Une meilleure méthode consiste à utiliser une solution de gestion des secrets. Personnellement, je suis un fan de longue date de 1Password et j'ai récemment découvert leur outil CLI . Cet outil permet aux développeurs et aux ingénieurs de plateforme d'interagir plus facilement avec les secrets dans leur flux de travail quotidien.
Dans cet article de blog, nous décrivons comment utiliser 1Password CLI pour créer en toute sécurité un conteneur NGINX Plus. Cet exemple suppose que vous disposez d'un abonnement NGINX Plus , d'un abonnement 1Password avec l' outil CLI installé , d'un accès à un environnement avec un shell (Bash ou Zsh) et de Docker installé.
La première étape consiste à stocker vos secrets dans 1Password, qui prend en charge plusieurs types de secrets tels que les informations d’identification API, les fichiers, les notes et les mots de passe. Dans ce cas d'utilisation de NGINX Plus, nous exploitons la fonctionnalité de fichier sécurisé de 1Password.
Vous pouvez obtenir votre certificat et votre clé de référentiel NGINX à partir du portail MyF5 . Suivez la documentation 1Password pour créer un document sécurisé pour le certificat et la clé du référentiel NGINX. Une fois les deux documents sécurisés créés, suivez les étapes pour collecter la référence secrète 1Password .
Note : Au moment de la rédaction de cet article, 1Password ne prend pas en charge plusieurs fichiers sur le même enregistrement.
Il est maintenant temps de créer le conteneur NGINX Plus qui exploite vos fichiers sécurisés et leurs identifiants de ressources uniformes (URI) de référence secrets. Cette étape utilise l’exemple Dockerfile du guide d’administration NGINX Plus .
de construction de Docker
Après avoir enregistré le Dockerfile dans un nouveau répertoire, préparez le processus de construction de Docker
. Pour transmettre vos secrets 1Password dans la build Docker
, stockez d'abord chaque URI de référence secrète dans une variable d'environnement. Ensuite, ouvrez un nouveau terminal Bash dans le répertoire où vous avez enregistré votre Dockerfile.
Entrez ces commandes dans le terminal Bash :
export NGINX_CRT="op://Travail/nginx-repo-crt/nginx-repo.crt"export NGINX_KEY="op://Travail/nginx-repo-key/nginx-repo.key"
La commande op run
permet à votre CLI 1Password de remplacer les URI de référence secrètes dans les variables d'environnement par la valeur du secret. Vous pouvez exploiter cela dans votre commande de build Docker
pour transmettre le certificat et la clé du référentiel NGINX au conteneur de build.
Pour terminer la construction de votre conteneur, exécutez les commandes suivantes dans le même terminal utilisé à l'étape précédente :
lors de l'exécution -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .
Dans cette commande, op run
exécute la commande docker build
et détecte deux références de variables d'environnement ( NGINX_CRT
et NGINX_KEY
) avec les URI de référence secrète 1Password. La commande op
remplace l'URI par la valeur réelle du secret.
En suivant les étapes simples et en utilisant 1Password CLI , vous pouvez créer des conteneurs NGINX Plus sur le référentiel NGINX Plus sans stocker le certificat et la clé sur votre système de fichiers local, créant ainsi un environnement pour une meilleure sécurité.
Si vous êtes nouveau sur NGINX Plus, vous pouvez démarrer votre essai gratuit de 30 jours dès aujourd'hui ou nous contacter pour discuter de vos cas d'utilisation .
« Cet article de blog peut faire référence à des produits qui ne sont plus disponibles et/ou qui ne sont plus pris en charge. Pour obtenir les informations les plus récentes sur les produits et solutions F5 NGINX disponibles, explorez notre famille de produits NGINX . NGINX fait désormais partie de F5. Tous les liens NGINX.com précédents redirigeront vers un contenu NGINX similaire sur F5.com."