Milloin tarvitset tätä
Putkesi käyttävät vuosia sitten luotuja pilviavaimia, joita ei ole koskaan vaihdettu. Kopioita on CI-muuttujissa, läppäreillä ja vanhoissa repositorioissa, eikä kukaan tiedä, mitkä niistä vielä toimivat.
Mikä määrittää tarjouksen
- Yksi CI-alusta ja enintään 25 repositoriota, jotka julkaisevat AWS:ään, Azureen tai Google Cloudiin.
- Mitoitus perustuu lukuihin, jotka saat itse selville: CI-asetuksiin tallennetut pilviavaimet, AWS:n IAM credential report -raportin IAM-käyttäjien pääsyavaimet, Entra-sovellusrekisteröintien client secretit ja Google Cloudin palvelutiliavaimet.
- Kesto on 1–3 viikkoa repositorioiden ja pilvien määrän mukaan.
- Useammista repositorioista tai toisesta CI-alustasta annetaan tarjous puhelun jälkeen.
Mikä muuttuu
- Putket tunnistautuvat pilveen lyhytikäisillä tokeneilla tallennettujen avainten sijaan.
- Vanhat avaimet mitätöidään, joten vuosia sitten vuotanut kopio ei enää avaa mitään.
- Jokainen putki voi julkaista vain niihin ympäristöihin, joihin sen kuuluu.
- Uudet salaisuudet ja haavoittuvat riippuvuudet pysähtyvät pull requestiin eivätkä päädy tuotantoon.
- Jokaisella portilla on päätöskirjaus, joten tiimisi tietää, miksi portti on olemassa ja milloin sitä voi muuttaa.
Mitä saat
- Inventaario pitkäikäisistä avaimista, tokeneista ja palvelutilien tunnistetiedoista sekä niiden viimeisestä käytöstä, jos pilvi kirjaa sen
- CI-alustan ja pilven välinen federoitu luottamus koodina
- Vähimpien oikeuksien julkaisuroolit repositorio- ja ympäristökohtaisesti
- Vanhojen avainten mitätöinti, kun korvaajat ovat käytössä
- Salaisuuksien skannaus putkessa ja koko Git-historiassa, esimerkiksi Gitleaksilla tai alustan omalla salaisuuksien skannauksella
- Riippuvuusportit sovituin vakavuusrajoin
- Yksi päätöskirjaus jokaista porttia kohden
- Luovutustilaisuus ja ajo-ohje uusien putkien lisäämiseen
Mitä katamme kussakin pilvessä
| Osa-alue | AWS | Azure | Google Cloud |
|---|---|---|---|
| Luottamus | IAM OIDC -identiteetintarjoaja CI-alustallesi | Federoitu identiteettitunniste (federated identity credential) sovellusrekisteröinnissä tai käyttäjän määrittämässä hallitussa identiteetissä | Workload identity pool ja OIDC-tarjoaja |
| Putken identiteetti | IAM-rooli repositorio- ja ympäristökohtaisesti, käyttöön AssumeRoleWithWebIdentityllä | Service principal tai hallittu identiteetti, jolla on Azure RBAC -oikeudet vain niihin resurssiryhmiin tai tilauksiin, joihin se julkaisee | Suora resurssien käyttö federoidulle identiteetille tai palvelutilin esittäminen (service account impersonation) |
| Rajaus | Luottamuskäytännön ehdot tokenin audience- ja subject-kentille | Kunkin federoidun tunnisteen issuer ja subject | Attribuuttien mappaus ja attribuuttiehto tarjoajassa |
| Poistuvat avaimet | IAM-käyttäjien pääsyavaimet | Sovellusrekisteröintien client secretit ja varmenteet | Palvelutiliavaimet |
Ei sisälly
- Muiden salaisuuksien, kuten tietokantasalasanojen tai kolmansien osapuolten API-tokenien, siirto salaisuuksien hallintaan (ne kirjataan inventaarioon, ja siirrosta annetaan erillinen tarjous)
- Käynnissä olevien sovellusten käyttämät avaimet
- Riippuvuusporttien löytämien haavoittuvuuksien korjaaminen
- Git-historian uudelleenkirjoitus vanhojen salaisuuksien poistamiseksi (mitätöimme ne sen sijaan)
Mitä tarvitsemme sinulta
- Pääkäyttäjäoikeudet kohteena oleviin repositorioihin sekä CI-alustan salaisuus- ja muuttuja-asetuksiin, esimerkiksi Admin-rooli GitHubissa tai Maintainer-rooli GitLabissa.
- AWS: oikeus luoda IAM OIDC -identiteetintarjoajia ja IAM-rooleja kohteena oleville tileille joko suoraan tai Terraform-putkesi kautta.
- Azure: Entra ID:n Cloud Application Administrator -rooli tai käyttäjän määrittämille hallituille identiteeteille Managed Identity Contributor sekä Role Based Access Control Administrator kohteena oleviin laajuuksiin.
- Google Cloud: IAM Workload Identity Pool Admin ja Project IAM Admin kohteena oleviin projekteihin.
- Kehittäjä jokaisesta tiimistä vahvistamaan testijulkaisut, noin tunti repositoriota kohden.
Näin työ etenee
Maksuton 30 minuutin puhelu, sitten kirjallinen kiinteähintainen tarjous repositorioiden ja avainten määrän perusteella.
Skannataan repositoriot, CI-asetukset ja pilven IAM pitkäikäisten avainten varalta ja kirjataan, missä kutakin käytetään.
Siirretään putket federoituihin tokeneihin repositorio kerrallaan ja testataan julkaisut.
Mitätöidään vanhat avaimet, kun mikään ei enää riipu niistä.
Otetaan skannausportit käyttöön ja kirjataan jokaisesta päätös.
Lyhyesti
- Kesto
- 1–3 viikkoa
- Hinta
- Kiinteä tarjous maksuttoman 30 minuutin puhelun jälkeen
- Toteuttaja
- Pääarkkitehtimme ja pilvi-insinööri
Liittyvät referenssit
Rayna Tours ja TechnoHeaven
Yhdestä vanhasta tilistä hallituksi monitiliseksi AWS-alustaksi
Monitilinen AWS-perusta matkailukonsernin noin kahdellekymmenelle palvelulle. Suojaukset, avaimettomat putket ja jokaiselle pull requestille oma väliaikainen ympäristö, kaikki määriteltynä Terraformilla.
- 8
- AWS-tiliä yhdessä organisaatiossa
- 40+
- Terraform-repositoriota
Liittyvät palvelut
DevSecOps-puutekartoitus
1–2 viikon kartoitus siitä, miten tiimisi rakentavat ja julkaisevat ohjelmistoja, pisteytettynä OWASP SAMM- ja NIST SSDF -viitekehyksiä vasten ja tuloksena puutelista sekä 90 päivän suunnitelma.
CI/CD-putkien tietoturvatarkistus
Yhden CI/CD-alustan viikon mittainen katselmointi organisaatioasetuksista runnereihin ja salaisuuksiin, ja havainnot peilattuna OWASP Top 10 CI/CD Security Risks -listaan ja SLSA:han.
Turvallinen CI/CD-putki
Putki, joka skannaa jokaisen muutoksen, rakentaa konttikuvan kerran, siirtää sen eteenpäin tiivisteen perusteella ja pyytää hyväksynnän ennen tuotantoa: yksi sovellus 2–3 viikossa, enintään 10 repositoriota 4–5 viikossa.