Snowflake tarjoaa erinomaisen hallintaratkaisun, joka mahdollistaa käyttäjien pääsyn hallinnan yksityiskohtaisella tasolla. Tämä osio käsittelee pääasiallisesti Snowflake-hallinnan keskeisiä toimintoja ja tarjoaa syvällisemmän katsauksen roolipohjaisen pääsynhallinnan (RBAC) käytännöistä. Vaikka tämä tieto on ensisijaisesti suunnattu järjestelmänvalvojille, on myös tärkeää, että loppukäyttäjät ymmärtävät hallintakäytäntöjen perusperiaatteet.

Snowflake-alustan tehokas hallinta edellyttää useiden hallintatehtävien suorittamista. Nämä tehtävät kattavat muun muassa roolien ja käyttäjien hallinnan, roolipohjaisen pääsynhallinnan, tilin asetusten, tietokantojen ja varastojen hallinnan, tiedon jakamisen, tietokantaobjektien hallinnan sekä klusteroitujen taulukoiden hallinnan. Näiden hallintatehtävien hallinta ei ole ainoastaan järjestelmänvalvojan vastuulla, vaan se vaikuttaa myös loppukäyttäjien pääsyn hallintaan ja työskentelytapaan Snowflake-järjestelmässä.

Snowflake käyttää rooleja pääsyn ja toimintojen hallintaan. Käytännössä tämä tarkoittaa, että voidaan luoda mukautettuja rooleja, joille annetaan joukko oikeuksia, jotka määrittävät käyttäjän pääsyn tason. Esimerkiksi, jos haluamme luoda roolin markkinointitiimille, voimme myöntää tälle roolille pääsyn tarvittaviin tietoihin ja mahdollisuuden suorittaa SQL-kyselyitä virtuaalivaraston avulla. Snowflaken mallissa pääsy suojattuihin objekteihin hallitaan rooleihin liitetyillä oikeuksilla. Roolit voivat olla myös hierarkisia ja periytyä toisistaan, jolloin pääsynhallinta tulee entistä joustavammaksi ja monivaiheisemmaksi. Snowflake tukee myös dynaamista tietojen peittämistä ja rivikohtaisia pääsykäytäntöjä, jotka mahdollistavat entistä tarkemman pääsynhallinnan roolien avulla.

Snowflaken pääsynhallintamalleja ovat muun muassa:

  • Discretionary Access Control (DAC): Kullakin objektilla on omistaja, joka voi hallita sen pääsyä.

  • Role-based Access Control (RBAC): Roolit luodaan ja niille annetaan oikeuksia, jotka sitten liitetään käyttäjille. Securable-objekti on Snowflake-entiteetti, jolle voidaan myöntää pääsyoikeuksia (esimerkiksi tietokanta, taulukko jne.). Oikeus on pääsyn taso objektiin.

Snowflaken tilin alussa on useita ennalta määritettyjä oletusrooleja, kuten ACCOUNTADMIN, SYSADMIN, PUBLIC, SECURITYADMIN, USERADMIN ja ORGADMIN. Näiden roolien avulla voidaan hallita tilin hallintaa, käyttäjien ja roolien luontia, tietokantojen ja varastojen hallintaa sekä muita järjestelmän hallintaan liittyviä toimintoja. Esimerkiksi SECURITYADMIN-roolilla voidaan luoda ja hallita rooleja ja käyttäjiä, kun taas USERADMIN-roolilla voidaan hoitaa käyttäjätilien hallintaa.

Snowflaken roolihierarkiaa tulisi suunnitella huolellisesti, jotta pääsy ja vastuut voidaan delegoida asianmukaisesti. Roolien säännöllinen auditointi on myös tärkeää pääsynhallintapolitiikkojen noudattamisen varmistamiseksi.

Enforcement Model Snowflake-alustassa käytetään istuntojen periaatetta, jossa rooli määritellään automaattisesti kirjautumisen yhteydessä ja se määrää, mitä toimintoja käyttäjä voi suorittaa kyseisen istunnon aikana. Roolia voi vaihtaa tarvittaessa, jos käyttäjällä on useita rooleja käytettävissään. Tämä voidaan tehdä joko komennolla USE ROLE tai käyttöliittymän roolivaihto-toiminnolla. Snowflake vertailee käyttäjän roolin oikeuksia vaadittuihin oikeuksiin, kun käyttäjä pyrkii suorittamaan toimintoja.

Secondary Roles Snowflake tukee myös toissijaisia rooleja, jotka mahdollistavat useiden roolien samanaikaisen aktivoimisen istunnossa. Tämä yksinkertaistaa roolien hallintaa ja vähentää tarvetta roolin vaihtamiseen istunnon aikana. Esimerkiksi, jos käyttäjä tarvitsee pääsyn yhteen skeemaan lukuoikeuksilla, toiseen skeemaan kirjoittamiseen ja kolmannen hallintaan, kaikki nämä toiminnot voidaan suorittaa eri rooleilla ilman, että käyttäjä tarvitsee vaihtaa roolia jatkuvasti. Toissijaiset roolit voidaan aktivoida ALTER SESSION SET SECONDARY_ROLES -komennolla.

Työskentely roolien ja käyttäjien kanssa RBAC:lla Snowflake mahdollistaa hallinnan erittäin tarkalla tasolla roolien kautta. Roolien luomiseen voidaan käyttää DDL-komentoja tai käyttöliittymää. Esimerkiksi komennot kuten CREATE ROLE, ALTER ROLE, ja DROP ROLE mahdollistavat roolien luomisen, muokkaamisen ja poistamisen. Käyttäjien hallintaan käytettävät komennot kuten CREATE USER, ALTER USER, ja SHOW PARAMETERS puolestaan mahdollistavat käyttäjien luomisen ja hallinnan.

Esimerkki roolin luomisesta:

pgsql
CREATE ROLE MARKETING_TEAM;
CREATE ROLE DATA_SCIENCE_TEAM;

Kun roolit on luotu, ne voidaan liittää käyttäjille seuraavalla komennolla:

pgsql
CREATE USER marketing_analyst PASSWORD = 'RockYourData' COMMENT = 'Marketing Analyst' LOGIN_NAME = 'marketing_user1' DISPLAY_NAME = 'Marketing_Analyst' DEFAULT_ROLE = "MARKETING_TEAM" DEFAULT_WAREHOUSE = 'COMPUTE_WH' MUST_CHANGE_PASSWORD = TRUE;
GRANT ROLE "MARKETING_TEAM" TO USER marketing_analyst;

Tässä esimerkissä markkinoinnin analyytikolle myönnetään pääsy markkinointirooliin, ja tälle roolille annetaan tarvittavat oikeudet virtuaalivarastoon.

Tärkeää on, että roolien ja käyttäjien hallinta on olennainen osa Snowflake-alustan tehokasta käyttöä ja turvallisuutta. Säännöllinen valvonta ja pääsynhallinnan tarkastaminen takaavat, että käyttöoikeudet pysyvät asianmukaisina ja että järjestelmä on suojattu mahdollisilta väärinkäytöksiltä.

Miten siirtää tietovarasto Snowflakeen?

Snowflake tarjoaa monia työkaluja ja joustavuutta, jotka tukevat ennakoitujen mallien hyödyntämistä, datan valmistelua analysointia varten sekä parhaiden käytäntöjen toteuttamista. Yhdistämällä kehittyneet tekoälyominaisuudet Snowflaken yksinkertaisuuteen ja skaalautuvuuteen, se antaa käyttäjille mahdollisuuden tehdä nopeita, tietoon perustuvia päätöksiä ja löytää käytännönläheisiä näkemyksiä. Tällä luvulla käydään läpi keskeisiä siirtotilanteita, jotka auttavat ymmärtämään, kuinka vanhat järjestelmät voidaan siirtää pilveen, sekä keinoja parantaa olemassa olevia pilviratkaisuja.

Tietovaraston siirtämisen tavoite on tyydyttää loppukäyttäjien kasvava tarve data-analytiikasta. Ennen siirtymistä syvemmälle tähän aiheeseen, on hyödyllistä jakaa organisaatiot niiden analytiikkavalmiuden mukaan, sillä se vaikuttaa siirtoprosessiin. Organisaatioita voidaan luokitella seuraavasti: startupit ja pienet yritykset ilman kunnollista analytiikkaratkaisua, paikan päällä toimivat dataratkaisut sekä pilvessä toimivat organisaatiot, jotka käyttävät oletusratkaisuja kuten Azurea, GCP:tä tai AWS:ää.

Startupit ja pienet yritykset

Startup-yrityksille ja pienille yrityksille siirtoprosessi on yleensä kaikkein yksinkertaisin. Näillä yrityksillä ei ole vielä oikeaa analytiikkaratkaisua, ja ne käyttävät yleensä liiketoimintatiedon (BI) työkaluja tai taulukkolaskentaa. Tavoitteena on löytää edullisempi ja skaalautuva ratkaisu. Snowflake tarjoaa juuri tämän: mahdollisuuden aloittaa pienestä ja kasvaa ajan myötä ilman suuria alkuinvestointeja. Yritykset voivat maksaa vain tarvittavista resursseista ja laajentaa järjestelmiään tarpeen mukaan.

Analyytikot voivat kytkeytyä lähdejärjestelmiin ja kerätä dataa manuaalisesti, mutta tämä ei ole skaalautuvaa. Tällöin seuraava askel on palkata datainsinööri tai analytiikka-asiantuntijayritys ja ottaa käyttöön Snowflake tietovarastoratkaisuna. Tämä tarjoaa analytiikkaa ja kasvumahdollisuuksia.

Perinteiset paikan päällä olevat ratkaisuprosessit suurille organisaatioille

Toinen, yleisempi skenaario koskee suuria organisaatioita, jotka käyttävät kalliita paikan päällä olevia tietovarastoratkaisuja. Näillä ratkaisuilla on paljon räätälöityjä komponentteja suurdatalle, suoratoistolle ja muille erityistarpeille, mutta niiden ylläpito on monimutkainen ja kallis. Ratkaisut ovat skaalautuvuuden esteenä ja niitä on vaikea laajentaa, vaikka budjetti olisi rajaton. Parhaiten voidaan hyödyntää pilvipohjaisia alustoja, kuten Snowflakea, joka yksinkertaistaa ja tehostaa tietojen käsittelyä ja analysointia.

Snowflake tarjoaa myös mahdollisuuden jakaa tietoja helposti, mikä on usein kallista ja monimutkaista perinteisissä paikan päällä olevissa ratkaisuissa. Tällä tavalla organisaatiot voivat hyödyntää pilveen siirtymisen etuja ja yhdistää eri analytiikkaratkaisut, mukaan lukien big datan ja suoratoiston, yhdelle alustalle.

Pilvipohjaisen analytiikan modernisointi Snowflaken avulla

Kolmas skenaario on edistyneempi, ja siinä pilvessä jo toimiva organisaatio saattaa kohdata haasteita, kuten korkeita kustannuksia tai suorituskykyongelmia useiden työkalujen käytön vuoksi. Jos yrityksellä on jo pilvipohjaisia ratkaisuja, mutta ne eivät täytä liiketoiminnan tarpeita tai ovat liian kalliita, Snowflake voi tarjota ratkaisun, joka yhdistää analytiikan ja tarjoaa lähes rajattoman skaalautuvuuden ja joustavuuden.

Snowflakeen siirtyminen voi myös poistaa monen työkalun tarpeen ja yksinkertaistaa koko tietoanalytiikkaprosessia. Samalla organisaatiot voivat hyödyntää pilvipohjaisia datan jakamisen ominaisuuksia ilman, että dataa täytyy siirtää fyysisesti.

Tietovaraston siirtoprosessi

Kun on selvitetty kolme yleisintä skenaariota, on hyvä tarkastella tarkemmin toista skenaariota, joka on monimutkainen ja tyypillinen monille suurille yrityksille. Tietovaraston siirtämisessä on kaksi pääasiallista lähestymistapaa:

  • Lift and shift: Data siirretään sellaisenaan mahdollisimman pienin muutoksin.

  • Split and flip: Ratkaisu jaetaan loogisiin, toiminnallisiin datakerroksiin, jolloin siirtoprosessi on tarkemmin hallittavissa ja joustavampi.

Yksi tärkeä näkökohta on myös miettiä, kuinka varmistetaan datan laatu ja miten voidaan optimoida siirtyminen, jotta saadaan mahdollisimman paljon irti pilvipalveluiden tarjoamista mahdollisuuksista. Snowflake mahdollistaa datan analysoinnin ja jakamisen ilman, että dataa täytyy siirtää fyysisesti paikasta toiseen, mikä nopeuttaa prosessia ja vähentää kustannuksia.