Maison >développement back-end >tutoriel php >Un petit désastre, beaucoup de motivation : créer un gestionnaire de secrets CLI
Alors parlons d'une petite mésaventure qui s'est transformée en une motivation majeure. Mon tout nouveau Macbook Pro M3, fraîchement sorti de la boîte, a décidé de se briquer après une mise à jour logicielle de routine. Cueez de la musique dramatique. Et avec elle, toutes mes précieuses données sont parties, y compris ces satanés secrets comme les clés API, les clés SSH et les scripts shell personnels. Le pire ? Un déploiement de production critique se profilait dans deux jours seulement.
Mes secrets disparus, j'ai dû contacter différentes équipes et départements pour en obtenir de nouveaux. Malheureusement, ce processus a pris plus de temps que prévu dans le monde de l’entreprise. Les retards dans l'acquisition de ces clés essentielles ont finalement conduit au report du déploiement.
Cet incident m'a obligé à repenser ma stratégie de gestion des secrets. Bien sûr, j'aurais pu simplement compresser les secrets et les transférer sur Google Drive, OneDrive ou S3. Mais soyons réalistes, cela représente un risque de sécurité énorme :
La protection des archives par mot de passe est une option, mais je suis trop paresseux pour le faire. L'utilisation d'un service tiers comme LastPass est une autre possibilité, mais cela nécessite des mises à jour et une gestion manuelles ; encore une fois, paresseux.
Il existe également des applications natives qui proposent une synchronisation automatique, mais soyons honnêtes, les applications gratuites sont soit mal entretenues, soit ont une mauvaise expérience utilisateur. Et les payants ? Pfft, s'il vous plaît.
Même s'il y en a un qui répond à toutes mes exigences, en tant qu'ingénieur logiciel, je n'ai pas pu résister à l'envie de créer le mien ; quelque chose que je pourrais contrôler et personnaliser. J'ai donc décidé de créer mon propre gestionnaire de secrets CLI.
Je construis une application CLI qui me permettra de :
J'ai choisi PHP et Laravel Zero comme pile technologique pour ce projet. Pourquoi PHP, demandez-vous ? Bon, c'est un langage que j'aime plus que mon ex, à qui je suis encore un peu accroché, mais au moins je ne suis pas accroché à Python. Et Laravel est un framework solide comme le roc. Pour rendre l'application accessible à un public plus large, je vais essayer de créer un binaire autonome en utilisant static-php-cli et box-project.
Je partagerai des mises à jour régulières sur le processus de développement, y compris les défis, les solutions et les meilleures pratiques. Je publierai également le projet sur GitHub une fois terminé, afin que vous puissiez y contribuer ou l'utiliser vous-même.
Alors, attachez votre ceinture et rejoignez-moi dans ce voyage passionnant alors que je construis un gestionnaire de secrets CLI puissant (?) et sécurisé.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!