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 toteuttaa dynaamisia tietomassioita Fabric Data Warehousessa.
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.
Liittyvä sisältö
- Työtilaroolit Fabric-tietovarastoinnissa
- Saraketason suojaus Fabric-tietovarastossa
- Rivitason suojaus Fabric-tietovarastossa
- Microsoft Fabricin tietovarastoinnin suojaus