IT-palvelut vaativat konfiguraatiota. Osa konfiguraatiosta sisältää salaisuuksia, joita et halua päätyvän julkisuuteen. Yleisiä esimerkkejä ovat tietokannan tunnistetiedot tai satunnaiset arvot, jotka suojaavat istuntokoekseja tai todennuksen tunnisteita. Jos kehität ohjelmistoa, tilanne voi pahentua entisestään rakennusputkien, jakelusertifikaattien ja pääsyavainten kanssa.
Kompromissatut salaisuudet voivat johtaa käyttäjätilien haltuunottoon, tietovarkauksiin, rakennusketjun hyökkäyksiin ja muihin kalliisiin ongelmiin. Huono maine, immateriaalioikeuksien menetys ja mahdollisesti valtavat oikeudenkäyntikulut ovat vain murto-osa mahdollisista kustannuksista.
Psono tarjoaa uusimmassa versiossaan psonoci -ohjelmistolla suojattuja ympäristöjä. Suojatut ympäristöt mahdollistavat prosessien ajamisen ja niiden konfiguroinnin ympäristömuuttujien avulla altistamatta niitä järjestelmälle. Nämä ympäristömuuttujat ladataan turvallisesti Psonosta, niitä ei tallenneta palvelimelle mihinkään ja ne ovat näkyvissä vain yksittäiselle prosessille.
Ensiksi sinun tulee luoda ympäristömuuttujien salaisuus. Huomaa, että yksi salaisuus voi sisältää useita ympäristömuuttujia, joten voit ryhmitellä muuttujat esimerkiksi ympäristön mukaan tai sen perusteella, että ne kuuluvat yhteen, kuten tietokannan käyttäjänimi ja salasana.
Tämän jälkeen luot API-avaimen ja annat sille oikeuden käyttää uutta ympäristömuuttujien salaista tietoa.
Kirjoita sitten muistiin API-avaimen salat, sillä nämä parametrit ovat ainoat, jotka ovat suorasti esillä järjestelmälle.
Asenna psono ci palvelimellesi tai rakennusputkeesi yhdellä komennolla:
curl https://get.psono.com/psono/psono-ci/x86_64-linux/psonoci --output psonoci && chmod +x psonoci
Ja sen sijaan, että suorittaisit vain ./some_command, käynnistä prosessi näin:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./some_command
Yksinkertaisuuden vuoksi välitämme parametrit kuten --api-key-id tai --api-secret-key-hex argumentteina, mutta voit myös määritellä konfiguraatiotiedoston.
Demon tarkoitukseen loimme tämän pienen python-skriptin service.py, joka tulostaa kaikki ympäristömuuttujat ja argumentit, jotka sille välitettiin.
#!/usr/bin/python3
import os
import sys
print("args: {}".format(sys.argv))
print("environment: {}".format(os.environ))
Sen sijaan, että esimerkiksi suorittaisit ./service.py --whatever=argument_1, voit suorittaa sen näin:
psonoci \
--api-key-id eaee77c6-169f-4873-9be3-f2613149baa9 \
--api-secret-key-hex c8321d7a8e5b1f5ec3d969ecb5054c7548a1c709ddab2edae2ff7ff028538917 \
--server-url https://example.com/server \
run -- ./service.py --whatever=argument_1
Saat seuraavanlaisen tulosteen:
args: ['service.py', '--whatever', 'argument_1']
environment: environ({'db_host': 'prd-db.example.com:5432', 'db_password': 'Df55sr2UQm7Wshv7', 'db_username': 'production'})
Kuten huomataan, kaikki argumentit välitettiin oikein, ja kaikki aiemmin määrittämäsi ympäristömuuttujat olivat prosessin käytettävissä. Voit halutessasi antaa liput, jotka mahdollistavat myös järjestelmän omien ympäristömuuttujien välittämisen ja laajentamisen Psonon kautta. Tarkempaa tietoa löytyy dokumentaatiostamme psonocille.
Toivon, että pidit pienestä esityksestämme, joka havainnollistaa miten Psono voi auttaa suojaamaan infrastruktuuriasi. Kaikki tämä ei olisi mahdollista ilman Berndiä, joka on tämän ominaisuuden nero – siis suuri kiitos sinulle, Bernd!