gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Always Encrypted- gebruikt twee typen cryptografische sleutels om uw gegevens te beveiligen: één sleutel voor het versleutelen van uw gegevens en een andere sleutel om de sleutel te versleutelen waarmee uw gegevens worden versleuteld. De kolomversleutelingssleutel versleutelt uw gegevens, de kolomhoofdsleutel versleutelt de kolomversleutelingssleutel. Dit artikel bevat een gedetailleerd overzicht voor het beheren van deze versleutelingssleutels.
Bij het bespreken van Always Encrypted-sleutels en sleutelbeheer is het belangrijk om inzicht te hebben in het onderscheid tussen de daadwerkelijke cryptografische sleutels en de metagegevensobjecten die beschrijven de sleutels. We gebruiken de termen kolomversleutelingssleutel en kolomhoofdsleutel om te verwijzen naar de werkelijke cryptografische sleutels. We gebruiken metagegevens van kolomversleutelingssleutels en metagegevens van kolomhoofdsleutels om te verwijzen naar de beschrijvingen van de Always Encrypted-sleutel in de database.
kolomversleutelingssleutels zijn versleutelingssleutels voor inhoud die worden gebruikt om gegevens te versleutelen. Zoals de naam al aangeeft, gebruikt u kolomversleutelingssleutels om gegevens in databasekolommen te versleutelen. U kunt een of meer kolommen versleutelen met dezelfde kolomversleutelingssleutel of u kunt meerdere kolomversleutelingssleutels gebruiken, afhankelijk van uw toepassingsvereisten. De kolomversleutelingssleutels worden zelf versleuteld en alleen de versleutelde waarden van de kolomversleutelingssleutels worden opgeslagen in de database (als onderdeel van de metagegevens van de kolomversleutelingssleutel). De metagegevens van de kolomversleutelingssleutel worden opgeslagen in de sys.column_encryption_keys (Transact-SQL) en sys.column_encryption_key_values (Transact-SQL) catalogusweergaven. Kolomversleutelingssleutels die worden gebruikt met het AES-256-algoritme zijn 256-bits lang.
kolomhoofdsleutels zijn sleutels die worden gebruikt om kolomversleutelingssleutels te versleutelen. Kolomhoofdsleutels moeten worden opgeslagen in een vertrouwd sleutelarchief, zoals Windows Certificate Store, Azure Key Vault of een hardwarebeveiligingsmodule. De database bevat alleen metagegevens over kolomhoofdsleutels (het type sleutelarchief en de locatie). De metagegevens van de kolomhoofdsleutel worden opgeslagen in de sys.column_master_keys (Transact-SQL) catalogusweergave.
Het is belangrijk te weten dat de sleutelmetagegevens in het databasesysteem geen plaintext kolomsleutels of plaintext kolom-encryptiesleutels bevatten. De database bevat alleen informatie over het type en de locatie van kolomhoofdsleutels en versleutelde waarden van kolomversleutelingssleutels. Dit betekent dat niet-versleutelde sleutels nooit worden blootgesteld aan het databasesysteem om ervoor te zorgen dat gegevens die zijn beveiligd met Always Encrypted veilig zijn, zelfs als het databasesysteem wordt aangetast. Als u ervoor wilt zorgen dat het databasesysteem geen toegang krijgt tot de plaintext-sleutels, moet u de hulpprogramma's voor sleutelbeheer uitvoeren op een andere computer dan het systeem dat als host fungeert voor uw database. Raadpleeg de sectie Beveiligingsoverwegingen voor sleutelbeheer hieronder voor details.
Omdat de database alleen versleutelde gegevens bevat (in met Always Encrypted beveiligde kolommen) en geen toegang heeft tot de niet-versleutelde tekstsleutels, kunnen de gegevens niet worden ontsleuteld. Dit betekent dat het uitvoeren van query's op Always Encrypted-kolommen alleen versleutelde waarden retourneert, zodat clienttoepassingen die beveiligde gegevens moeten versleutelen of ontsleutelen toegang moeten hebben tot de hoofdsleutel van de kolom en gerelateerde kolomversleutelingssleutels. Zie Toepassingen ontwikkelen met Always Encryptedvoor meer informatie.
Het proces voor het beheren van sleutels kan worden onderverdeeld in de volgende taken op hoog niveau:
sleutelinrichting: het maken van de fysieke sleutels in een vertrouwd sleutelarchief (bijvoorbeeld in het Windows-certificaatarchief, Azure Key Vault of een hardwarebeveiligingsmodule), het versleutelen van kolomversleutelingssleutels met kolomhoofdsleutels en het maken van metagegevens voor beide typen sleutels in de database.
sleutelrotatie: een bestaande sleutel periodiek vervangen door een nieuwe sleutel. Mogelijk moet u een sleutel vervangen of aanpassen als de sleutel is aangetast, of om te voldoen aan het beleid van uw organisatie of aan de nalevingsregels die vereisen dat cryptografische sleutels regelmatig worden gewijzigd.
Er zijn twee verschillende rollen van gebruikers die Always Encrypted-sleutels beheren; Beveiligingsbeheerders en databasebeheerders (DBA's):
Gezien de bovenstaande rollen zijn er twee verschillende manieren om belangrijke beheertaken uit te voeren voor Always Encrypted; met rolscheidingen zonder rolscheiding. Afhankelijk van de behoeften van uw organisatie kunt u het sleutelbeheerproces selecteren dat het beste bij uw behoeften past.
Wanneer Always Encrypted-sleutels worden beheerd met scheiding van rollen, nemen verschillende personen in een organisatie de rollen Beveiligingsbeheerder en DBA aan. Een sleutelbeheerproces met functiescheiding zorgt ervoor dat DBA's geen toegang hebben tot de sleutels of sleutelarchieven die de werkelijke sleutels bevatten, en beveiligingsbeheerders hebben geen toegang tot de database met gevoelige gegevens. Het beheren van sleutels met scheiding van rollen wordt aanbevolen als u ervoor wilt zorgen dat DBA's in uw organisatie geen toegang hebben tot gevoelige gegevens.
Opmerking: beveiligingsbeheerders de sleutels voor tekst zonder opmaak genereren en ermee werken, zodat ze nooit hun taken mogen uitvoeren op dezelfde computers die als host fungeren voor een databasesysteem, of computers die toegankelijk zijn voor DBA's of andere personen die mogelijk kwaadwillende personen zijn.
Wanneer Always Encrypted-sleutels worden beheerd zonder scheiding van rollen, kan één persoon zowel de rollen Beveiligingsbeheerder als DBA aannemen. Dit betekent dat de persoon zowel de sleutels/sleutelarchieven als de sleutelmetagegevens moet kunnen openen en beheren. Het beheren van sleutels zonder rolscheiding kan worden aanbevolen voor organisaties die het DevOps-model gebruiken, of als de database wordt gehost in de cloud en het primaire doel is om cloudbeheerders (maar niet on-premises DBA's) toegang te geven tot gevoelige gegevens.
Always Encrypted-sleutels kunnen worden beheerd met SSMS- (SQL Server Management Studio) en PowerShell-:
SSMS - (SQL Server Management Studio) biedt dialoogvensters en wizards waarin taken met betrekking tot toegang tot het sleutelarchief en databasetoegang worden gecombineerd, zodat SSMS geen ondersteuning biedt voor functiescheiding, maar het configureren van uw sleutels eenvoudig maakt. Zie voor meer informatie over het beheren van sleutels met behulp van SSMS:
SQL Server PowerShell- - bevat cmdlets voor het beheren van Always Encrypted-sleutels met en zonder functiescheiding. Zie voor meer informatie:
Het primaire doel van Always Encrypted is om ervoor te zorgen dat gevoelige gegevens die zijn opgeslagen in een database veilig zijn, zelfs als het databasesysteem of de hostingomgeving wordt aangetast. Voorbeelden van beveiligingsaanvallen waarbij Always Encrypted kan helpen bij het voorkomen van gevoelige gegevenslekken, zijn:
Om ervoor te zorgen dat Always Encrypted effectief is bij het voorkomen van deze soorten aanvallen, moet uw sleutelbeheerproces ervoor zorgen dat de hoofdsleutels van de kolom en kolomversleutelingssleutels en referenties voor een sleutelarchief met de kolomhoofdsleutels nooit worden onthuld aan een potentiële aanvaller. Hier volgen enkele richtlijnen die je moet volgen:
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Module
Gegevens in transit en at-rest beveiligen - Training
Gegevens in transit en at-rest beveiligen
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.