Sobes.tech
Middle

Kuidas piirata juurdepääsu Dockerfile'ile?

sobes.tech AI

Vastus AI-lt

  • Versioonihaldussüsteem (VCS):

    • Paigutada Dockerfile privaatsetesse Git hoidistesse (näiteks GitLab, GitHub, Bitbucket).
    • Seadista juurdepääsuõigused (READ, WRITE, ADMIN) hoidise jaoks kindlatele kasutajatele või gruppidele.
    • Kasuta harusid (branches) muudatuste kontrollimiseks ja nende ülevaatamiseks (merge requests / pull requests).
  • Konfiguratsioonihaldussüsteem:

    • Kasuta Ansible, Chef, Puppet või SaltStack, et levitada Dockerfile sihtsüsteemidele piiratud juurdepääsul.
  • CI/CD süsteemid:

    • Piira juurdepääsu piplainidele, mis koguvad pilte Dockerfile põhjal.
    • Konfigureeri piplainide triggereid nii, et ehitus toimuks ainult usaldusväärsetest allikatest (näiteks kindel Git haru).
  • Failisüsteemi juurdepääsuõigused:

    • Konfigureeri operatsioonisüsteemi standardseid õigusi (chmod, chown Linux/Unix) Dockerfile failile, kus see asub või mida kasutatakse ehitamisel.
    # Piira juurdepääsu ainult omaniku jaoks (lugemine ja kirjutamine)
    chmod 600 Dockerfile
    # Muuda faili omanikku
    chown user:group Dockerfile
    
  • Saladuste haldamise süsteemid:

    • Kui Dockerfile sisaldab tundlikku teavet (mis on väga soovitatav vältida), kasuta HashiCorp Vault, CyberArk või muid saladuste haldamise süsteeme, integreerides need ehitusprotsessi.
    • Paremat on salastatud teabe eemaldamine Dockerfile-st ning edastamine ehitamise või konteineri käivitamise ajal.
  • Docker registri juurdepääsukontroll:

    • Piira juurdepääsu kogumiskohtadele, kuhu push’itakse ehitatud pilte, mis põhinevad Dockerfile-l. See ei piira Dockerfile-i otse juurdepääsu, kuid kontrollib, kes saab kasutada selle tulemust.
    // Näide ARG kasutamisest muutuja edastamiseks ehituse ajal, et vältida saladuste salvestamist Dockerfile-sse
    ARG MY_SECRET_VAR
    // Kasuta MY_SECRET_VAR käskudes RUN, ENV ja teistes