Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Den här artikeln beskriver hur du identifierar och löser problem med åtkomst till Azure Key Vault-nycklar som gjorde att en databas som konfigurerats för att använda transparent datakryptering (TDE) med kundhanterade nycklar i Azure Key Vault blev otillgänglig.
Anmärkning
Microsoft Entra-ID kallades tidigare Azure Active Directory (Azure AD).
Introduction
När TDE har konfigurerats för att använda en kundhanterad nyckel i Azure Key Vault krävs kontinuerlig åtkomst till detta TDE-skydd för att databasen ska förbli online. Om den logiska SQL-servern eller den hanterade instansen förlorar åtkomsten till det kundhanterade TDE-skyddet i Azure Key Vault börjar en databas neka alla anslutningar med rätt felmeddelande och ändra dess tillstånd till Otillgängligt i Azure-portalen .
Under de första 30 minuterna, om det underliggande nyckelåtkomstproblemet för Azure Key Vault har lösts, kommer databasen automatiskt att höras och anslutas automatiskt. Det innebär att för alla tillfälliga och tillfälliga nätverksfel krävs ingen användaråtgärd, och databasen kommer att vara online automatiskt. I de flesta fall krävs användaråtgärder för att lösa det underliggande nyckelåtkomstproblemet för nyckelvalvet.
Om en otillgänglig databas inte längre behövs kan den tas bort omedelbart för att sluta medföra kostnader. Alla andra åtgärder i databasen tillåts inte förrän åtkomsten till Azure Key Vault-nyckeln har återställts och databasen är online igen. Det går inte heller att ändra TDE-alternativet från kundhanterade till tjänsthanterade nycklar på servern medan en databas som krypterats med kundhanterade nycklar inte är tillgänglig. Detta är nödvändigt för att skydda data från obehörig åtkomst medan behörigheter till TDE-skyddet har återkallats.
När en databas har varit otillgänglig i mer än 30 minuter kommer den inte längre att autohealeras. Om den nödvändiga Åtkomsten till Azure Key Vault-nyckeln har återställts efter den perioden måste du återaktivera åtkomsten till nyckeln manuellt för att återställa databasen online igen. Det kan ta lång tid att koppla tillbaka databasen i det här fallet beroende på databasens storlek. När databasen är online igen går tidigare konfigurerade inställningar som redundansgrupp, PITR-historik och eventuella taggar förlorade. Därför rekommenderar vi att du implementerar ett meddelandesystem med hjälp av åtgärdsgrupper som gör det möjligt att bli medveten om och åtgärda de underliggande nyckelåtkomstproblemen för nyckelvalvet så snart som möjligt.
Vanliga fel som gör att databaser blir otillgängliga
De flesta problem som uppstår när du använder TDE med Key Vault orsakas av någon av följande felkonfigurationer:
Nyckelvalvet är inte tillgängligt eller finns inte
- Nyckelvalvet togs bort av misstag.
- Brandväggen har konfigurerats för Azure Key Vault, men tillåter inte åtkomst till Microsoft-tjänster.
- Ett tillfälligt nätverksfel gör att nyckelvalvet inte är tillgängligt.
Inga behörigheter för att komma åt nyckelvalvet eller så finns inte nyckeln
- Nyckeln har tagits bort av misstag, inaktiverats eller så har nyckeln upphört att gälla.
- Serverns hanterade identitet (systemtilldelad eller användartilldelad) togs bort av misstag.
- Servern har flyttats till en annan prenumeration. En ny hanterad identitet (systemtilldelad eller användartilldelad) måste tilldelas till servern när den flyttas till en annan prenumeration.
- Behörigheter som beviljats till serverns hanterade identitet för nycklarna räcker inte (de innehåller inte behörigheterna Hämta, Omsluta och Skriv upp).
- Behörigheter för serverns hanterade identitet återkallades från nyckelvalvet.
Identifiera och lösa vanliga fel
I det här avsnittet listar vi felsökningssteg för de vanligaste felen.
Serveridentitet saknas
Felmeddelande
401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured on server. Please contact support.
Upptäckt
Använd följande cmdlet eller kommando för att säkerställa att en identitet har tilldelats till servern:
- Azure PowerShell: Get-AzSqlServer
- Azure CLI: az-sql-server-show
Riskreducering
Använd följande cmdlet eller kommando för att konfigurera en användartilldelad eller systemtilldelad hanterad identitet för servern:
- Azure PowerShell: Set-AzSqlServer med alternativet
-AssignIdentity. - Azure CLI: az sql server update med alternativet
--assign_identity.
I Azure-portalen går du till nyckelvalvet och går sedan till Åtkomstprinciper. Slutför följande steg:
- Använd knappen Lägg till ny för att lägga till AppId för den server som du skapade i föregående steg.
- Tilldela följande nyckelbehörigheter: Get, Wrap och Unwrap
Mer information finns i Tilldela en hanterad identitet till servern.
Viktigt!
Om den logiska servern för Azure SQL Database eller Azure SQL Managed Instance flyttas till en ny Microsoft Entra-klientorganisation efter den inledande konfigurationen av TDE med Key Vault måste den här hanterade identitetskonfigurationen göras om i den nya klientorganisationen.
Nyckelvalv saknas
Felmeddelande
503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed.
Upptäckt
Så här identifierar du nyckel-URI:n och nyckelvalvet:
Använd följande cmdlet eller kommando för att hämta nyckel-URI:n för en specifik serverinstans:
- Azure PowerShell: Get-AzSqlServerKeyVaultKey
- Azure CLI: az-sql-server-tde-key-show
Använd nyckel-URI:n för att identifiera nyckelvalvet:
- Azure PowerShell: Du kan granska egenskaperna för variabeln $MyServerKeyVaultKey för att få information om nyckelvalvet.
- Azure CLI: Granska det returnerade serverkrypteringsskyddet för mer information om nyckelvalvet.
Riskreducering
Bekräfta att nyckelvalvet är tillgängligt:
- Kontrollera att nyckelvalvet är tillgängligt och att servern har åtkomst.
- Om nyckelvalvet finns bakom en brandvägg kontrollerar du att kryssrutan för att tillåta Microsoft-tjänster att komma åt nyckelvalvet är markerad.
- Om nyckelvalvet har tagits bort av misstag måste du slutföra konfigurationen från början.
Nyckel saknas
Felmeddelanden
404 ServerKeyNotFound - The requested server key was not found on the current subscription.
409 ServerKeyDoesNotExists - The server key does not exist.
Upptäckt
Så här identifierar du nyckel-URI:n och nyckelvalvet:
- Använd cmdleten eller kommandona i Nyckelvalvet saknas för att identifiera nyckel-URI:n som läggs till i den logiska SQL Server-instansen. När du kör kommandona returneras listan med nycklar.
Riskreducering
Bekräfta att TDE-skyddet finns i Key Vault:
- Identifiera nyckelvalvet och gå sedan till nyckelvalvet i Azure-portalen.
- Kontrollera att nyckeln som identifieras av nyckel-URI:n finns.
Nyckel som har upphört att gälla
Felmeddelanden
The server <server_name> requires the Key Vault Crypto Service Encryption User permission for the RBAC policy or following Azure Key Vault permissions: Get, WrapKey, UnwrapKey. Please grant the missing permissions to the service principal with ID <akv_key>. Ensure the key is active, not expired or disabled, set with the key activation date no later than the current date, and that trusted Microsoft services can bypass the firewall if applicable.
Upptäckt
Så här identifierar du den utgångna nyckeln i nyckelvalvet:
- Använd Azure-portalen, gå till key vault-tjänstens meny >Objektnycklar> och kontrollera nyckelns förfallodatum.
- Använd PowerShell-kommandot Get-AzKeyVaultKey.
- Använd Azure CLI-kommandot az keyvault key show.
Riskreducering
- Kontrollera utgångsdatumet för nyckelvalvsnyckeln för att bekräfta att nyckeln har upphört att gälla.
- Förläng nyckelns förfallodatum.
- Anslut databasen igen genom att välja alternativet Nyckelåtervalidering med 1 av följande:
- Försök igen med den befintliga nyckeln.
- Välj säkerhetskopieringsnyckel.
Mer information finns i Otillgängligt TDE-skydd.
Anmärkning
Nycklar ska roteras vid ett angivet antal dagar innan de upphör att gälla för att ge tillräckligt med tid för att reagera på ett fel. Mer information finns i Inbyggda Definitioner för Azure Policy för Key Vault.
Behörigheter saknas
Felmeddelande
401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault.
Upptäckt
Så här identifierar du nyckel-URI:n och nyckelvalvet:
- Använd cmdleten eller kommandona i Nyckelvalvet som saknas för att identifiera det nyckelvalv som den logiska SQL Server-instansen använder.
Riskreducering
Bekräfta att servern har behörighet till nyckelvalvet och rätt behörigheter för att få åtkomst till nyckeln:
- Gå till key vault-åtkomstprinciperna> i Azure-portalen. Hitta serverns hanterade identitet (systemtilldelad eller användartilldelad).
- Om serveridentiteten finns kontrollerar du att den har följande nyckelbehörigheter: Get, WrapKey och UnwrapKey.
- Om serveridentiteten inte finns lägger du till den med hjälp av knappen Lägg till ny .
Hämta TDE-status från aktivitetsloggen
Om du vill tillåta övervakning av databasstatusen på grund av problem med åtkomst till Azure Key Vault-nycklar loggas följande händelser i aktivitetsloggen för resurs-ID:t baserat på Azure Resource Manager-URL:en.
Anmärkning
Händelser kan ta minst 15–30 minuter att visas i aktivitetsloggen från den tidpunkt då nyckelvalvsåtkomstproblem uppstår.
Händelse när tjänsten förlorar åtkomsten till Azure Key Vault-nyckeln
Azure SQL Database
EventName: MakeDatabaseInaccessible
Status: Startade
Beskrivning: Databasen {database_name} på servern {server_name} har förlorat åtkomsten till Azure Key Vault-nyckeln och övergår nu till otillgängligt tillstånd.
Azure SQL Managed Instance (en hanterad instans av SQL i Azure)
EventName: MakeManagedDbInaccessible
Status: Startade
Beskrivning: Databasen { database_name} på den hanterade servern {server_name} har förlorat åtkomsten till Azure Key Vault-nyckeln och övergår nu till otillgängligt tillstånd.
Händelse när problemet inte löstes inom 30 minuter och Azure Key Vault-nyckelåtkomst måste verifieras manuellt
Azure SQL Database
EventName: MakeDatabaseInaccessible
Status: Lyckades
Beskrivning: Databasen är otillgänglig och kräver att användaren löser Fel i Azure-nyckelvalvet och återupprättar åtkomsten till Azure Key Vault-nyckeln med hjälp av Revalidate-nyckeln.
Azure SQL Managed Instance (en hanterad instans av SQL i Azure)
EventName: MakeManagedDbInaccessible
Status: Lyckades
Beskrivning: Databasen { database_name} på den hanterade servern {server_name} är otillgänglig och kräver att användaren återupprättar åtkomsten till Azure Key Vault-nyckeln.
Händelse när omvalidering av Azure Key Vault-nyckelåtkomsten har slutförts och databasen är online igen
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Startade
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats, åtgärden för att göra databasen {database_name} på servern {server_name} tillgänglig har startats.
Azure SQL Managed Instance (en hanterad instans av SQL i Azure)
EventName: MakeManagedDatabaseAccessible
Status: Startade
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats, åtgärden för att göra databasen {database_name} på den hanterade servern {server_name} tillgänglig startades.
Händelse när databasen har kommit tillbaka online
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Lyckades
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats och databasen {database_name} på servern {server_name} är nu online.
Azure SQL Managed Instance (en hanterad instans av SQL i Azure)
EventName: MakeManagedDatabaseAccessible
Status: Lyckades
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats och databasen {database_name} på den hanterade servern {server_name} är nu online.
Händelse när omvalidering av Azure Key Vault-nyckelåtkomsten misslyckades
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Misslyckades
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats, åtgärden för att göra databasen {database_name} tillgänglig på servern {server_name} misslyckades
Azure SQL Managed Instance (en hanterad instans av SQL i Azure)
EventName: MakeManagedDatabaseAccessible
Status: Misslyckades
Beskrivning: Åtkomsten till Azure Key Vault-nyckeln har återupprättats, åtgärden för att göra databasen {database_name} tillgänglig på den hanterade servern {server_name} misslyckades