Node.js aplikazioari giltza eta sekretuetarako sarbidea emateko modurik ohikoena eta seguruena da gordetzea exekutatzen ari den sisteman ingurune aldagaiak erabiliz, eta, behin ezarri ondoren, process.env
. objektu globaletik sar daiteke haietara. Aplikazio batek kodetik konfigurazio guztiak ondo konfiguratuta dituen ala ez egiaztatzeko erabakigarria da kode basea edozein unetan iturburu irekiko kode bihur daitekeen, kredentzialak arriskuan jarri gabe.
Sekretuak iturburu kodearen kontrolaren barruan gorde behar diren egoera arraroetarako, cryptr bezalako pakete bat erabiliz gero, enkriptatuta gorde daitezke testu arrunt moduan orde beharrean.
Badaude hainbat tresna git commit erabiltzen dutenak commit-ak auditatzeko eta sekretuen ustekabeko gehitzeak izendatzeko, hala nola git-secrets.
Ingurune aldagai batean gordetako API giltza batera sartzea:
const azure = require('azure');
const apiKey = process.env.AZURE_STORAGE_KEY;
const blobService = azure.createBlobService(apiKey);
Erabili cryptr
enkriptatutako sekretua gordetzeko:
const Cryptr = require('cryptr');
const cryptr = new Cryptr(process.env.SECRET);
let accessToken = cryptr.decrypt('e74d7c0de21e72aaffc8f2eef2bdb7c1');
console.log(accessToken); // gordeta ez zegoen dekriptatutako testua bistaratzen du
Env var-ak erraz aldatzen dira inplementazioen artean inolako koderik aldatu gabe; konfigurazio fitxategiak ez bezala, aukera gutxi dago kodea gordailuan ustekabean egiaztatzeko; eta konfigurazio fitxategi pertsonalizatuak edo Java Sistema Propietateak bezalako beste konfigurazio mekanismo batzuk ez bezala, hizkuntza eta OS sistema agnostikoak dira. Igorlea: 12 faktoreko aplikazioa