Gevoelige gegevens beheren met dynamische gegevensmaskering

Voltooid

Azure SQL Database, Azure SQL Managed Instance en Azure Synapse Analytics bieden ondersteuning voor dynamische gegevensmaskering. Dynamische gegevensmaskering zorgt ervoor dat beperkte gegevens worden blootgesteld aan niet-gemachtigde gebruikers, zodat ze de gegevens die worden gemaskeerd niet kunnen zien. Het helpt u ook bij het voorkomen van onbevoegde toegang tot gevoelige informatie die minimale gevolgen heeft voor de toepassingslaag. Dynamische gegevensmaskering is een beveiligingsfunctie op basis van beleid. Hiermee worden de gevoelige gegevens verborgen in een resultatenset van een query die wordt uitgevoerd op aangewezen databasevelden.

Laten we een voorbeeld geven van hoe het werkt. Stel dat u bij een bank werkt als servicevertegenwoordiger in een callcenter. Vanwege naleving moet elke beller zichzelf identificeren door verschillende cijfers van het creditcardnummer op te geven. In dit scenario mag het volledige creditcardnummer niet volledig zichtbaar zijn voor de servicevertegenwoordiger in het callcenter. U kunt een maskeringsregel definiëren waarmee alle behalve de laatste vier cijfers van een creditcardnummer worden gemaskeerd, zodat u een query krijgt die alleen de laatste vier cijfers van het creditcardnummer geeft. Dit is slechts één voorbeeld dat evenzeer kan worden toegepast op verschillende persoonsgegevens, zodat naleving niet wordt geschonden. Voor Azure Synapse Analytics gebruikt u PowerShell of de REST API om een beleid voor dynamische gegevensmaskering in te stellen. De configuratie van het beleid voor dynamische gegevensmaskering kan worden uitgevoerd door de rollen Azure SQL Database-beheerder, serverbeheerder of SQL Security Manager.

In Azure Synapse Analytics vindt u hier dynamische gegevensmaskering;

Dynamische gegevensmaskering van Azure Synapse Analytics

Kijken naar dynamisch beleid voor gegevensmaskering:

  • SQL-gebruikers die zijn uitgesloten van dynamisch gegevensmaskeringsbeleid

    De volgende SQL-gebruikers of Microsoft Entra-identiteiten kunnen ontmaskerde gegevens ophalen in de SQL-queryresultaten. Gebruikers met beheerdersbevoegdheden worden altijd uitgesloten van maskering en zien de oorspronkelijke gegevens zonder masker.

  • Maskeringsregels : maskeringsregels zijn een set regels waarmee de aangewezen velden worden gedefinieerd die moeten worden gemaskeerd, inclusief de maskeringsfunctie die wordt gebruikt. De aangewezen velden kunnen worden gedefinieerd met behulp van een databaseschemanaam, tabelnaam en kolomnaam.

  • Maskeringsfuncties : maskeringsfuncties zijn een set methoden waarmee de blootstelling van gegevens voor verschillende scenario's wordt bepaald.

Dynamische gegevensmaskering instellen voor uw database in Azure Synapse Analytics met behulp van PowerShell-cmdlets

In dit deel gaan we kijken naar dynamische gegevensmaskering voor een database in Azure Synapse Analytics met behulp van PowerShell-cmdlets.

  • Beleid voor gegevensmaskering
  • Get-AzSqlDatabaseDataMaskingPolicy

De Get-AzSqlDatabaseDataMaskingPolicy haalt het beleid voor gegevensmaskering voor een database op.

De syntaxis voor de Get-AzSqlDatabaseDataMaskingPolicy in PowerShell is als volgt:

Get-AzSqlDatabaseDataMaskingPolicy [-ServerName] <String> [-DatabaseName] <String>
 [-ResourceGroupName] <String> [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm]
 [<CommonParameters>]

Wat de cmdlet Get-AzSqlDatabaseDataMaskingPolicy doet, is het ophalen van het beleid voor gegevensmaskering van een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de database te identificeren:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam: sql-servernaam
  • DatabaseName : naam van de database

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

  • Set-AzSqlDatabaseDataMaskingPolicy

De Set-AzSqlDatabaseDataMaskingPolicy stelt gegevensmaskering in voor een database.

De syntaxis voor set-AzSqlDatabaseDataMaskingPolicy in PowerShell is als volgt:

Set-AzSqlDatabaseDataMaskingPolicy [-PassThru] [-PrivilegedUsers <String>] [-DataMaskingState <String>]
 [-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
 [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]

Wat de cmdlet Set-AzSqlDatabaseDataMaskingPolicy doet, is het instellen van het beleid voor gegevensmaskering voor een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de database te identificeren:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database

Daarnaast moet u de parameter DataMaskingState instellen om op te geven of bewerkingen voor gegevensmaskering zijn ingeschakeld of uitgeschakeld.

Als de cmdlet slaagt en de Parameter PassThru wordt gebruikt, retourneert het een object dat het huidige beleid voor gegevensmaskering beschrijft, naast de database-id's.

Database-id's kunnen bestaan uit ResourceGroupName, ServerName en DatabaseName.

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

  • Regels voor gegevensmaskering
  • Get-AzSqlDatabaseDataMaskingRule

De Get-AzSqlDatabaseDataMaskingRule haalt de regels voor gegevensmaskering op uit een database.

De syntaxis voor de Get-AzSqlDatabaseDataMaskingRule in PowerShell is als volgt:

Get-AzSqlDatabaseDataMaskingRule [-SchemaName <String>] [-TableName <String>] [-ColumnName <String>]
 [-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
 [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]

Wat de cmdlet Get-AzSqlDatabaseDataMaskingRule doet het ophalen van een specifieke regel voor gegevensmaskering of alle regels voor gegevensmaskering voor een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de database te identificeren:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database

U moet ook de RuleId-parameter opgeven om op te geven welke regel door deze cmdlet wordt geretourneerd.

Als u RuleId niet opgeeft, worden alle regels voor gegevensmaskering voor die Azure SQL-database geretourneerd.

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

  • New-AzSqlDatabaseDataMaskingRule

Met New-AzSqlDatabaseDataMaskingRule maakt u een gegevensmaskeringsregel voor een database.

De syntaxis voor new-AzSqlDatabaseDataMaskingRule in PowerShell is als volgt:

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>]

Wat de cmdlet New-AzSqlDatabaseDataMaskingRule doet, is het maken van een gegevensmaskeringsregel voor een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de regel te identificeren:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database

Het opgeven van de TableName en ColumnName is nodig om het doel van de regel op te geven.

De parameter MaskingFunction is nodig om te definiëren hoe de gegevens worden gemaskeerd.

Als MaskingFunction de waarde Getal of Tekst heeft, kunt u de parameters NumberFrom en NumberTo opgeven, voor nummermaskering of voor voorvoegsels, ReplacementString en SuffixSize voor tekstmaskering.

Als de opdracht slaagt en de parameter PassThru wordt gebruikt, retourneert de cmdlet een object waarin de eigenschappen van de gegevensmaskeringsregel worden beschreven, naast de regel-id's.

Regel-id's kunnen bijvoorbeeld ResourceGroupName, ServerName, DatabaseName en RuleID zijn.

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

  • Remove-AzSqlDatabaseDataMaskingRule

Met Remove-AzSqlDatabaseDataMaskingRule wordt een gegevensmaskeringsregel uit een database verwijderd.

De syntaxis voor remove-AzSqlDatabaseDataMaskingRule in PowerShell is als volgt:

Remove-AzSqlDatabaseDataMaskingRule [-PassThru] [-Force] -SchemaName <String> -TableName <String>
 -ColumnName <String> [-ServerName] <String> [-DatabaseName] <String> [-ResourceGroupName] <String>
 [-DefaultProfile <IAzureContextContainer>] [-WhatIf] [-Confirm] [<CommonParameters>]

Wat de cmdlet Remove-AzSqlDatabaseDataMaskingRule doet, is het verwijderen van een specifieke regel voor gegevensmaskering uit een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de regel te identificeren die moet worden verwijderd:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • RuleId : id van de regel

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

  • Set-AzSqlDatabaseDataMaskingRule

De set-AzSqlDatabaseDataMaskingRule stelt de eigenschappen van een gegevensmaskeringsregel voor een database in.

De syntaxis voor de Set-AzSqlDatabaseDataMaskingRule in PowerShell is als volgt:

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>]

Wat de cmdlet Set-AzSqlDatabaseDataMaskingRule doet, is het instellen van een gegevensmaskeringsregel voor een Azure SQL-database.

Als u deze cmdlet in PowerShell wilt gebruiken, moet u de volgende parameters opgeven om de regel te identificeren:

  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • RuleId : id van de regel

U kunt een van de parameters van SchemaName, TableName en ColumnName opgeven om de regel opnieuw te bepalen.

Geef de parameter MaskingFunction op om te wijzigen hoe de gegevens worden gemaskeerd.

Als u een waarde voor Getal of Tekst voor MaskingFunction opgeeft, kunt u de parameters NumberFrom en NumberTo opgeven voor nummermaskering of de parameters PrefixSize, ReplacementString en SuffixSize voor tekstmaskering.

Als de opdracht slaagt en als u de Parameter PassThru opgeeft, retourneert de cmdlet een object dat de eigenschappen van de gegevensmaskeringregel en de regel-id's beschrijft.

Regel-id's kunnen zijn, ResourceGroupName, ServerName, DatabaseName en RuleId.

Deze cmdlet wordt ook ondersteund door de SQL Server Stretch Database-service in Azure.

Dynamische gegevensmaskering instellen voor uw database in Azure Synapse Analytics met behulp van de REST API

Voor het instellen van dynamische gegevensmaskering in Azure Synapse Analytics kunt u ook gebruikmaken van de REST API. Hiermee kunt u beleid en regels voor gegevensmaskering programmatisch beheren.

De REST API biedt ondersteuning voor de volgende bewerkingen:

  • Beleid voor gegevensmaskering
  • Maken of bijwerken

Het maskeringsbeleid maken of bijwerken met behulp van de REST API maakt of werkt een beleid voor databasegegevensmaskering bij.

In HTTP kan de volgende aanvraag worden gedaan: Opmerking: >de datum van de API wordt na verloop van tijd gewijzigd en de versie die u gebruikt, wordt bepaald door uw behoeften en de funtionaliteit.

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01

De volgende parameters moeten worden doorgegeven:

  • SubscriptionID: de id van het abonnement
  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • dataMaskingPolicyName: de naam van het beleid voor gegevensmaskering
  • api-versie: versie van de API die wordt gebruikt.
  • Ophalen

Het beleid Ophalen, haalt een beleid voor databasegegevensmaskering op.

In HTTP kan de volgende aanvraag worden gedaan:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default?api-version=2021-06-01

De volgende parameters moeten worden doorgegeven:

  • SubscriptionID: de id van het abonnement
  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • dataMaskingPolicyName: de naam van het beleid voor gegevensmaskering
  • api-versie: versie van de API die wordt gebruikt.
  • Regels voor gegevensmaskering

  • Maken of bijwerken

Met de maskeringsregel Maken of Bijwerken wordt een databasegegevensmaskeringsregel gemaakt of bijgewerkt.

In HTTP kan de volgende aanvraag worden gedaan:

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

De volgende parameters moeten worden doorgegeven:

  • SubscriptionID: de id van het abonnement
  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • dataMaskingPolicyName: de naam van het beleid voor gegevensmaskering
  • dataMaskingRuleName: de naam van de regel voor gegevensmaskering
  • api-versie: versie van de API die wordt gebruikt.
  • Lijst per database

De list by database-aanvraag haalt een lijst op met regels voor het maskeren van databasegegevens.

In HTTP kan de volgende aanvraag worden gedaan:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/Default/rules?api-version=2021-06-01

De volgende parameters moeten worden doorgegeven:

  • SubscriptionID: de id van het abonnement
  • ResourceGroupName: naam van de resourcegroep waarin u de database hebt geïmplementeerd
  • Servernaam : sql-servernaam
  • DatabaseName : naam van de database
  • dataMaskingPolicyName: de naam van het beleid voor gegevensmaskering
  • api-versie: versie van de API die wordt gebruikt.