Aina kun jaat Compose-tiedoston, olemassa on kaksi artefaktia: se, jonka kirjoitit, ja se, jonka työkalu renderöi korvattuaan muuttujat. Jälkimmäinen on usein arkaluontoisempi kuin ensimmäinen, ja juuri sen ihmiset liittävät virheraporttiin lukematta sitä. Jos tarkistat vain lähdetiedoston, tarkistat väärää asiakirjaa.

Vertaa, mitä kumpikin kopio voi sisältää, ennen kuin päätät, mitä poistaa.

Renderöity malli on eri asiakirja

Compose ratkaisee ympäristömuuttujat, yhdistää ohitustiedostot ja tuottaa tehokkaan konfiguraation, jota lukija ei enää erota käsin kirjoitetuista arvoista. Viittaus, kuten muuttujan nimi lähteessä, muuttuu tulosteessa itse tilin tunnukseksi. Rakenne, joka tekee tiedostosta hyödyllisen diagnostiikalle, säilyy tässä muunnoksessa; samoin säilyy kaikki se, mitä siinä ei olisi koskaan pitänyt olla.

Renderöi tiedosto itse ennen sen liittämistä ja käsittele tuota tulostetta tarkistettavana artefaktina. Jos et voi renderöidä sitä, et voi tietää, mitä olet julkaisemassa.

Salaisuudet ovat useammassa paikassa kuin avainkentässä

Aloita ilmeisestä: yksityiset avaimet, ennalta jaetut avaimet, tunnukset, salasanat ja yhteys-URL:t, joihin on upotettu kirjautumistietoja. Katso sitten kaikkea, mihin tiedosto viittaa, koska viittaus ei ole poisto. Palveluun liitetty ympäristötiedosto, isännästä sidottu konfiguraatiotiedosto, tunnusta kantava leima ja salasanan sisältävä komentoriviargumentti kulkevat kaikki käyttöönoton mukana, vaikka YAML näyttäisi puhtaalta. Rauhoittavan nimen omaavaan muuttujaan liitetty avain on edelleen avain.

Isännän polut ja palvelujen nimet vuotavat toisenlaista tietoa. Kotihakemiston nimi, sisäinen isäntänimi tai verkon alue voi tunnistaa henkilön tai organisaation sisältämättä yhtään kirjautumistietoa, ja se konteksti kannattaa poistaa samasta syystä.

Salaisuuden ilmoitus ei ole salaisuus

Composen salaisuusobjektit erottavat ilmoituksen materiaalista: palvelu saa polun tai kohteen, ja sisältö elää muualla. Ilmoituksen säilyttäminen materiaalin korvaamisen yhteydessä on yleensä oikea vaihtokauppa, koska tarkastajan on nähtävä, että salaisuus on olemassa ja miten se on liitetty. Sen, mikä ei saa säilyä, on sisältö itse.

Leimat ja kommentit ansaitsevat saman kohtelun. Kommentti, joka kertoo, mikä holvin polku pitää tuotantoavaimen, kertoo hyökkääjälle, mistä katsoa, vaikka se ei sisältäisi yhtään avainta.

Säilytä muoto, jotta tiedosto yhä diagnosoi

Poisto, joka poistaa verkkotilan, imagon version tai ominaisuusasetukset, tuottaa tiedoston, jolla kukaan ei voi debugata. Korvaa arkaluontoiset arvot ja säilytä suhteet: mikä palvelu liittää mitä, mihin verkkoon se liittyy, mitä laitetta se tarvitsee. Tämä on se osa, jota lukija käyttää selittääkseen puuttuvan reitin tai käyttämättömän laitteen. Se on myös versio, jonka kollega voi vertailla omaan toimivaan käyttöönottoonsa.

docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml

Älä ota poistettua kopiota käyttöön ikään kuin se olisi toimiva alkuperäinen. Se on kuvaus, ja turvallisen näköiseksi muokattu kuvaus epäonnistuu tavoilla, jotka näyttävät konfiguraatiovirheiltä.

Jos materiaali on paljastunut, korvaa se

Liitteen poistaminen ei poista kopioita, joita muut ovat jo tehneet, ja peilit ja välimuistit pitävät omansa. Käytä myöntäjän peruutus- ja korvausprosessia kaikelle vuotaneelle ja päivitä sitten käyttöönotto. Järjestys on tärkeä, koska ensin korvaaminen ja myöhemmin peruuttaminen jättää ikkunan, jossa on kaksi voimassa olevaa kirjautumistietoa.

Tukiketjuissa aloita tarkalla virheellä, imagon versiolla, verkkotilalla ja sillä yhdellä ei-salaisella asetuksella, joka ratkaisee. Tämä yhdistelmä selittää puuttuvan laitteen tai rikkoutuneen reitin paljon useammin kuin avain.

Aiheeseen liittyvät artikkelit