Siirry sisältöön
Kaikki palvelut
DevSecOps ja turvallinen CI/CDRakenna

Avaimettomat CI/CD-putket ja salaisuuksien siivous

Putkesi siirtyvät pitkäikäisistä pilviavaimista lyhytikäisiin federoituihin tokeneihin, ja salaisuuksien skannaus sekä riippuvuusportit pysäyttävät uudet vuodot ja riskialttiit riippuvuudet ennen mergeä.

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-alueAWSAzureGoogle Cloud
LuottamusIAM OIDC -identiteetintarjoaja CI-alustallesiFederoitu identiteettitunniste (federated identity credential) sovellusrekisteröinnissä tai käyttäjän määrittämässä hallitussa identiteetissäWorkload identity pool ja OIDC-tarjoaja
Putken identiteettiIAM-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 julkaiseeSuora resurssien käyttö federoidulle identiteetille tai palvelutilin esittäminen (service account impersonation)
RajausLuottamuskäytännön ehdot tokenin audience- ja subject-kentilleKunkin federoidun tunnisteen issuer ja subjectAttribuuttien mappaus ja attribuuttiehto tarjoajassa
Poistuvat avaimetIAM-käyttäjien pääsyavaimetSovellusrekisteröintien client secretit ja varmenteetPalvelutiliavaimet

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

  1. Maksuton 30 minuutin puhelu, sitten kirjallinen kiinteähintainen tarjous repositorioiden ja avainten määrän perusteella.

  2. Skannataan repositoriot, CI-asetukset ja pilven IAM pitkäikäisten avainten varalta ja kirjataan, missä kutakin käytetään.

  3. Siirretään putket federoituihin tokeneihin repositorio kerrallaan ja testataan julkaisut.

  4. Mitätöidään vanhat avaimet, kun mikään ei enää riipu niistä.

  5. 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
Arvioi

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.

Kesto:1–2 viikkoa
Arvioi Suosittu

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.

Kesto:1 viikko
Rakenna Suosittu

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.

Kesto:2–5 viikkoa

Etkö tiedä, mistä aloittaa?

Varaa maksuton 30 minuutin puhelu. Kuulemme, mitä tarvitset, ja kerromme rehellisesti, voimmeko auttaa ja miten. Puhelu ei sido sinua mihinkään.