Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric
Dynamische gegevensmaskering is een functie voor gegevensbeveiliging die de blootstelling van gevoelige gegevens beperkt door deze te maskeren voor niet-gemachtigde gebruikers. Het vereenvoudigt het ontwerp en de codering van beveiliging in uw toepassing.
Dynamische gegevensmaskering helpt onbevoegde weergave van gevoelige gegevens te voorkomen. Beheerders geven op hoeveel gevoelige gegevens moeten worden weergegeven, met minimaal effect op de toepassingslaag. U kunt dynamische gegevensmaskering configureren voor aangewezen databasevelden om gevoelige gegevens in de resultatensets van query's te verbergen. De gegevens in de database worden niet gewijzigd, zodat bestaande toepassingen zonder wijzigingen kunnen blijven werken, omdat maskeringsregels worden toegepast op queryresultaten. Veel toepassingen kunnen gevoelige gegevens maskeren zonder bestaande query's te wijzigen.
Dynamische gegevensmaskering biedt deze mogelijkheden:
- Een centraal beleid voor gegevensmaskering werkt rechtstreeks op gevoelige velden in de database.
- Bevoegde gebruikers of rollen kunnen worden aangewezen voor toegang tot gevoelige gegevens.
- U kunt kiezen uit maskeringsopties: volledige maskerings- en gedeeltelijke maskeringsfuncties en een willekeurig masker voor numerieke gegevens.
- Eenvoudige Transact-SQL-opdrachten definiëren en beheren maskers.
Dynamische gegevensmaskering voorkomt niet dat databasegebruikers rechtstreeks verbinding maken met de database en uitgebreide query's uitvoeren die delen van de gevoelige gegevens beschikbaar maken. Gebruik dynamische gegevensmaskering samen met andere Fabric beveiligingsfuncties, zoals beveiliging op kolomniveau en beveiliging op rijniveau om gevoelige gegevens in de database te beveiligen.
Functies voor dynamische gegevensmaskering
Definieer een maskeringsregel voor een kolom in een tabel om de gegevens in die kolom te verdoezelen. Er zijn vier soorten maskers beschikbaar.
| Functie | Beschrijving | Voorbeelden |
|---|---|---|
| Standaard | Volledige maskering op basis van de gegevenstypen van de aangewezen velden. Voor tekenreeksgegevenstypen gebruikt u XXXX (of minder) als de veldgrootte minder dan 4 tekens is (char, nchar, varchar, nvarchar, text, ntext).Voor numerieke gegevenstypen wordt een nulwaarde gebruikt (bigint, bit, decimal, int, money, numeriek, smallint, smallmoney, tinyint, float, real). Gebruik voor typen datum- en tijdgegevens 1900-01-01 00:00:00.0000000 (date, datetime2, datetime, datetimeoffset, smalldatetime, time).Voor binaire gegevenstypen wordt één byte van ASCII-waarde 0 (binair, varbinair, afbeelding) gebruikt. |
Voorbeeld van syntaxis van kolomdefinitie: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULLVoorbeeld van de syntaxis wijzigen: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
| E-mailen | Maskeringsmethode waarmee de eerste letter van een e-mailadres en het constante achtervoegsel '.com' wordt weergegeven, in de vorm van een e-mailadres.
aXXX@XXXX.com. |
Voorbeeld van definitiesyntaxis: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULLVoorbeeld van de syntaxis wijzigen: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
| Willekeurig | Een functie voor willekeurige maskering voor gebruik op elk numeriek type om de oorspronkelijke waarde te maskeren met een willekeurige waarde binnen een opgegeven bereik. | Voorbeeld van definitiesyntaxis: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')Voorbeeld van de syntaxis wijzigen: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
| Aangepaste tekenreeks | Maskeringsmethode waarmee de eerste en laatste letters worden weergegeven en een aangepaste opvullingstekenreeks in het midden wordt toegevoegd. prefix,[padding],suffixAls de oorspronkelijke waarde te kort is om het hele masker te voltooien, wordt een deel van het voor- of achtervoegsel niet weergegeven. |
Voorbeeld van definitiesyntaxis: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULLVoorbeeld van de syntaxis wijzigen: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')Dit verandert een telefoonnummer zoals 555.123.12345XXXXXXXin . Aanvullend voorbeeld: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') Dit verandert een telefoonnummer zoals 555.123.1234555.1XXXXXXXin . |
Zie Dynamische gegevensmaskering implementeren in Fabric Data Warehouse voor meer voorbeelden.
Machtigingen voor dynamische gegevensmaskering
In Fabric Data Warehouse zien gebruikers gemaskeerde gegevens wanneer ze een query uitvoeren op gemaskeerde kolommen als ze geen lid zijn van de rollen Beheerder, Lid of Inzender in de werkruimte, of geen verhoogde machtigingen voor het magazijn hebben.
De volgende tabel bevat de machtigingen die vereist zijn voor elke dynamische gegevensmaskeringsbewerking:
| Operation | Vereiste machtiging |
|---|---|
| Een tabel maken met gemaskeerde kolommen |
CREATE TABLE en ALTER in het schema |
| Een masker aan een kolom toevoegen, vervangen of verwijderen |
ALTER ANY MASK en ALTER op de tafel |
| Gemaskeerde gegevens weergeven |
SELECT op de tafel |
| Niet-gemaskeerde gegevens weergeven |
UNMASK op de kolom of CONTROL op de database |
Verlenen ALTER ANY MASK aan een beveiligingsfunctionaris. Verleen UNMASK aan een gebruiker zodat de gebruiker ongemaskeerde gegevens uit gemaskeerde kolommen kan ophalen.
De CONTROL-machtiging voor de database omvat zowel ALTER ANY MASK als UNMASK, zodat gebruikers die CONTROL hebben niet-gemaskeerde gegevens kunnen bekijken. Gebruikers met beheerdersrechten of rollen, zoals Beheerder, Lid of Inzender, hebben CONTROL standaard machtigingen voor de database en kunnen standaard niet-gemaskeerde gegevens weergeven. Verhoogde machtigingen voor het magazijn bevatten CONTROL machtigingen.
Beveiligingsoverwegingen: maskering omzeilen met behulp van deductie- of brute-forcetechnieken
Dynamische gegevensmaskering vereenvoudigt het ontwikkelen van toepassingen door de blootstelling van gegevens te beperken in een set vooraf gedefinieerde query's die door de toepassing worden gebruikt. Hoewel dynamische gegevensmaskering ook kan helpen bij het voorkomen van onbedoelde blootstelling van gevoelige gegevens bij het rechtstreeks openen van gegevens, kunnen onbevoegde gebruikers met querymachtigingen technieken gebruiken om de werkelijke gegevens af te leiden.
Een gebruiker die gemachtigd is om query's uit te voeren in het magazijn, kan bijvoorbeeld waarden raden om gemaskeerde gegevens af te leiden. Stel dat u een masker op de [Employee].[Salary] kolom definieert. De gebruiker maakt rechtstreeks verbinding met de database en begint waarden te raden, en leidt daaruit uiteindelijk de waarde [Salary] in de tabel Employees af. Ze voeren een bereikquery uit op de Employees tabel:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
De query geeft het volgende resultaat op:
| Id | Naam | Salaris |
|---|---|---|
| 62543 | Jane Doe | 0 |
| 91245 | John Smith | 0 |
Hoewel de Salary kolom wordt gemaskeerd (de waarden worden weergegeven als 0), bevestigt de WHERE component dat beide werknemers een salaris hebben tussen $ 99.999 en $ 100.001. Gebruik niet alleen dynamische gegevensmaskering om gevoelige gegevens van gebruikers met querytoegang tot het warehouse- of SQL-analyse-eindpunt volledig te beveiligen. Dynamische gegevensmaskering is geschikt voor het voorkomen van onbedoelde blootstelling van gevoelige gegevens, maar het beschermt niet tegen schadelijke bedoelingen om de onderliggende gegevens af te leiden.
Beheer de beveiliging op objectniveau met gedetailleerde SQL-machtigingen en volg altijd het principe van minimale bevoegdheden.
Gerelateerde inhoud
- Werkruimterollen in datawarehousing van Fabric
- Beveiliging op kolomniveau in Fabric-datawarehousing
- Beveiliging op rijniveau in Fabric-datawarehousing
- Beveiliging voor datawarehousing in Microsoft Fabric