Dynaaminen tietojen peittäminen Fabric-tietovarastossa

Koskee:✅ SQL-analytiikan päätepiste ja Microsoft Fabric -varasto

Dynaaminen tietojen peittäminen on tietosuojaominaisuus, joka rajoittaa arkaluonteisten tietojen altistumista peittämällä ne ei-privilegioiduille käyttäjille. Se yksinkertaistaa tietoturvan suunnittelua ja koodausta sovelluksessasi.

Dynaaminen tietojen peittäminen auttaa estämään luvattoman arkaluonteisen datan katselun. Ylläpitäjät määrittävät, kuinka paljon arkaluontoista dataa paljastetaan, mikä vaikuttaa sovelluskerrokseen mahdollisimman vähän. Voit konfiguroida dynaamisen datan peittämisen nimetyillä tietokantakentillä piilottaaksesi arkaluontoiset tiedot kyselyjen tulosjoukoissa. Tietokannan tietoja ei muuteta, joten olemassa olevat sovellukset voivat jatkaa toimintaansa ilman muutoksia, koska kyselytuloksiin sovelletaan maskisääntöjä. Monet sovellukset voivat peittää luottamukselliset tiedot muokkaamatta olemassa olevia kyselyitä.

Dynaaminen datan peittäminen tarjoaa seuraavat ominaisuudet:

  • Keskitetty tietojen peittämiskäytäntö toimii suoraan tietokannan luottamuksellisissa kentissä.
  • Etuoikeutetut käyttäjät tai roolit voidaan määrittää pääsemään käsiksi arkaluontoisiin tietoihin.
  • Voit valita maskausvaihtoehdoista: täysi ja osittainen maskaaminen sekä satunnainen maski numeeriselle datalle.
  • Yksinkertaiset Transact-SQL-komennot määrittävät ja hallitsevat rajoitteita.

Dynaaminen datan peittäminen ei estä tietokannan käyttäjiä yhdistämästä suoraan tietokantaan ja suorittamasta kattavia kyselyitä, jotka paljastavat osia arkaluonteisesta datasta. Käytä dynaamista datan peittämistä yhdessä muiden Fabric-turvallisuusominaisuuksien, kuten sarakketason turvallisuuden ja rivitason turvallisuuden kanssa, suojataksesi arkaluontoisia tietoja tietokannassa.

Dynaamiset datan peittämisfunktiot

Määrittele maskaussääntö sarakkeelle taulukossa, jotta sarakkeen tiedot peittyvät. Saatavilla on neljä erilaista maskia.

Function kuvaus Esimerkit
Oletus Täydellinen peittäminen määritettyjen kenttien tietotyyppien mukaan.

Merkkijonotietotyypeissä käytä arvoa XXXX (tai vähemmän), jos kentän koko on alle 4 merkkiä (char, nchar, varchar, nvarchar, text, ntext).

Numeerisissa tietotyypeissä käytetään nolla-arvoa (bigint, bit, decimal, int, money, numeric, smallint, smallmoney, smallint, float, real).

Käytä päivämäärä- ja aikatietotyypeille arvoa (date, datetime2, 1900-01-01 00:00:00.0000000, datetimeoffset, smalldatetime, time).

Binaaritietotyypeissä käytetään yhtä tavua ASCII-arvoa 0 (binaari, varbinaari, kuva).
Esimerkkisarakkeen määrityksen syntaksi: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULL

Esimerkki alter-syntaksista: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()')
Sähköposti Peittämismenetelmä, joka näyttää sähköpostiosoitteen ensimmäisen kirjaimen ja vakioliitteen ".com" sähköpostiosoitteen muodossa. aXXX@XXXX.com. Esimerkkimäärityksen syntaksi: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULL

Esimerkki alter-syntaksista: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()')
Satunnainen Minkä tahansa numeerisen tyypin kanssa käytettävä satunnaismaskemisfunktio, joka peittää alkuperäisen arvon satunnaisarvolla määritetyllä alueella. Esimerkkimäärityksen syntaksi: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')

Esimerkki alter-syntaksista: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)')
Mukautettu merkkijono Peittämismenetelmä, joka näyttää ensimmäiset ja viimeiset kirjaimet, ja lisää mukautetun täyttömerkkijonon keskelle. prefix,[padding],suffix

Jos alkuperäinen arvo on liian lyhyt koko rajoituksen suorittamiseen, etuliitteen tai jälkiliitteen osa ei näy.
Esimerkkimäärityksen syntaksi: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULL

Esimerkki alter-syntaksista: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')

Tämä muuttaa puhelinnumeron seuraavasti 555.123.12345XXXXXXX: .

Lisäesimerkki:

ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)')

Tämä muuttaa puhelinnumeron seuraavasti 555.123.1234555.1XXXXXXX: .

Katso lisäesimerkkejä siitä , miten voit toteuttaa dynaamisia tietomassioita Fabric tietovarastossa.

Dynaamisen datan peittämisen käyttöoikeudet

Vuonna Fabric tietovarasto käyttäjät näkevät maskattuja tietoja, kun he kysyvät maskattuja sarakkeita, jos he eivät ole Ylläpitäjän, Jäsenen tai Osallistujan roolien jäseniä työtilassa tai heillä ei ole kohotettuja käyttöoikeuksia Varastossa.

Seuraava taulukko listaa kullekin dynaamiselle datanpeittämisoperaatiolle vaaditut käyttöoikeudet:

Toiminto Vaadittu lupa
Luo taulukko, jossa on maskattuja sarakkeita CREATE TABLE ja ALTER skeemassa
Lisää, vaihda tai poista maski pylväästä ALTER ANY MASK ja ALTER pöydällä
Näytä maskatut tiedot SELECT Pöydällä
Katso paljastavat tiedot UNMASK sarakkeella tai CONTROL tietokannalla

Apuraha ALTER ANY MASK turvamiehelle. Myönnetään UNMASK käyttäjälle, jotta käyttäjä voi hakea maskaamattomia tietoja maskatuista sarakkeista.

Tietokannan käyttöoikeus CONTROL sisältää sekä ALTER ANY MASK että UNMASK, joten käyttäjät, joilla on, CONTROL voivat tarkastella paljastattua dataa. Hallinnollisilla käyttäjillä tai rooleilla, kuten ylläpitäjällä, jäsenellä tai avustajalla, on CONTROL tietokantaan suunniteltu oikeus ja ne voivat oletuksena tarkastella paljastattua dataa. Laajennetut käyttöoikeudet varastossa sisältävät CONTROL käyttöoikeuden.

Turvallisuushuomio: maskauksen ohittaminen päättely- tai raakavoimatekniikoilla

Dynaaminen datan peittäminen yksinkertaistaa sovelluskehitystä rajoittamalla datan altistumista ennalta määriteltyjen kyselyiden joukossa, joita sovellus käyttää. Vaikka dynaaminen datan peittäminen voi myös auttaa estämään arkaluontoisten tietojen vahingossa paljastumisen suoraan datan yhteydessä, ei-oikeudettomalla käyttäjällä, joilla on kyselyoikeudet, voivat käyttää tekniikoita päätelläkseen todellisen datan.

Esimerkiksi käyttäjä, jolla on oikeus ajaa kyselyitä varastossa, voi arvata arvoja päätelläkseen peitettyä dataa. Oletetaan, että määrittelet maskin sarakkeelle [Employee].[Salary] . Käyttäjä yhdistää suoraan tietokantaan ja alkaa arvata Employees arvoja, päätellen lopulta taulukon [Salary] arvon. He ajavat etäisyyskyselyn taulukkoa Employees vasten:

SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;

Kysely palautuu:

tunnus Nimi Palkka
62543 Maija Meikäläinen 0
91245 John Smith 0

Vaikka sarake Salary on naamioitu (arvot näkyvät muodossa 0), ehto WHERE vahvistaa, että molempien työntekijöiden palkka on 99 999–100 001 dollaria. Älä käytä pelkkää dynaamista datan peittämistä täysin suojataksesi arkaluonteisia tietoja käyttäjiltä, joilla on kyselyoikeus Warehouse- tai SQL-analytiikkapäätepisteeseen. Dynaaminen datan peittäminen on sopivaa estämään tahattoman arkaluontoisen datan paljastumisen, mutta se ei suojaa haitalliselta tarkoitukselta päätellä taustalla olevaa dataa.

Hallinnoi objektitason tietoturvaa oikein SQL-yksityiskohdilla ja noudata aina vähimmäisoikeuden periaatetta.

Seuraava vaihe