Konfigurace ověření identity pro Always Encrypted s využitím ověřování Azure Attestation
Platí pro: Azure SQL Database
Ověření identity Microsoft Azure je řešení pro testování důvěryhodných spouštěcích prostředí (TEE), včetně enkláv Intel Software Guard Extensions (Intel SGX).
Pokud chcete používat ověřování Azure pro ověřování enkláv Intel SGX používaných pro Always Encrypted se zabezpečenými enklávy ve službě Azure SQL Database, musíte:
Vytvořte zprostředkovatele ověření identity a nakonfigurujte ho s doporučenými zásadami ověření identity.
Určete adresu URL ověření identity a sdílejte ji se správci aplikací.
Důležité
S enklávy Intel SGX ve službě Azure SQL Database je ověření identity povinné a vyžaduje ověření identity Microsoft Azure. Enklávy VBS ve službě Azure SQL Database nepodporují ověření identity. Tento článek platí jenom pro enklávy Intel SGX.
Poznámka:
Konfigurace ověření identity je zodpovědností správce ověření identity. Při konfiguraci enkláv a ověření identity Intel SGX si prohlédni role a zodpovědnosti.
Vytvoření a konfigurace zprostředkovatele ověření identity
Poskytovatel ověření identity je prostředek ve službě Azure Attestation, který vyhodnocuje žádosti o ověření identity proti zásadám ověření identity a vydává tokeny ověření identity.
Zásady ověření identity se zadají pomocí gramatiky pravidel deklarací identity.
Důležité
Zprostředkovatel ověření identity se vytvoří s výchozí zásadou pro enklávy Intel SGX, které neověřuje kód spuštěný uvnitř enklávy. Microsoft důrazně doporučuje nastavit doporučené zásady použité v následujícím výstupu a nepoužívá výchozí zásady pro Always Encrypted se zabezpečenými enklávy.
Microsoft doporučuje následující zásady pro testování enkláv Intel SGX používaných pro Always Encrypted ve službě 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();
};
Zásady ověří:
Enkláva v Azure SQL Database nepodporuje ladění.
Enklávy se dají načíst s vypnutým nebo povoleným laděním. Podpora ladění je navržená tak, aby vývojářům umožňovala řešit potíže s kódem spuštěným v enklávě. V produkčním systému by ladění mohlo správci umožnit prozkoumat obsah enklávy, což by snížilo úroveň ochrany, kterou enkláva poskytuje. Doporučená zásada zakáže ladění, aby se zajistilo, že pokud se správce se zlými úmysly pokusí zapnout podporu ladění převzetím počítače enklávy, ověření identity selže.
ID produktu enklávy odpovídá ID produktu přiřazené funkci Always Encrypted se zabezpečenými enklávami.
Každá enkláva má jedinečné ID produktu, které odlišuje enklávu od ostatních enkláv. ID produktu přiřazené k enklávě Always Encrypted je 4639.
Číslo verze zabezpečení (SVN) knihovny je větší nebo rovno 2.
SVN umožňuje Microsoftu reagovat na potenciální chyby zabezpečení zjištěné v kódu enklávy. V případě zjištění a pevného problému se zabezpečením Microsoft nasadí novou verzi enklávy s novým SVN (inkrementovaným). Doporučené zásady se aktualizují tak, aby odrážely nový SVN. Aktualizací zásad tak, aby odpovídaly doporučeným zásadám, můžete zajistit, že pokud se správce se zlými úmysly pokusí načíst starší a nezabezpečenou enklávu, ověření identity selže.
Knihovna v enklávě byla podepsána pomocí podpisového klíče Microsoftu (hodnota deklarace identity x-ms-sgx-mrsigner je hodnota hash podpisového klíče).
Jedním z hlavních cílů ověření identity je přesvědčit klienty, že binární soubor běžící v enklávě je binární soubor, který má běžet. Zásady ověření identity poskytují pro tento účel dva mechanismy. Jedním z nich je deklarace identity mrenclave , což je hodnota hash binárního souboru, který má běžet v enklávě. Problém s mrenclave spočívá v tom, že binární hodnota hash se změní i s triviálními změnami kódu, což znesnadňuje revize kódu spuštěného v enklávě. Proto doporučujeme použít mrsigner, což je hodnota hash klíče, který se používá k podepsání binárního souboru enklávy. Když Microsoft změní enklávu, zůstane podpisový klíč stejný, dokud se podpisový klíč nezmění. Tímto způsobem je možné nasadit aktualizované binární soubory bez přerušení aplikací zákazníků.
Důležité
Microsoft může potřebovat otočit klíč použitý k podepsání binárního souboru enklávy Always Encrypted, což se očekává, že se jedná o vzácnou událost. Před nasazením nové verze binárního souboru enklávy podepsaného novým klíčem se do služby Azure SQL Database aktualizuje tento článek, aby poskytoval nové doporučené zásady ověření identity a pokyny k aktualizaci zásad ve vašich poskytovatelích ověření identity, aby vaše aplikace nadále fungovaly bez přerušení.
Pokyny k vytvoření zprostředkovatele ověření identity a konfiguraci se zásadami ověření identity pomocí:
- Rychlý start: Nastavení ověření identity Azure pomocí webu Azure Portal
Důležité
Když nakonfigurujete zásady ověření identity pomocí webu Azure Portal, nastavte typ ověření identity na
SGX-IntelSDK
hodnotu . - Rychlý start: Nastavení ověřování Azure pomocí Azure PowerShellu
Důležité
Při konfiguraci zásad ověřování identity pomocí Azure PowerShellu
Tee
nastavte parametr naSgxEnclave
hodnotu . - Rychlý start: Nastavení ověřování Azure pomocí Azure CLI
Důležité
Při konfiguraci zásad ověřování identity pomocí Azure CLI nastavte
attestation-type
parametr naSGX-IntelSDK
.
Určení adresy URL ověření identity pro zásady ověření identity
Po nakonfigurování zásady ověření identity musíte sdílet adresu URL ověření identity se správci aplikací, které používají funkci Always Encrypted se zabezpečenými enklávy ve službě Azure SQL Database. Adresa URL ověření identity je Attest URI
poskytovatel ověření identity obsahující zásady ověření identity, která vypadá takto: https://MyAttestationProvider.wus.attest.azure.net
Určení adresy URL ověření identity pomocí webu Azure Portal
V podokně Přehled poskytovatele ověření identity zkopírujte hodnotu Attest URI
vlastnosti do schránky.
Určení adresy URL ověření identity pomocí PowerShellu
Pomocí rutiny Get-AzAttestation
načtěte vlastnosti zprostředkovatele ověření identity, včetně attestURI.
Get-AzAttestation -Name $attestationProviderName -ResourceGroupName $attestationResourceGroupName
Další informace najdete v tématu Vytvoření a správa poskytovatele ověření identity.