Delen via


Gegevensversleuteling met een door de klant beheerde sleutel in Azure Database for PostgreSQL - Flexible Server

VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server

Azure Database for PostgreSQL Flexibele server maakt gebruik van Azure Storage-versleuteling om data-at-rest standaard te versleutelen met behulp van door Microsoft beheerde sleutels. Voor gebruikers van een flexibele Azure Database for PostgreSQL-server is deze vergelijkbaar met transparante gegevensversleuteling in andere databases, zoals SQL Server.

Veel organisaties hebben volledig beheer van de toegang tot de gegevens nodig met behulp van een door de klant beheerde sleutel (CMK). Met gegevensversleuteling met CMK's voor flexibele Azure Database for PostgreSQL-server kunt u uw sleutel (BYOK) in rust brengen voor gegevensbeveiliging. Daarnaast kunnen organisaties hiermee een scheiding van taken implementeren bij het beheer van sleutels en gegevens. Met CMK-versleuteling bent u verantwoordelijk voor en volledig beheer van de levenscyclus van een sleutel, machtigingen voor sleutelgebruik en controle van bewerkingen op sleutels.

Gegevensversleuteling met CMK's voor flexibele Azure Database for PostgreSQL-server is ingesteld op serverniveau. Voor een bepaalde server wordt een type CMK met de naam sleutelversleutelingssleutel (KEK) gebruikt om de gegevensversleutelingssleutel (DEK) van de service te versleutelen. De KEK is een asymmetrische sleutel die is opgeslagen in een door de klant beheerde Azure Key Vault-instantie . De KEK en DEK worden verderop in dit artikel uitgebreider beschreven.

Key Vault is een extern sleutelbeheersysteem in de cloud. Het is maximaal beschikbaar en biedt schaalbare, veilige opslag voor cryptografische RSA-sleutels, optioneel ondersteund door DOOR FIPS 140 gevalideerde HSM's (Hardware Security Modules). Het biedt geen directe toegang tot een opgeslagen sleutel, maar biedt versleutelings- en ontsleutelingsservices aan geautoriseerde entiteiten. Key Vault kan de sleutel genereren, importeren of overdragen vanaf een on-premises HSM-apparaat.

Vergoedingen

Gegevensversleuteling met CMK's voor flexibele Azure Database for PostgreSQL-server biedt de volgende voordelen:

  • U kunt de toegang tot gegevens volledig beheren. U kunt een sleutel verwijderen om een database ontoegankelijk te maken.

  • U bepaalt de levenscyclus van een sleutel volledig, inclusief de rotatie van de sleutel die overeenkomt met het bedrijfsbeleid.

  • U kunt sleutels centraal beheren en organiseren in Key Vault.

  • Het inschakelen van versleuteling heeft geen invloed op de prestaties met of zonder CMK's, omdat PostgreSQL afhankelijk is van de Azure Storage-laag voor gegevensversleuteling in beide scenario's. Het enige verschil is dat wanneer u een CMK gebruikt, de Azure Storage-versleutelingssleutel (die werkelijke gegevensversleuteling uitvoert) is versleuteld.

  • U kunt een scheiding van taken tussen beveiligingsfunctionarissen, databasebeheerders en systeembeheerders implementeren.

Terminologie

Gegevensversleutelingssleutel (DEK): een symmetrische AES 256-sleutel die wordt gebruikt voor het versleutelen van een partitie of blok gegevens. Het versleutelen van elk gegevensblok met een andere sleutel maakt cryptanalysis-aanvallen moeilijker. De resourceprovider of het toepassingsexemplaren die een specifiek blok versleutelt en ontsleutelt, heeft toegang nodig tot DEK's. Wanneer u een DEK vervangt door een nieuwe sleutel, moeten alleen de gegevens in het bijbehorende blok opnieuw worden versleuteld met de nieuwe sleutel.

Sleutelversleutelingssleutel (KEK):een versleutelingssleutel die wordt gebruikt om de DEK's te versleutelen. Met een KEK die Key Vault nooit verlaat, kunnen de DEK's zelf worden versleuteld en beheerd. De entiteit die toegang heeft tot de KEK kan afwijken van de entiteit waarvoor de DEK's zijn vereist. Omdat de KEK is vereist om de DEK's te ontsleutelen, is de KEK effectief een enkel punt waarmee u DEK's kunt verwijderen (door de KEK te verwijderen).

De DEK's, versleuteld met een KEK, worden afzonderlijk opgeslagen. Alleen een entiteit met toegang tot de KEK kan deze DEK's ontsleutelen. Zie Beveiliging in versleuteling-at-rest voor meer informatie.

Hoe gegevensversleuteling werkt met een CMK

Diagram met een overzicht van Bring Your Own Key.

Een door de gebruiker toegewezen beheerde identiteit van Microsoft Entra wordt gebruikt om verbinding te maken en een CMK op te halen. Volg deze zelfstudie om een identiteit te maken.

Voor een PostgreSQL-server voor het gebruik van CMK's die zijn opgeslagen in Key Vault voor versleuteling van de DEK, geeft een Key Vault-beheerder de volgende toegangsrechten voor de beheerde identiteit die u hebt gemaakt:

  • get: Voor het ophalen van het openbare deel en de eigenschappen van de sleutel in Key Vault.

  • lijst: Voor het weergeven en herhalen van sleutels in Key Vault.

  • wrapKey: Voor het versleutelen van de DEK. De versleutelde DEK wordt opgeslagen in Azure Database for PostgreSQL.

  • unwrapKey: Voor het ontsleutelen van de DEK. Azure Database for PostgreSQL heeft de ontsleutelde DEK nodig om de gegevens te versleutelen en te ontsleutelen.

De Key Vault-beheerder kan ook logboekregistratie van Key Vault-controlegebeurtenissen inschakelen, zodat deze later kunnen worden gecontroleerd.

Als alternatief voor toegangsrechtentoewijzing, zoals hierboven uitgelegd, kunt u een nieuwe Azure RBAC-roltoewijzing maken met de rol Key Vault Crypto Service Encryption User.

Belangrijk

Als u de voorgaande toegangsrechten of RBAC-toewijzing niet aan een beheerde identiteit voor toegang tot Key Vault oplevert, kan dit leiden tot een fout bij het ophalen van een versleutelingssleutel en het niet instellen van de CMK-functie.

Wanneer u de server configureert voor het gebruik van de CMK die is opgeslagen in Key Vault, verzendt de server de DEK naar Key Vault voor versleuteling. Key Vault retourneert de versleutelde DEK die is opgeslagen in de gebruikersdatabase. Indien nodig verzendt de server de beveiligde DEK naar Key Vault voor ontsleuteling. Auditors kunnen Azure Monitor gebruiken om key Vault-auditgebeurtenislogboeken te controleren als logboekregistratie is ingeschakeld.

Vereisten voor het configureren van gegevensversleuteling voor flexibele Azure Database for PostgreSQL-server

Hier volgen de vereisten voor het configureren van Key Vault:

  • Key Vault en Azure Database for PostgreSQL flexibele server moeten behoren tot dezelfde Microsoft Entra-tenant. Interactie tussen tenantsleutels en servers wordt niet ondersteund. Als u de Key Vault-resource later verplaatst, moet u de gegevensversleuteling opnieuw configureren.

  • De instelling Dagen voor het behouden van verwijderde kluizen voor Key Vault moet 90 zijn. Als u het bestaande Key Vault-exemplaar met een lager nummer hebt geconfigureerd, moet u een nieuw Key Vault-exemplaar maken omdat u een exemplaar niet kunt wijzigen nadat u het hebt gemaakt.

  • Het wordt aanbevolen om de configuratie dagen in te stellen voor het behouden van de configuratie van verwijderde kluizen voor Key Vault op 90 dagen. In het geval dat u een bestaand Key Vault-exemplaar met een lager getal hebt geconfigureerd, moet dit nog steeds geldig zijn. Als u deze instelling echter wilt wijzigen en de waarde wilt verhogen, moet u een nieuw Key Vault-exemplaar maken. Zodra een exemplaar is gemaakt, is het niet mogelijk om de configuratie ervan te wijzigen.

  • Schakel de functie voor voorlopig verwijderen in Key Vault in om te beschermen tegen gegevensverlies als een sleutel of een Key Vault-exemplaar per ongeluk wordt verwijderd. Key Vault bewaart voorlopig verwijderde resources gedurende 90 dagen, tenzij de gebruiker deze ondertussen herstelt of opschoont. De herstel- en opschoningsacties hebben hun eigen machtigingen gekoppeld aan een Key Vault-toegangsbeleid.

    De functie voor voorlopig verwijderen is standaard uitgeschakeld, maar u kunt deze functie inschakelen via PowerShell of de Azure CLI. U kunt deze niet inschakelen via Azure Portal.

  • Schakel beveiliging tegen opschonen in om een verplichte bewaarperiode af te dwingen voor verwijderde kluizen en kluisobjecten.

  • Verdeel het exemplaar van de flexibele Azure Database for PostgreSQL-server toegang tot Key Vault met de machtigingen get, list, wrapKey en unwrapKey met behulp van de unieke beheerde identiteit. U kunt ook een nieuwe Azure RBAC-roltoewijzing maken met de rol Key Vault Crypto Service Encryption User voor de beheerde identiteit.

Hier volgen de vereisten voor het configureren van de CMK in Azure Database for PostgreSQL flexibele server:

  • De CMK die moet worden gebruikt voor het versleutelen van de DEK kan alleen asymmetrisch, RSA of RSA-HSM zijn. Sleutelgrootten van 2048, 3.072 en 4.096 worden ondersteund.

  • De datum en tijd voor sleutelactivering (indien ingesteld) moeten zich in het verleden bevinden. De datum en tijd voor vervaldatum (indien ingesteld) moeten in de toekomst zijn.

  • De sleutel moet de *Enabled- status hebben.

  • Als u een bestaande sleutel in Key Vault importeert, geeft u deze op in de ondersteunde bestandsindelingen (.pfx, .byokof .backup).

Aanbevelingen

Wanneer u een CMK gebruikt voor gegevensversleuteling, volgen hier aanbevelingen voor het configureren van Key Vault:

  • Stel een resourcevergrendeling in key Vault in om te bepalen wie deze kritieke resource kan verwijderen en om onbedoelde of niet-geautoriseerde verwijdering te voorkomen.

  • Schakel controle en rapportage in voor alle versleutelingssleutels. Key Vault biedt logboeken die eenvoudig kunnen worden ingevoerd in andere SIEM-hulpprogramma's (Security Information and Event Management). Azure Monitor-logboeken is een voorbeeld van een service die al is geïntegreerd.

  • Vergrendel Key Vault door openbare toegang uitschakelen en vertrouwde Microsoft-services toestaan om deze firewall te omzeilen.

    Schermopname van netwerkopties voor het uitschakelen van openbare toegang en het toestaan van alleen vertrouwde Microsoft-services.

Notitie

Nadat u Openbare toegang uitschakelen hebt geselecteerd en Vertrouwde Microsoft-services toestaan om deze firewall te omzeilen, krijgt u mogelijk een foutmelding die vergelijkbaar is met het volgende wanneer u openbare toegang probeert te gebruiken om Key Vault te beheren via de portal: 'U hebt het netwerktoegangsbeheer ingeschakeld. Alleen toegestane netwerken hebben toegang tot deze sleutelkluis.' Deze fout voorkomt niet dat tijdens het instellen van CMK sleutels kunnen worden opgegeven of sleutels kunnen worden opgehaald uit Key Vault tijdens serverbewerkingen.

Hier volgen aanbevelingen voor het configureren van een CMK:

  • Bewaar een kopie van de CMK op een veilige plaats of borg deze naar de borgservice.

  • Als Key Vault de sleutel genereert, maakt u een sleutelback-up voordat u de sleutel voor de eerste keer gebruikt. U kunt de back-up alleen herstellen naar Key Vault.

Onopzettelijke toegang tot sleutel intrekken vanuit Key Vault

Iemand met voldoende toegangsrechten voor Key Vault kan per ongeluk servertoegang tot de sleutel uitschakelen door:

  • De lijst intrekken, machtigingen ophalen, verpakken en uitpakken van de identiteit die wordt gebruikt om de sleutel in Key Vault op te halen.

  • De sleutel verwijderen.

  • Het Key Vault-exemplaar verwijderen.

  • De Key Vault-firewallregels wijzigen.

  • De beheerde identiteit van de server in Microsoft Entra-id verwijderen.

De CMK bewaken in Key Vault

Als u de databasestatus wilt bewaken en waarschuwingen wilt inschakelen voor het verlies van toegang tot de transparante gegevensversleutelingsbeveiliging, configureert u de volgende Azure-functies:

  • Resourcestatus: Een database die geen toegang meer heeft tot de CMK, wordt weergegeven als Niet toegankelijk nadat de eerste verbinding met de database is geweigerd.
  • Activiteitenlogboek: wanneer toegang tot de CMK in het door de klant beheerde Key Vault-exemplaar mislukt, worden vermeldingen toegevoegd aan het activiteitenlogboek. U kunt de toegang opnieuw instellen als u zo snel mogelijk waarschuwingen voor deze gebeurtenissen maakt.
  • Actiegroepen: definieer deze groepen om meldingen en waarschuwingen te ontvangen op basis van uw voorkeuren.

Herstellen met de beheerde sleutel van een klant in Key Vault

Nadat de flexibele Server van Azure Database for PostgreSQL is versleuteld met de beheerde sleutel van een klant die is opgeslagen in Key Vault, wordt elke nieuw gemaakte serverkopie ook versleuteld. U kunt deze nieuwe kopie maken via een herstelbewerking naar een bepaald tijdstip of leesreplica's.

Wanneer u door de klant beheerde gegevensversleuteling instelt tijdens het herstellen of maken van een leesreplica, kunt u problemen voorkomen door deze stappen uit te voeren op de primaire en herstelde/replicaservers:

  • Initieer het herstelproces of het proces voor het maken van een leesreplica van het primaire exemplaar van de flexibele Azure Database for PostgreSQL-server.

  • Op de herstelde of replicaserver kunt u de CMK en/of de Microsoft Entra-identiteit wijzigen die wordt gebruikt voor toegang tot Key Vault in de instellingen voor gegevensversleuteling. Zorg ervoor dat de zojuist gemaakte server lijst-, wrap- en uitpakmachtigingen heeft voor de sleutel die is opgeslagen in Key Vault.

  • Trek de oorspronkelijke sleutel niet in nadat u deze hebt hersteld. Op dit moment wordt het intrekken van sleutels niet ondersteund nadat u een server met CMK-functionaliteit hebt hersteld naar een andere server.

Beheerde HSM's

Hardwarebeveiligingsmodules (HSM's) zijn manipulatiebestendige hardwareapparaten die cryptografische processen helpen beveiligen door sleutels te genereren, beveiligen en beheren die worden gebruikt voor het versleutelen van gegevens, het ontsleutelen van gegevens, het maken van digitale handtekeningen en het maken van digitale certificaten. HSM's worden getest, gevalideerd en gecertificeerd volgens de hoogste beveiligingsstandaarden, waaronder FIPS 140 en Algemene criteria.

Beheerde HSM van Azure Key Vault is een volledig beheerde, maximaal beschikbare cloudservice met één tenant, conforme standaarden. U kunt deze gebruiken om cryptografische sleutels voor uw cloudtoepassingen te beveiligen via met FIPS 140-3 gevalideerde HSM's.

Wanneer u nieuwe exemplaren van flexibele Azure Database for PostgreSQL-servers maakt in Azure Portal met de CMK-functie, kunt u azure Key Vault Managed HSM kiezen als een sleutelarchief als alternatief voor Azure Key Vault. De vereisten, wat betreft door de gebruiker gedefinieerde identiteit en machtigingen, zijn hetzelfde als met Azure Key Vault (zoals eerder in dit artikel is vermeld). Voor meer informatie over het maken van een beheerd HSM-exemplaar, de voordelen en verschillen van een gedeeld certificaatarchief op basis van Key Vault en het importeren van sleutels in beheerde HSM, raadpleegt u Wat is Beheerde HSM van Azure Key Vault?

Niet-toegankelijke CMK-voorwaarde

Wanneer u gegevensversleuteling configureert met een CMK in Key Vault, is continue toegang tot deze sleutel vereist om de server online te houden. Als de server geen toegang meer heeft tot de CMK in Key Vault, wordt alle verbindingen binnen 10 minuten geweigerd. De server geeft een bijbehorend foutbericht uit en wijzigt de serverstatus in Ontoegankelijk.

Enkele van de redenen waarom de serverstatus niet toegankelijk wordt, zijn:

  • Als u het Key Vault-exemplaar verwijdert, heeft het flexibele serverexemplaren van Azure Database for PostgreSQL geen toegang tot de sleutel en wordt deze verplaatst naar een niet-toegankelijke status. Als u de server beschikbaar wilt maken, herstelt u het Key Vault-exemplaar en moet u de gegevensversleuteling opnieuwvalideren.
  • Als u de sleutel uit Key Vault verwijdert, heeft het exemplaar van de flexibele Server van Azure Database for PostgreSQL geen toegang tot de sleutel en wordt deze verplaatst naar een niet-toegankelijke status. Als u de server beschikbaar wilt maken, moet u de sleutel herstellen en de gegevensversleuteling opnieuwvalideren.
  • Als u, van Microsoft Entra-id, een beheerde identiteit verwijdert die wordt gebruikt om een sleutel op te halen uit Key Vault, of door azure RBAC-roltoewijzing te verwijderen met de sleutelkluis cryptoserviceversleutelingsgebruiker. Het exemplaar van de flexibele Azure Database for PostgreSQL-server heeft geen toegang tot de sleutel en wordt verplaatst naar een niet-toegankelijke status. Als u de server beschikbaar wilt maken, moet u de identiteit herstellen en gegevensversleuteling opnieuwvalideren.
  • Als u de Key Vault-lijst intrekt, haalt u het toegangsbeleid voor sleutels op, verpakt en uitpakt vanuit de beheerde identiteit die wordt gebruikt voor het ophalen van een sleutel uit Key Vault, dan heeft het exemplaar van de flexibele Azure Database for PostgreSQL-server geen toegang tot de sleutel en wordt verplaatst naar een niet-toegankelijke status. Voeg vereist toegangsbeleid toe aan de identiteit in Key Vault.
  • Als u beperkende Key Vault-firewallregels instelt, kan de flexibele Server van Azure Database for PostgreSQL niet communiceren met Key Vault om sleutels op te halen. Wanneer u een Key Vault-firewall configureert, moet u de optie selecteren om vertrouwde Microsoft-services de firewall te omzeilen.

Notitie

Wanneer een sleutel is uitgeschakeld, verwijderd, verlopen of niet bereikbaar is, wordt een server met gegevens die via die sleutel zijn versleuteld, ontoegankelijk, zoals eerder is aangegeven. De server wordt pas beschikbaar als u de sleutel opnieuw inschakelt of een nieuwe sleutel toewijst.

Over het algemeen wordt een server binnen 60 minuten nadat een sleutel is uitgeschakeld, verwijderd, verlopen of niet bereikbaar is. Nadat de sleutel beschikbaar is, kan het tot 60 minuten duren voordat de server weer toegankelijk is.

Herstellen na verwijdering van beheerde identiteit

In zeldzame gevallen wordt de beheerde identiteit van entra-id, die door CMK wordt gebruikt om een sleutel op te halen uit Azure Key Vault (AKV), verwijderd in De Volgende Microsoft Entra-id worden aanbevolen stappen om te herstellen:

  1. Herstel de identiteit of maak een nieuwe beheerde Entra ID-identiteit
  2. Zorg ervoor dat deze identiteit over de juiste machtigingen beschikt voor bewerkingen op de sleutel in Azure Key Vault (AKV). Afhankelijk van het machtigingsmodel van de sleutelkluis (toegangsbeleid of Azure RBAC) kan toegang tot de sleutelkluis worden verleend door een toegangsbeleid te maken voor de sleutelkluis (lijst, ophalen, verpakken en uitpakken van toegangsbeleid), of door een nieuwe Azure RBAC-roltoewijzing te maken met de key vault Crypto Service Encryption-gebruiker.
  3. Hervalideer CMK-gegevensversleuteling met een nieuwe of herstelde identiteit in azure Database for PostgreSQL - Flexible Server Data Encryption Azure Portal.

Belangrijk

Het maken van een nieuwe Entra ID-identiteit met dezelfde naam als de verwijderde identiteit herstelt niet na verwijdering van beheerde identiteiten.

Gegevensversleuteling gebruiken met CMK's en functies voor bedrijfscontinuïteit met geografisch redundante bedrijfscontinuïteit

Flexibele Azure Database for PostgreSQL-server ondersteunt geavanceerde functies voor gegevensherstel , zoals replica's en geografisch redundante back-ups. Hieronder vindt u vereisten voor het instellen van gegevensversleuteling met CMK's en deze functies, naast de basisvereisten voor gegevensversleuteling met CMK's:

  • De geografisch redundante back-upversleutelingssleutel moet worden gemaakt in een Key Vault-exemplaar in de regio waar de geografisch redundante back-up wordt opgeslagen.
  • De REST API-versie van Azure Resource Manager voor het ondersteunen van cmk-servers met geografisch redundante back-ups is 2022-11-01-preview. Als u Azure Resource Manager-sjablonen wilt gebruiken om het maken van servers die gebruikmaken van zowel versleuteling met CMK's als geografisch redundante back-upfuncties te automatiseren, gebruikt u deze API-versie.
  • U kunt niet dezelfde door de gebruiker beheerde identiteit gebruiken om te verifiëren voor het Key Vault-exemplaar van de primaire database en het Key Vault-exemplaar met de versleutelingssleutel voor geografisch redundante back-up. Als u regionale tolerantie wilt behouden, raden we u aan om de door de gebruiker beheerde identiteit in dezelfde regio te maken als de geografisch redundante back-ups.
  • Als u tijdens het maken een leesreplicadatabase instelt die moet worden versleuteld met CMK's, moet de versleutelingssleutel zich in een Key Vault-exemplaar bevinden in de regio waar de leesreplicadatabase zich bevindt. De door de gebruiker toegewezen identiteit voor verificatie bij dit Key Vault-exemplaar moet worden gemaakt in dezelfde regio.

Beperkingen

Dit zijn de huidige beperkingen voor het configureren van de CMK in Azure Database for PostgreSQL flexibele server:

Volgende stappen