Uploaded image for project: 'Kompassi'
  1. Kompassi
  2. CONDB-584

Tietokannan käyttöoikeuksien tiukentaminen

Attachments to ZIPXMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • None

      Nyt Kompassia ajetaan Djangon defaulttityyliin käyttäjällä, jolla on kaikki oikeudet omaan tietokantaansa. Toisin sanoen samalla käyttäjällä tehdään tietokannan rakenteen muutoksia (CREATE TABLE, ALTER TABLE, DROP TABLE) sekä sovelluksen normaalia ajoa (INSERT, SELECT, UPDATE, DELETE).

      Tiukennetaan tätä niin, että normaalilla ajonaikaisella käyttäjällä on vain INSERT, SELECT, UPDATE ja DELETE useimpiin tauluihin, ja tiettyihin tauluihin vielä tiukemmat (kuten event_log_entry, johon saa antaa vain INSERT ja SELECT, ei UPDATEa tai DELETEä).

      Sitten konffataan erikseen tapa ajaa migraatioita niin, että käytössä on täysimahtava käyttäjä, joka saa lisäksi ajaa CREATE TABLE, ALTER TABLE, DROP TABLE ym. DDL-loitsuja.

      Teknisesti tämä voisi toimia niin, että Jenkinsissä on instanssikohtainen migraatiojopi, joka laukaistaan aina käsin, ja joka spinnaa Ansiblella sopivaan paikkaan sopivan synkronisen throwaway-kontin, jolle on ympäristömuuttujassa uitettu sisään mahtavamman käyttäjän tunnus ja salasana. Migraatiojobin päätteeksi pitänee huutaa vielä sisään sopivat GRANT/REVOKE-loitsut (joka kerta?).

            santtu@pajukanta.fi Santtu "Japsu" Pajukanta
            santtu@pajukanta.fi Santtu "Japsu" Pajukanta
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: