Gegevensversleuteling met door de klant beheerde sleutels voor Azure Database for MySQL

Door gegevensversleuteling te gebruiken met door de klant beheerde sleutels voor Azure Database for MySQL, kunt u BYOK (Bring Your Own Key) gebruiken voor data protection-at-rest om scheiding van taken te implementeren voor het beheren van sleutels en gegevens. Wanneer u door de klant beheerde sleutels (CMK's) gebruikt, bepaalt u het volgende:

  • Sleutellevenscyclusbeheer, waaronder het maken van sleutels, uploaden, rouleren en verwijderen
  • Sleutelgebruiksmachtigingen
  • Controlebewerkingen op sleutels

Voordelen van door de klant beheerde sleutels (CMK)

Gegevensversleuteling met door de klant beheerde sleutels voor Azure Database for MySQL biedt de volgende voordelen:

  • U kunt de toegang tot gegevens volledig beheren door de sleutel te verwijderen en de database ontoegankelijk te maken.
  • U hebt volledige controle over de levenscyclus van de sleutel, inclusief het rouleren van de sleutel om te voldoen aan het bedrijfsbeleid.
  • U kunt sleutels centraal beheren en organiseren in Azure Key Vault of beheerde HSM.
  • U kunt scheiding van taken tussen beveiligingsfunctionarissen, DBA en systeembeheerders implementeren.

Hoe werkt gegevensversleuteling met een door de klant beheerde sleutel?

Beheerde identiteiten in Microsoft Entra-id bieden een veiligere manier om clients te verifiëren bij services. CMK-versleuteling maakt gebruik van de beheerde identiteit van de Azure Database for MySQL-server om verbinding te maken met de Azure Key Vault waarin de CMK wordt opgeslagen. Azure Database for MySQL ondersteunt momenteel alleen door de gebruiker toegewezen beheerde identiteit (UAMI) voor toegang tot de Key Vault. Zie Beheerde identiteitstypen in Azure voor meer informatie.

Als u de CMK wilt configureren voor een Azure Database for MySQL, koppelt u de UAMI aan de server en geeft u de Azure Key Vault en sleutel op die u wilt gebruiken.

De UAMI heeft de volgende toegang nodig tot de sleutelkluis:

  • Ophalen: Voor het ophalen van het openbare deel van de sleutel en zijn eigenschappen in de sleutelkluis.
  • Lijst: De versies van de sleutel die zijn opgeslagen in een Key Vault weergeven.
  • Wrap-sleutel: Om de DEK te versleutelen. De versleutelde DEK wordt opgeslagen in de flexibele-serverinstantie van Azure Database for MySQL.
  • Sleutel uitpakken: de DEK ontsleutelen. Azure Database for MySQL de ontsleutelde DEK nodig heeft om de gegevens te versleutelen of te ontsleutelen.

Als Azure RBAC is ingeschakeld, wijst u rollen toe aan de UAMI in plaats van afzonderlijke toegang.

  • Key Vault Crypto Service Encryption User ofwel de rol met de machtigingen:
    • Microsoft.KeyVault/vaults/keys/wrap/action
    • Microsoft.KeyVault/vaults/keys/unwrap/action
    • Microsoft.KeyVault/vaults/keys/read als "Key Vault Crypto Service Encryptie Gebruiker"
  • Wijs voor beheerde HSM de rol Versleutelingsgebruiker voor beheerde HSM Crypto Service-versleuteling toe

Gegevensversleuteling instellen met CMK's op serverniveau. Voor een bepaalde server gebruikt u een CMK, een sleutelversleutelingssleutel (KEK) genoemd, 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. Key Vault is maximaal beschikbare en schaalbare veilige opslag voor cryptografische RSA-sleutels, optioneel ondersteund door DOOR FIPS 140 gevalideerde HSM's (Hardware Security Modules). Key Vault biedt geen directe toegang tot een opgeslagen sleutel, maar biedt in plaats daarvan versleutelings- en ontsleutelingsservices met behulp van de sleutel voor geautoriseerde entiteiten. De sleutelkluis kan de sleutel genereren of de sleutel vanuit een on-premises HSM-apparaat naar de sleutelkluis overbrengen.

Wanneer u een flexibele server configureert voor het gebruik van een CMK die is opgeslagen in de sleutelkluis, verzendt de server de DEK naar de sleutelkluis voor versleuteling. Key Vault retourneert de versleutelde DEK die is opgeslagen in de gebruikersdatabase. Op dezelfde manier verzendt de flexibele server de beveiligde DEK naar de sleutelkluis voor ontsleuteling wanneer dat nodig is.

Diagram van de werking van gegevensversleuteling met een door de klant beheerde sleutel.

Nadat u logboekregistratie hebt ingeschakeld, kunnen auditors Azure Monitor gebruiken om Key Vault auditgebeurtenislogboeken te controleren. Om logboekregistratie van Key Vault-controlegebeurtenissen in te schakelen, zie het bewaken van uw key vault-service met Key Vault Insights.

Note

Het kan tot 10 minuten duren voordat machtigingswijzigingen effect hebben op de sleutelkluis.

Vereisten voor het configureren van gegevensversleuteling voor Azure Database for MySQL

Voordat u Key Vault of beheerde HSM probeert te configureren, moet u voldoen aan de volgende vereisten.

  • De Key Vault en het exemplaar van Azure Database for MySQL Flexible Server moeten tot dezelfde Microsoft Entra-tenant behoren. Interacties met tenantoverschrijdende Key Vault en flexibele server moeten worden ondersteund. U moet gegevensversleuteling opnieuw configureren als u Key Vault resources verplaatst na het uitvoeren van de configuratie.
  • De Key Vault en het Azure Database for MySQL Flexible Server-exemplaar moeten zich in dezelfde regio bevinden.
  • Schakel de functie Voorlopig verwijderen in de sleutelkluis in.
  • Schakel de purgebescherming in.
  • Stel de bewaarperiode in op 90 dagen.
    • De herstel- en opschoningsacties hebben hun eigen machtigingen in een Key Vault-toegangsbeleid.
    • De functie voorlopig verwijderen is standaard uitgeschakeld.

Voordat u de CMK gaat configureren, moet u aan de volgende vereisten voldoen.

  • De door de klant beheerde sleutel voor het versleutelen van de DEK kan alleen asymmetrisch zijn, RSA\RSA-HSM(kluizen met Premium SKU) 2048, 3072 of 4096.
  • De activeringsdatum van de sleutel (indien ingesteld) moet een datum en tijdstip in het verleden zijn. De vervaldatum is niet ingesteld.
  • De sleutel moet de status Ingeschakeld hebben.
  • De sleutel moet soft delete hebben, waarbij de bewaarperiode is ingesteld op 90 dagen. Met deze instelling wordt impliciet het vereiste sleutelkenmerk recoveryLevel ingesteld op Recoverable.
  • Voor de sleutel moet opschoningsbeveiliging zijn ingeschakeld.
  • Als u een bestaande sleutel in de sleutelkluis importeert, moet u deze opgeven in de ondersteunde bestandsindelingen (.pfx, .byok, ). .backup

Note

Voor gedetailleerde, stapsgewijze instructies over het configureren van gegevensversleuteling raadpleegt u Gegevensversleuteling voor Azure Database for MySQL met Azure Portal of Gegevensversleuteling voor Azure Database for MySQL - Flexible Server met Azure CLI.

Aanbevelingen voor het configureren van gegevensversleuteling

Wanneer u Key Vault of beheerde HSM configureert voor het gebruik van gegevensversleuteling met een door de klant beheerde sleutel, moet u rekening houden met de volgende aanbevelingen:

  • Stel een resourcevergrendeling in voor Key Vault om te bepalen wie deze kritieke resource kan verwijderen en onbedoeld of niet-geautoriseerd verwijderen kan voorkomen.
  • Schakel controle en rapportage in voor alle versleutelingssleutels. Key Vault biedt logboeken die eenvoudig kunnen worden ingevoerd in andere hulpprogramma's voor beveiligingsinformatie en gebeurtenisbeheer.
  • Bewaar een kopie van de door de klant beheerde sleutel 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 terugzetten naar Key Vault. Zie Backup-AzKeyVaultKey voor meer informatie over de back-upopdracht.

Note

De sleutelkluis die u gebruikt, moet afkomstig zijn uit dezelfde regio als de databaseserver.

Ontoegankelijke door de klant beheerde sleutelvoorwaarde

Wanneer u gegevensversleuteling configureert met een CMK in Key Vault, vereist de server continue toegang tot deze sleutel om online te blijven. Als de flexibele server geen toegang meer heeft tot de door de klant beheerde sleutel in Key Vault, begint de server binnen tien minuten alle verbindingen te weigeren. De flexibele server geeft een bijbehorend foutbericht uit en wijzigt de serverstatus in Ontoegankelijk. De server kan deze status om verschillende redenen bereiken.

Als u de sleutelkluis verwijdert, heeft het flexibele serverexemplaar van Azure Database for MySQL geen toegang meer tot de sleutel en gaat het naar de status Inaccessible. Het serverexemplaar Available te maken:

  • Herstel de sleutelkluis.
  • De gegevensversleuteling opnieuwvalideren.

Als u de sleutel uit het sleutelarchief verwijdert, heeft het Azure Database for MySQL Flexible Server-exemplaar geen toegang meer tot de sleutel en gaat het naar de status Inaccessible. Het serverexemplaar Available te maken:

  • Herstel de sleutel.
  • De gegevensversleuteling opnieuwvalideren.

Note

Zelfs als de sleutel verloopt, blijft de server standaard toegankelijk om downtime te voorkomen.

Onopzettelijke toegang tot sleutel intrekken vanuit Key Vault

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

  • De machtigingen voor het ophalen, weergeven, verpakken van sleutels en het uitpakken van sleutels in de sleutelkluis intrekken van de server
  • De sleutel verwijderen
  • De Key Vault verwijderen
  • De firewallregels van de sleutelkluis wijzigen
  • De door de gebruiker beheerde identiteit verwijderen die wordt gebruikt voor versleuteling op de flexibele server met een door de klant beheerde sleutel in Microsoft Entra-id

De door de klant beheerde sleutel bewaken in Key Vault

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

  • Activiteitenlogboek: Wanneer de toegang tot de klantsleutel in de door de klant beheerde sleutelkluis mislukt, worden vermeldingen toegevoegd aan het activiteitenlogboek. U kunt de toegang zo snel mogelijk opnieuw instellen als u waarschuwingen voor deze gebeurtenissen maakt.
  • Actiegroepen: definieer deze groepen om meldingen en waarschuwingen te verzenden op basis van uw voorkeuren.

Replica met een door de klant beheerde sleutel in Key Vault

Wanneer u een Azure Database for MySQL exemplaar van een flexibele server versleutelt met de beheerde sleutel van een klant die is opgeslagen in Key Vault, wordt elke nieuw gemaakte kopie van de server ook versleuteld. Wanneer u een Azure Database for MySQL flexibele serverinstantie probeert te versleutelen met een door de klant beheerde sleutel die al een replica heeft, configureert u een of meer replica's door de beheerde identiteit en sleutel toe te voegen. Als u het flexibele serverexemplaar van Azure Database for MySQL configureert met geo-redundante back-up, moet u de replica configureren met een beheerde identiteit en een sleutel waartoe die identiteit toegang heeft en die zich in de geografisch gekoppelde regio van de server bevindt.

Herstellen met een door de klant beheerde sleutel in Key Vault

Wanneer u een Azure Database for MySQL exemplaar van een flexibele server herstelt, selecteert u de door de gebruiker beheerde identiteit en sleutel om de herstelserver te versleutelen. Als het exemplaar van de flexibele server van Azure Database for MySQL is geconfigureerd met back-up met geo-redundantie, moet u de herstelserver configureren met de beheerde identiteit en de sleutel waartoe die identiteit toegang heeft en die zich in de geografisch gekoppelde regio van de server bevindt.

Volg tijdens het herstellen of lezen van replica's de volgende stappen op de bron- en herstelde of replicaservers:

  • Start het proces voor het herstellen of het maken van een leesreplica vanaf de broninstantie van Azure Database for MySQL Flexible Server.
  • Valideer op de herstelde of replicaserver de CMK opnieuw in de instellingen voor gegevensversleuteling om de UAMI-machtigingen voor de sleutel te valideren.

Note

U hoeft niet dezelfde identiteit (UAMI) en sleutel te gebruiken als op de bronserver wanneer u een herstelbewerking uitvoert.