Bizalmas adatok kezelése dinamikus adatmaszkolással
Az Azure SQL Database, a felügyelt Azure SQL-példány és az Azure Synapse Analytics támogatja a dinamikus adatmaszkolást. A dinamikus adatmaszkolás korlátozott adatexpozíciót biztosít a nem hátrányos helyzetű felhasználók számára, így nem látják a maszkolt adatokat. Emellett segít megelőzni az olyan bizalmas információkhoz való jogosulatlan hozzáférést, amelyek minimális hatással vannak az alkalmazásrétegre. A dinamikus adatmaszkolás egy szabályzatalapú biztonsági funkció. Elrejti a bizalmas adatokat egy olyan lekérdezés eredményhalmazában, amely a kijelölt adatbázismezőkön fut.
Lássunk egy példát a működésre. Tegyük fel, hogy egy banknál dolgozik szolgáltatás-képviselőként egy call centerben. A megfelelőség miatt minden hívónak azonosítania kell magát a hitelkártyaszám több számjegyének megadásával. Ebben az esetben a teljes hitelkártyaszámnak nem szabad teljes mértékben kitéve lennie a ügyfélszolgálati képviselőnek. Meghatározhat egy maszkolási szabályt, amely a hitelkártyaszám utolsó négy számjegyén ki nem szereplő összes számjegyet maszkolja, így olyan lekérdezést kap, amely csak a hitelkártyaszám utolsó négy számjegyét adja meg. Ez csak egy példa, amely különböző személyes adatokra is alkalmazható, így a megfelelőség nem sérül. Az Azure Synapse Analytics esetében a dinamikus adatmaszkolási szabályzat beállításának módja a PowerShell vagy a REST API használata. A dinamikus adatmaszkolási szabályzat konfigurációját az Azure SQL Database rendszergazdája, kiszolgálóadminisztrátora vagy SQL Security Manager-szerepkörei végezhetik el.
Az Azure Synapse Analyticsben itt találja a dinamikus adatmaszkolást;
Dinamikus adatmaszkolási szabályzatok:
A dinamikus adatmaszkolási szabályzatokból kizárt SQL-felhasználók
A következő SQL-felhasználók vagy a Microsoft Entra-identitások lekérhetik a maszkolt adatokat az SQL-lekérdezés eredményeiben. A rendszergazdai jogosultságokkal rendelkező felhasználók mindig ki vannak zárva a maszkolásból, és maszk nélkül fogják látni az eredeti adatokat.
Maszkoló szabályok – A maszkolási szabályok olyan szabályok, amelyek meghatározzák a maszkolandó mezőket, beleértve a használt maszkoló függvényt is. The designated fields can be defined using a database schema name, table name, and column name.
Maszkoló függvények – A maszkoló függvények olyan metódusok, amelyek különböző forgatókönyvek adatexpozícióját szabályozzák.
Dinamikus adatmaszkolás beállítása az adatbázishoz az Azure Synapse Analyticsben PowerShell-parancsmagok használatával
Ebben a részben egy Azure Synapse Analytics-adatbázis dinamikus adatmaszkolását fogjuk megvizsgálni PowerShell-parancsmagok használatával.
- Adatmaszkolási szabályzatok
- Get-AzSqlDatabaseDataMaskingPolicy
A Get-AzSqlDatabaseDataMaskingPolicy lekéri egy adatbázis adatmaszkolási szabályzatát.
A PowerShell Get-AzSqlDatabaseDataMaskingPolicy szintaxisa a következő:
Get-AzSqlDatabaseDataMaskingPolicy [-ServerName] <String> [-DatabaseName] <String>
[-ResourceGroupName] <String> [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
[<CommonParameters>]
A Get-AzSqlDatabaseDataMaskingPolicy parancsmag az Azure SQL-adatbázis adatmaszkolási szabályzatának lekérése.
A parancsmag PowerShellben való használatához meg kell adnia a következő paramétereket az adatbázis azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben üzembe helyezte az adatbázist
- ServerName: sql server name
- DatabaseName : az adatbázis neve
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
- Set-AzSqlDatabaseDataMaskingPolicy
A Set-AzSqlDatabaseDataMaskingPolicy adatmaszkolást állít be egy adatbázishoz.
A Set-AzSqlDatabaseDataMaskingPolicy szintaxisa a PowerShellben a következő:
Set-AzSqlDatabaseDataMaskingPolicy [-PassThru] [-PrivilegedUsers <String>] [-DataMaskingState <String>]
[-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
A Set-AzSqlDatabaseDataMaskingPolicy parancsmag az Azure SQL-adatbázis adatmaszkolási szabályzatának beállítása.
A parancsmag PowerShellben való használatához meg kell adnia a következő paramétereket az adatbázis azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
Emellett be kell állítania a DataMaskingState paramétert annak megadásához, hogy engedélyezve vagy letiltva vannak-e az adatmaszkolási műveletek.
Ha a parancsmag sikeres, és a PassThru paramétert használja, az adatbázis-azonosítók mellett egy, az aktuális adatmaszkolási szabályzatot leíró objektumot is visszaad.
Az adatbázis-azonosítók lehetnek például a ResourceGroupName, a ServerName és a DatabaseName.
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
- Adatmaszkolás szabályai
- Get-AzSqlDatabaseDataMaskingRule
A Get-AzSqlDatabaseDataMaskingRule lekéri az adatmaszkolási szabályokat egy adatbázisból.
A PowerShell Get-AzSqlDatabaseDataMaskingRule szintaxisa a következő:
Get-AzSqlDatabaseDataMaskingRule [-SchemaName <String>] [-TableName <String>] [-ColumnName <String>]
[-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
A Get-AzSqlDatabaseDataMaskingRule parancsmag egy adott adatmaszkoló szabályt vagy egy Azure SQL-adatbázis összes adatmaszkolási szabályát kapja meg.
A parancsmag PowerShellben való használatához meg kell adnia a következő paramétereket az adatbázis azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
Azt is meg kell adnia a RuleId paramétert, hogy megadja, melyik szabályt adja vissza ez a parancsmag.
Ha nem adja meg a RuleId azonosítót, a rendszer visszaadja az Azure SQL-adatbázis összes adatmaszkolási szabályát.
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
- New-AzSqlDatabaseDataMaskingRule
A New-AzSqlDatabaseDataMaskingRule létrehoz egy adatmaszkoló szabályt egy adatbázishoz.
A PowerShell-ben a New-AzSqlDatabaseDataMaskingRule szintaxisa a következő:
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>]
A New-AzSqlDatabaseDataMaskingRule parancsmag egy adatmaszkoló szabályt hoz létre egy Azure SQL-adatbázishoz.
A parancsmag PowerShellben való használatához a következő paramétereket kell megadnia a szabály azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
A táblanév és oszlopnév megadása szükséges a szabály céljának megadásához.
Az adatok maszkolásának meghatározásához a MaskingFunction paraméter szükséges.
Ha a MaskingFunction értéke Szám vagy Szöveg, megadhatja a NumberFrom és a NumberTo paramétereket a számmaszkoláshoz, vagy a szövegmaszkolás előtagja, a ReplacementString és a SuffixSize értéket.
Ha a parancs sikeres, és a PassThru paramétert használja, a parancsmag egy objektumot ad vissza, amely az adatmaszkoló szabály tulajdonságait írja le a szabályazonosítók mellett.
A szabályazonosítók lehetnek például ResourceGroupName, ServerName, DatabaseName és RuleID.
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
- Remove-AzSqlDatabaseDataMaskingRule
A Remove-AzSqlDatabaseDataMaskingRule eltávolít egy adatmaszkoló szabályt egy adatbázisból.
A Remove-AzSqlDatabaseDataMaskingRule szintaxisa a PowerShellben a következő:
Remove-AzSqlDatabaseDataMaskingRule [-PassThru] [-Force] -SchemaName <String> -TableName <String>
-ColumnName <String> [-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
[-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]
A Remove-AzSqlDatabaseDataMaskingRule parancsmag azt teszi, hogy eltávolít egy adott adatmaszkolási szabályt egy Azure SQL-adatbázisból.
A parancsmag PowerShellben való használatához a következő paramétereket kell megadnia az eltávolítandó szabály azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- RuleId : a szabály azonosítója
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
- Set-AzSqlDatabaseDataMaskingRule
A Set-AzSqlDatabaseDataMaskingRule egy adatbázis adatmaszkoló szabályának tulajdonságait állítja be.
A Set-AzSqlDatabaseDataMaskingRule szintaxisa a PowerShellben a következő:
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>]
A Set-AzSqlDatabaseDataMaskingRule parancsmag egy adatmaszkoló szabályt állít be egy Azure SQL-adatbázishoz.
A parancsmag PowerShellben való használatához a következő paramétereket kell megadnia a szabály azonosításához:
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- RuleId : a szabály azonosítója
A Sémanév, a TableName és a ColumnName paraméter bármelyikét megadhatja a szabály újbóli létrehozásához.
Adja meg a MaskingFunction paramétert az adatok maszkolásának módosításához.
Ha szám vagy szöveg értéket ad meg a MaskingFunctionhoz, megadhatja a számmaszkolás NumberFrom és NumberTo paraméterét, illetve a szövegmaszkolás előtagjainak, a ReplacementString és a SuffixSize paraméternek.
Ha a parancs sikeres, és megadja a PassThru paramétert, a parancsmag egy objektumot ad vissza, amely leírja az adatmaszkolási szabály tulajdonságait és a szabályazonosítókat.
A szabályazonosítók lehetnek: ResourceGroupName, ServerName, DatabaseName és RuleId.
Ezt a parancsmagot az Azure-beli SQL Server Stretch Database szolgáltatás is támogatja.
Dinamikus adatmaszkolás beállítása az adatbázishoz az Azure Synapse Analyticsben a REST API használatával
Az Azure Synapse Analytics dinamikus adatmaszkolásának beállításához használhatja a REST API-t is. Lehetővé teszi az adatmaszkolási szabályzatok és szabályok programozott kezelését.
A REST API a következő műveleteket támogatja:
- Adatmaszkolási szabályzatok
- Létrehozás vagy frissítés
A REST API használatával létrehozott vagy frissített maszkoló szabályzat létrehoz vagy frissít egy adatbázis-adatmaszkolási szabályzatot.
HTTP-ben a következő kérés hajtható végre: Megjegyzés: >Az API dátuma idővel megváltozik, és a használt verziót az igényei és a funtionalitás újraszámozza.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01
A következő paramétereket kell átadni:
- SubscriptionID: az előfizetés azonosítója
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- dataMaskingPolicyName: az adatmaszkolási szabályzat neve
- api-verzió: a használt api verziója.
- Lekérés
A Get szabályzat lekéri az adatbázis-adatmaszkolási szabályzatot.
HTTP-ben a következő kérés hajtható végre:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01
A következő paramétereket kell átadni:
- SubscriptionID: az előfizetés azonosítója
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- dataMaskingPolicyName: az adatmaszkolási szabályzat neve
- api-verzió: a használt api verziója.
Adatmaszkolás szabályai
Létrehozás vagy frissítés
A Maszkolás létrehozása vagy frissítése szabály létrehoz vagy frissít egy adatbázis-adatmaszkolási szabályt.
HTTP-ben a következő kérés hajtható végre:
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
A következő paramétereket kell átadni:
- SubscriptionID: az előfizetés azonosítója
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- dataMaskingPolicyName: az adatmaszkolási szabályzat neve
- dataMaskingRuleName: az adatmaszkolás szabályának neve
- api-verzió: a használt api verziója.
- Listázás adatbázis szerint
A List By Database kérés lekéri az adatbázis-adatmaszkolás szabályainak listáját.
HTTP-ben a következő kérés hajtható végre:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default/rules?api-version=2021-06-01
A következő paramétereket kell átadni:
- SubscriptionID: az előfizetés azonosítója
- ResourceGroupName: annak az erőforráscsoportnak a neve, amelyben az adatbázist üzembe helyezte
- ServerName : sql server name
- DatabaseName : az adatbázis neve
- dataMaskingPolicyName: az adatmaszkolási szabályzat neve
- api-verzió: a használt api verziója.