Profiilit palvelevat kahta tarkoitusta yhtä aikaa: ne tallentavat yhteyden asetukset ja kantavat toimivan tunnistetietokokonaisuuden. Tiedostopääte ei kerro sinulle mitään siitä, kumpaa pidät kädessäsi. Lue sisältö ennen kuin päätät, että se kuuluu tietovarastoon.

Seuraavat vaiheet olettavat, että asiakaspohjaa harkitaan versionhallintaan. Tee ne järjestyksessä ja pysähdy ennen kuin committaat mitään, mitä et voi peruuttaa.

Lue tiedosto, jonka aiot lisätä indeksiin

Aloita todellisista tavuista, sillä erillisiin tiedostoihin viittaava profiili näyttää hyvin erilaiselta kuin ne upottava. Etsi PEM-lohkon merkit ja upotetut tagit nimeltä ca, cert, key, tls-auth ja tls-crypt, ja sama läpikäynti näyttää sinulle molemmat tapaukset. Salattu yksityinen avain lasketaan edelleen arkaluontoiseksi aineistoksi, ja jaettu tls-auth- tai tls-crypt-avain on tunnistetieto, vaikka se ei ole käyttäjän henkilöllisyys. Sovella sama katsaus kaikkeen, mitä lisätään indeksiin profiilin ohella, mukaan lukien arkistot ja asennusskriptit, jotka viittaavat tunnistetiedostoon.

Katso sitten indeksiin lisättyä joukkoa työpuun sijaan. git diff --cached näyttää, mitä commit todella sisältää, ja se on ainoa versio, jolla on merkitystä tässä päätöksessä.

Päätä, mitä tietovarasto saa jakaa

Pohja voi kantaa jaetut, katsastetut asetukset ja nimetyt paikkamerkit kaikelle, mitä henkilö saa ilmoittautuessaan. Se, mitä se ei voi kantaa, on käyttökelpoinen henkilöllisyys, koska tietovarasto jaetaan kaikille, jotka voivat lukea sen, automaatio mukaan lukien. Yksityinen tietovarasto kaventaa yleisöä muuttamatta kysymystä siitä, onko jokainen lukija valtuutettu tähän tunnistetietoon.

Ohitusääntö estää tulevat lisäykset eikä tee mitään sille, mikä on jo tallennettu. Tämä epäsymmetria kannattaa sisäistää ennen ensimmäistä committia eikä kymmenennen jälkeen. Infrastruktuurin nimet ja osoitteet ovat erillinen harkinta: ne eivät ole todennuksen salaisuuksia, mutta voivat paljastaa enemmän kuin tiimi aikoo julkaista. Tee se päätös nimenomaisesti sen sijaan, että lajittelisit jokaisen rivin salasanaksi tai julkiseksi.

Jos aineisto on jo historiassa

Rivin poistaminen uudessa commitissa jättää vanhan version koskemattomaksi kaikille, jotka noutavat sen. Kohtele paljastumista todellisena: tunnista tunnistetiedon tyyppi ja etsi sitten taho, joka voi mitätöidä sen. Asiakasvarmenne peruutetaan ja peruutusluettelo luodaan uudelleen; jaettu ohjauskanavan avain vaihdetaan palvelimella ja jokaisessa asiakkaassa, joka sitä käyttää.

Kahdella on hyvin erilainen vaikutussäde, ja suunnitelman tulisi kertoa ennen aloitusta, kumpaa toteutat. Paikanna commit, joka toi aineiston, hakemalla tyyppiä git log --all -S 'BEGIN PRIVATE KEY', jotta siivouksen laajuus on tiedossa eikä arvattu. Kollegan klooni tai haarukka voi jo sisältää vanhan objektin, siksi peruutus tulee ensin ja siivous toisena.

Siivoa vasta kun se on rajattu

Historian uudelleenkirjoitus muuttaa jokaista committia muokkaamasi jälkeen, joten se tarvitsee ensin tietovaraston omistajan ja siinä työskentelevien ihmisten suostumuksen. Pakotettu työntö ei ole korjaus; se on koordinointitapahtuma, jolla on oma peruutusriskinsä. Aikatauluta se, ota varmuuskopio ja kerro tiimille, milloin se tapahtuu.

Tarkista sen jälkeen nykyinen puu ja jäljellä oleva historia sen sijaan, että luottaisit työkalun yhteenvetoon.

Säilytä tulos kahtena artefaktina: pohja, joka on turvallista jakaa, ja luettelo ilmoittautumisprosessin kautta myönnetyistä tunnistetiedoista. Kumpikaan ei vaadi, että käyttökelpoinen henkilöllisyys elää tietovarastossa.

Tuo erottelu on todellinen korjaus, ja se kestää seuraavan ihmisen, joka haluaa committata profiilin.

Aiheeseen liittyvät artikkelit