Správa citlivých dat pomocí dynamického maskování dat
Azure SQL Database, Azure SQL Managed Instance a Azure Synapse Analytics podporují dynamické maskování dat. Dynamické maskování dat zajišťuje omezené vystavení dat neprivilegovaným uživatelům, aby neviděli maskovaná data. Pomáhá také zabránit neoprávněnému přístupu k citlivým informacím, které mají minimální dopad na aplikační vrstvu. Dynamické maskování dat je funkce zabezpečení založená na zásadách. V sadě výsledků dotazu, který se spouští nad určenými databázovými poli, skryje citlivá data.
Dáme vám příklad, jak to funguje. Řekněme, že pracujete v bance jako zástupce služeb v call centru. Z důvodu dodržování předpisů musí každý volající sám sebe identifikovat tím, že poskytne několik číslic čísla platební karty. V tomto scénáři by celé číslo platební karty nemělo být plně vystaveno zástupci služeb v call centru. Můžete definovat pravidlo maskování, které maskuje všechny čtyři číslice čísla platební karty, abyste získali dotaz, který bude obsahovat pouze poslední čtyři číslice čísla platební karty. Toto je jen jeden příklad, který by se dal stejně použít na řadu osobních údajů, aby dodržování předpisů nebylo porušeno. Pro Azure Synapse Analytics je způsob nastavení zásad dynamického maskování dat pomocí PowerShellu nebo rozhraní REST API. Konfiguraci zásad dynamického maskování dat může provádět správce služby Azure SQL Database, správce serveru nebo role Správce zabezpečení SQL.
V Azure Synapse Analytics najdete dynamické maskování dat zde;
Zobrazení zásad dynamického maskování dat:
Uživatelé SQL vyloučení ze zásad dynamického maskování dat
Následující uživatelé SQL nebo identity Microsoft Entra mohou získat nemaskovaná data ve výsledcích dotazu SQL. Uživatelé s oprávněními správce jsou vždy vyloučeni z maskování a zobrazí se původní data bez masky.
Pravidla maskování – Pravidla maskování jsou sada pravidel, která definují určená pole, která se mají maskovat, včetně použité funkce maskování. Určená pole je možné definovat pomocí názvu schématu databáze, názvu tabulky a názvu sloupce.
Maskovací funkce – Maskovací funkce jsou sadou metod, které řídí vystavení dat pro různé scénáře.
Nastavení dynamického maskování dat pro vaši databázi ve službě Azure Synapse Analytics pomocí rutin PowerShellu
V této části se podíváme na dynamické maskování dat pro databázi ve službě Azure Synapse Analytics pomocí rutin PowerShellu.
- Zásady maskování dat
- Get-AzSqlDatabaseDataMaskingPolicy
Get-AzSqlDatabaseDataMaskingPolicy získá zásady maskování dat pro databázi.
Syntaxe Get-AzSqlDatabaseDataMaskingPolicy v PowerShellu je následující:
Get-AzSqlDatabaseDataMaskingPolicy [-ServerName] <String> [-DatabaseName] <String>
[-ResourceGroupName] <String> [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Co dělá rutina Get-AzSqlDatabaseDataMaskingPolicy , získává zásady maskování dat databáze Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste k identifikaci databáze zadat následující parametry:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
- Set-AzSqlDatabaseDataMaskingPolicy
Set-AzSqlDatabaseDataMaskingPolicy nastaví maskování dat pro databázi.
Syntaxe set-AzSqlDatabaseDataMaskingPolicy v PowerShellu je následující:
Set-AzSqlDatabaseDataMaskingPolicy [-PassThru] [-PrivilegedUsers <String>] [-DataMaskingState <String>]
[-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
Co dělá rutina Set-AzSqlDatabaseDataMaskingPolicy , je nastavení zásad maskování dat pro databázi Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste k identifikaci databáze zadat následující parametry:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
Kromě toho budete muset nastavit parametr DataMaskingState , abyste určili, jestli jsou operace maskování dat povolené nebo zakázané.
Pokud je rutina úspěšná a použije se parametr PassThru , vrátí objekt popisující aktuální zásady maskování dat kromě identifikátorů databáze.
Identifikátory databáze můžou zahrnovat ResourceGroupName, ServerName a DatabaseName.
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
- Pravidla maskování dat
- Get-AzSqlDatabaseDataMaskingRule
Get-AzSqlDatabaseDataMaskingRule Získá pravidla maskování dat z databáze.
Syntaxe rutiny Get-AzSqlDatabaseDataMaskingRule v PowerShellu je následující:
Get-AzSqlDatabaseDataMaskingRule [-SchemaName <String>] [-TableName <String>] [-ColumnName <String>]
[-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
Jaká rutina Get-AzSqlDatabaseDataMaskingRule získá buď konkrétní pravidlo maskování dat, nebo všechna pravidla maskování dat pro databázi Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste k identifikaci databáze zadat následující parametry:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
Také byste museli zadat parametr RuleId , abyste určili, které pravidlo vrátí tato rutina.
Pokud nezadáte RuleId, vrátí se všechna pravidla maskování dat pro tuto databázi Azure SQL.
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
- New-AzSqlDatabaseDataMaskingRule
New-AzSqlDatabaseDataMaskingRule vytvoří pravidlo maskování dat pro databázi.
Syntaxe rutiny New-AzSqlDatabaseDataMaskingRule v PowerShellu je následující:
New-AzSqlDatabaseDataMaskingRule -MaskingFunction <String> [-PrefixSize <UInt32>] [-ReplacementString <String>]
[-SuffixSize <UInt32>] [-NumberFrom <Double>] [-NumberTo <Double>] [-PassThru] -SchemaName <String>
-TableName <String> -ColumnName <String> [-ServerName] <String> [-DatabaseName] <String>
[-ResourceGroupName] <String> [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Co dělá rutina New-AzSqlDatabaseDataMaskingRule , vytváří pravidlo maskování dat pro databázi Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste k identifikaci pravidla zadat následující parametry:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
Zadání TableName a ColumnName je nezbytné k určení cíle pravidla.
Parametr MaskingFunction je nezbytný k definování způsobu maskování dat.
Pokud má MaskingFunction hodnotu Number nebo Text, můžete pro maskování textu zadat parametry NumberFrom a NumberTo nebo PrefixSize, ReplacementString a SuffixSize .
Pokud je příkaz úspěšný a použije se parametr PassThru , rutina vrátí objekt popisující vlastnosti pravidla maskování dat kromě identifikátorů pravidla.
Identifikátory pravidel můžou být například ResourceGroupName, ServerName, DatabaseName a RuleID.
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
- Remove-AzSqlDatabaseDataMaskingRule
Remove-AzSqlDatabaseDataMaskingRule odebere pravidlo maskování dat z databáze.
Syntaxe rutiny Remove-AzSqlDatabaseDataMaskingRule v PowerShellu je následující:
Remove-AzSqlDatabaseDataMaskingRule [-PassThru] [-Force] -SchemaName <String> -TableName <String>
-ColumnName <String> [-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
Co dělá rutina Remove-AzSqlDatabaseDataMaskingRule , je odebrání konkrétního pravidla maskování dat z databáze Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste zadat následující parametry, abyste identifikovali pravidlo, které je potřeba odebrat:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- RuleId : identifikátor pravidla
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
- Set-AzSqlDatabaseDataMaskingRule
Set-AzSqlDatabaseDataMaskingRule Nastaví vlastnosti pravidla maskování dat pro databázi.
Syntaxe set-AzSqlDatabaseDataMaskingRule v PowerShellu je následující:
Set-AzSqlDatabaseDataMaskingRule [-MaskingFunction <String>] [-PrefixSize <UInt32>]
[-ReplacementString <String>] [-SuffixSize <UInt32>] [-NumberFrom <Double>] [-NumberTo <Double>] [-PassThru]
-SchemaName <String> -TableName <String> -ColumnName <String> [-ServerName] <String> [-DatabaseName] <String>
[-ResourceGroupName] <String> [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Co dělá rutina Set-AzSqlDatabaseDataMaskingRule , je nastavení pravidla maskování dat pro databázi Azure SQL.
Pokud chcete tuto rutinu použít v PowerShellu, museli byste k identifikaci pravidla zadat následující parametry:
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- RuleId : identifikátor pravidla
Můžete zadat libovolný z parametrů SchemaName, TableName a ColumnName k opětovnému cílení pravidla.
Zadejte parametr MaskingFunction pro úpravu způsobu maskování dat.
Pokud zadáte hodnotu Number nebo Text pro MaskingFunction, můžete zadat parametry NumberFrom a NumberTo pro maskování čísel nebo PrefixSize, ReplacementString a SuffixSize parametry pro maskování textu.
Pokud příkaz proběhne úspěšně a zadáte parametr PassThru , vrátí rutina objekt, který popisuje vlastnosti pravidla maskování dat a identifikátory pravidla.
Identifikátory pravidel můžou být ResourceGroupName, ServerName, DatabaseName a RuleId.
Tuto rutinu podporuje také služba SQL Server Stretch Database v Azure.
Nastavení dynamického maskování dat pro vaši databázi ve službě Azure Synapse Analytics pomocí rozhraní REST API
Pro nastavení dynamického maskování dat ve službě Azure Synapse Analytics můžete také využít rozhraní REST API. Umožní vám programově spravovat zásady a pravidla maskování dat.
Rozhraní REST API bude podporovat následující operace:
- Zásady maskování dat
- Vytvoření nebo aktualizace
Zásady maskování vytvoření nebo aktualizace pomocí rozhraní REST API vytvoří nebo aktualizují zásady maskování dat databáze.
V HTTP můžete provést následující požadavek: Poznámka: >Datum, kdy se rozhraní API změní v průběhu času, a verze, kterou použijete, bude určena vašimi potřebami a requritou funtionality.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01
Je potřeba předat následující parametry:
- SUBSCRIPTIONID: ID předplatného
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- dataMaskingPolicyName: název zásady maskování dat
- verze rozhraní API: verze rozhraní API, která se používá.
- Získat
Zásady Získání načte zásady maskování dat databáze.
V PROTOKOLU HTTP je možné provést následující požadavek:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01
Je potřeba předat následující parametry:
- SUBSCRIPTIONID: ID předplatného
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- dataMaskingPolicyName: název zásady maskování dat
- verze rozhraní API: verze rozhraní API, která se používá.
Pravidla maskování dat
Vytvoření nebo aktualizace
Pravidlo vytvoření nebo aktualizace maskování vytvoří nebo aktualizuje pravidlo maskování dat databáze.
V PROTOKOLU HTTP je možné provést následující požadavek:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default/rules/{dataMaskingRuleName}?api-version=2021-06-01
Je potřeba předat následující parametry:
- SUBSCRIPTIONID: ID předplatného
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- dataMaskingPolicyName: název zásady maskování dat
- dataMaskingRuleName: název pravidla pro maskování dat
- verze rozhraní API: verze rozhraní API, která se používá.
- Seznam podle databáze
Požadavek List By Database získá seznam pravidel maskování dat databáze.
V PROTOKOLU HTTP je možné provést následující požadavek:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default/rules?api-version=2021-06-01
Je potřeba předat následující parametry:
- SUBSCRIPTIONID: ID předplatného
- ResourceGroupName: název skupiny prostředků, do které jste databázi nasadili
- Název serveru: název sql serveru
- DatabaseName : název databáze
- dataMaskingPolicyName: název zásady maskování dat
- verze rozhraní API: verze rozhraní API, která se používá.