Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure SQL Database
Microsoft Azure Attestation är en lösning för attestering av betrodda körningsmiljöer (TEE), inklusive enklaver för Intel Software Guard-tillägg (Intel SGX).
Om du vill använda Azure Attestation för attestera Intel SGX-enklaver som används för Always Encrypted med säkra enklaver i Azure SQL Database måste du:
Skapa en attesteringsprovider och konfigurera den med den rekommenderade attesteringsprincipen.
Fastställa attesterings-URL:en och dela den med programadministratörer.
Viktigt!
Med Intel SGX-enklaver i Azure SQL Database är attestering obligatoriskt och kräver Microsoft Azure Attestation. VBS-enklaver i Azure SQL Database stöder inte attestering. Den här artikeln gäller endast Intel SGX-enklaver.
Anmärkning
Att konfigurera attestering är attesteringsadministratörens ansvar. Se Roller och ansvarsområden när du konfigurerar Intel SGX-enklaver och attestering.
Skapa och konfigurera en attesteringsprovider
En attesteringsprovider är en resurs i Azure Attestation som utvärderar attesteringsbegäranden mot attesteringsprinciper och utfärdar attesteringstoken.
Attesteringsprinciper anges med hjälp av grammatiken för anspråksregeln.
Viktigt!
En attesteringstjänst skapas med standardpolicy för Intel SGX-enklaver, som inte verifierar koden som körs i enklaven. Microsoft rekommenderar starkt att du anger den rekommenderade principen som används i följande utdata och inte använder standardprincipen för Always Encrypted med säkra enklaver.
Microsoft rekommenderar följande princip för attestera Intel SGX-enklaver som används för Always Encrypted i Azure SQL Database:
version= 1.0;
authorizationrules
{
[ type=="x-ms-sgx-is-debuggable", value==false ]
&& [ type=="x-ms-sgx-product-id", value==4639 ]
&& [ type=="x-ms-sgx-svn", value>= 2 ]
&& [ type=="x-ms-sgx-mrsigner", value=="e31c9e505f37a58de09335075fc8591254313eb20bb1a27e5443cc450b6e33e5"]
=> permit();
[ type=="x-ms-sgx-is-debuggable", value==false ]
&& [ type=="x-ms-sgx-product-id", value==4639 ]
&& [ type=="x-ms-sgx-svn", value>= 2 ]
&& [ type=="x-ms-sgx-mrsigner", value=="a0f8e7f72092fb6a5d5752ffccd47fb3af7027ffb589b24e921e81f5703f3a9a"]
=> permit();
};
Policyn verifierar:
Enklaven i Azure SQL Database stöder inte felsökning.
Enklaver kan laddas med felsökning inaktiverad eller aktiverad. Felsökningsstöd är utformat för att göra det möjligt för utvecklare att felsöka koden som körs i en enklav. I ett produktionssystem kan felsökning göra det möjligt för en administratör att undersöka innehållet i enklaven, vilket skulle minska den skyddsnivå som enklaven tillhandahåller. Den rekommenderade principen inaktiverar felsökning för att säkerställa att om en skadlig administratör försöker aktivera felsökningsstöd genom att ta över enklaverdatorn misslyckas attesteringen.
Produkt-ID:t för enklaven matchar produkt-ID:t som tilldelats Always Encrypted med säkra enklaver.
Varje enklaver har ett unikt produkt-ID som skiljer enklaven från andra enklaver. Produkt-ID:t som tilldelats always encrypted-enklaven är 4639.
Bibliotekets säkerhetsversionsnummer (SVN) är större än eller lika med 2.
Med SVN kan Microsoft svara på potentiella säkerhetsbuggar som identifieras i enklavens kod. Om ett säkerhetsproblem upptäcks och åtgärdas distribuerar Microsoft en ny version av enklaven med ett nytt (inkrementerat) SVN. Den rekommenderade principen uppdateras för att återspegla det nya SVN:t. Genom att uppdatera din princip så att den matchar den rekommenderade principen kan du se till att om en obehörig administratör försöker läsa in en äldre och osäker enklav misslyckas attesteringen.
Biblioteket i enklaven har signerats med hjälp av Microsoft-signeringsnyckeln (värdet för anspråket x-ms-sgx-mrsigner är hashen för signeringsnyckeln).
Ett av huvudmålen med attestering är att övertyga klienter om att binärfilen som körs i enklaven är binärfilen som ska köras. Attesteringsprinciper tillhandahåller två mekanismer för detta ändamål. En är mrenclave-anspråket, vilket är hashvärdet för den binärfil som ska köras i en enklav. Problemet med mrenclave är att binär hash ändras även med triviala ändringar i koden, vilket gör det svårt att återkalla koden som körs i enklaven. Därför rekommenderar vi användning av mrsigner, som är en hash av en nyckel som används för att signera binären för enklaven. När Microsoft återkallar enklaven förblir mrsigner densamma så länge signeringsnyckeln inte ändras. På så sätt blir det möjligt att distribuera uppdaterade binärfiler utan att bryta kundernas program.
Viktigt!
Microsoft kan behöva rotera nyckeln som används för att signera always encrypted-enklavens binärfil, vilket förväntas vara en sällsynt händelse. Innan en ny version av enklavbinärfilen, signerad med en ny nyckel, distribueras till Azure SQL Database uppdateras den här artikeln för att tillhandahålla en ny rekommenderad attesteringspolicy och instruktioner om hur du ska uppdatera policyn hos dina leverantörer av attesteringspolicy för att säkerställa att dina applikationer fortsätter att fungera oavbrutet.
Anvisningar för hur du skapar en attesteringsprovider och konfigurerar med en attesteringsprincip med hjälp av:
-
Snabbstart: Konfigurera Azure Attestation med Azure-portalen
Viktigt!
När du konfigurerar din attesteringsprincip med Azure-portalen anger du Attesteringstyp till
SGX-IntelSDK. -
Snabbstart: Konfigurera Azure Attestation med Azure PowerShell
Viktigt!
När du konfigurerar din attesteringsprincip med Azure PowerShell anger du parametern
TeetillSgxEnclave. -
Snabbstart: Konfigurera Azure Attestation med Azure CLI
Viktigt!
När du konfigurerar din attesteringsprincip med Azure CLI anger du parametern
attestation-typetillSGX-IntelSDK.
Bestäm attestations-URL för din attesteringspolicy
När du har konfigurerat en attesteringsprincip måste du dela attesterings-URL:en med administratörer av program som använder Always Encrypted med säkra enklaver i Azure SQL Database. Attesterings-URL:en är för attesteringsleverantören Attest URI som innehåller attesteringspolicyn, vilket ser ut som följer: https://MyAttestationProvider.wus.attest.azure.net.
Använda Azure-portalen för att fastställa attesterings-URL:en
I översiktspanelen för attesteringsprovider kopierar du värdet på egenskapen Attest URI till urklipp.
Använda PowerShell för att fastställa attesterings-URL:en
Använd cmdleten Get-AzAttestation för att hämta egenskaperna för attesteringsprovidern, inklusive AttestURI.
Get-AzAttestation -Name $attestationProviderName -ResourceGroupName $attestationResourceGroupName
Mer information finns i Skapa och hantera en attesteringsprovider.