Jaa


Dynaaminen tietojen peittäminen Fabric-tietovarastossa

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

Dynaaminen tietojen peittäminen rajoittaa luottamuksellisen tietojen altistumista peittämällä ne muille kuin vähäosaisille käyttäjille. Sen avulla voidaan yksinkertaistaa huomattavasti sovelluksesi suojauksen suunnittelua ja koodausta.

Dynaaminen tietojen peittäminen auttaa estämään luottamuksellisten tietojen luvattoman katselun antamalla järjestelmänvalvojille mahdollisuuden määrittää, kuinka paljon arkaluontoisia tietoja paljastetaan, mahdollisimman pienellä vaikutuksella sovellustasoon. Dynaamista tietojen peittämistä voidaan määrittää määritetyille tietokantakentille luottamuksellisten tietojen piilottamiseksi tuloskyselyiden tulosjoukossa. Dynaamisen tietojen peittämisen myötä tietokannan tietoja ei muuteta, joten niitä voidaan käyttää olemassa olevien sovellusten kanssa, koska peittämissääntöjä sovelletaan kyselyn tuloksiin. Monet sovellukset voivat peittää luottamukselliset tiedot muokkaamatta olemassa olevia kyselyitä.

  • Keskitetty tietojen peittämiskäytäntö toimii suoraan tietokannan luottamuksellisissa kentissä.
  • Määritä etuoikeutetut käyttäjät tai roolit, joilla on luottamuksellisten tietojen käyttöoikeus.
  • Dynaamisissa tietojen peittämistoiminnoissa on täydet peittämisfunktiot ja osittaiset peittämisfunktiot sekä numeeristen tietojen satunnaissuojus.
  • Yksinkertaiset Transact-SQL-komennot määrittävät ja hallitsevat rajoitteita.

Dynaamisen tietojen peittämisen tarkoituksena on rajoittaa luottamuksellisten tietojen altistumista ja estää käyttäjiä, joilla ei pitäisi olla tietojen käyttöoikeutta, tarkastelemasta niitä. Dynaamisen tietojen peittämisen tarkoituksena ei ole estää tietokannan käyttäjiä muodostamasta yhteyttä suoraan tietokantaan ja suorittamasta tyhjentäviä kyselyjä, jotka paljastavat arkaluonteisten tietojen osia.

Dynaamista tietojen peittämistä täydennetään muita Fabric-suojausominaisuuksia, kuten saraketason suojausta ja rivitason suojausta. On erittäin suositeltavaa käyttää näitä tietosuojaominaisuuksia yhdessä luottamuksellisten tietojen suojaamiseksi tietokannassa.

Dynaamisen tietovaraston määrittäminen

Peittämissääntö voidaan määrittää taulukon sarakkeeseen, jotta kyseisen sarakkeen tiedot voidaan peittää. Käytettävissä on neljä erilaista naamiotyyppiä.

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, datetime, datetimeoffset, smalldatetime, time). 1900-01-01 00:00:00.0000000

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.1234 5XXXXXXX: .

Lisäesimerkki:

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

Tämä muuttaa puhelinnumeron seuraavasti 555.123.1234 555.1XXXXXXX: .

Katso lisäesimerkkejä siitä, miten voit ottaa käyttöön dynaamisen tietojen peittämisen Synapse-tietovarastossa.

Oikeudet

Käyttäjät, joilla ei ole järjestelmänvalvojan, jäsenen tai osallistujan oikeuksia työtilassa ja joilla ei ole laajennettuja käyttöoikeuksia varastossa, näkevät peitetyt tiedot.

Et tarvitse mitään erityistä oikeutta luoda taulukko, jossa on dynaaminen tietomaski ainoastaan vakio CREATE TABLE - ja ALTER rakennekäyttöoikeudet.

Sarakkeen rajoitteen lisääminen, korvaaminen tai poistaminen edellyttää ALTER ANY MASK taulukon käyttöoikeutta ja ALTER käyttöoikeutta. Se on tarkoituksenmukaista myöntää ALTER ANY MASK turvallisuuspäällikkölle.

Käyttäjät, joilla on SELECT taulukon käyttöoikeus, voivat tarkastella taulukon tietoja. Sarakkeissa, jotka on määritetty peittäviksi, näytetään peittämiä tietoja. UNMASK Myönnä käyttäjälle käyttöoikeus, jotta hän voi noutaa kysymättömiä tietoja sarakkeista, joille peittäminen on määritetty.

CONTROL Tietokannan käyttöoikeus sisältää sekä -ALTER ANY MASK UNMASK käyttöoikeudet että -käyttöoikeudet, joiden avulla käyttäjä voi tarkastella yhdistämättömiä tietoja. Järjestelmänvalvojan, jäsenen tai osallistujan kaltaisten järjestelmänvalvojan, jäsenen tai osallistujan kaltaisilla järjestelmänvalvojilla tai rooleilla on rakenteen mukaan TIETOKANNAN HALLINTA-oikeudet ja he voivat oletusarvoisesti tarkastella määrittämättömiä tietoja. Laajennetut käyttöoikeudet varastossa sisältävät CONTROL käyttöoikeuden.

Suojaushuma: peittämisen ohittaminen päätelmiä tai raakavoimatekniikoita käyttämällä

Dynaamisen tietojen peittämisen tarkoituksena on yksinkertaistaa sovellusten kehittämistä rajoittamalla tietojen altistumista sovelluksessa käytettävissä ennalta määritetyissä kyselyissä. Vaikka dynaamisten tietojen peittämisestä voi olla hyötyä myös estämään luottamuksellisten tietojen tahaton altistuminen suoraan tietoja käytettäessä, on tärkeää huomata, että kyselykäyttöoikeudella vähämerkityksiset käyttäjät voivat käyttää tekniikoita, joilla he pääsevät käyttämään todellisia tietoja.

Esimerkkinä voidaan ajatella käyttäjää, jolla on riittävät oikeudet suorittaa kyselyitä Varastossa, ja yrittää "arvata" pohjana olevat tiedot ja lopulta päätellä todelliset arvot. Oletetaan, että sarakkeelle [Employee].[Salary] on määritetty rajoite, ja tämä käyttäjä muodostaa yhteyden suoraan tietokantaan ja alkaa arvailla arvoja ja lopulta päätellä taulukossa olevan [Salary] Employees arvon:

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

Tulokset:

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

Tämä osoittaa, että dynaamista tietojen peittämistä ei tulisi käyttää yksin luottamuksellisten tietojen suojaamiseen käyttäjiltä, joilla on kyselyn käyttöoikeus Warehouse- tai SQL-analytiikan päätepisteeseen. Se on tarkoituksenmukaista luottamuksellisten tietojen paljastumisen estämiseksi, mutta se ei suojaa haitallisilta aikeilta päätellä pohjana olevat tiedot.

On tärkeää hallita objektitason suojausta oikein SQL:n eriytetyillä käyttöoikeuksilla ja aina noudattaa mahdollisimman vähäisten käyttöoikeuksien periaatetta.

Seuraava vaihe