Udostępnij przez


Funkcja bezpiecznego wydania klucza przy użyciu usług AKV i Azure Confidential Computing (ACC)

Secure Key Release (SKR) to funkcjonalność usługi Azure Key Vault (AKV) związana z zarządzanym modułem HSM i ofertą Premium. pl-PL: Bezpieczne wydanie klucza umożliwia wydanie klucza chronionego przez moduł HSM z usługi AKV do atestowanego zaufanego środowiska wykonawczego (TEE), takiego jak bezpieczna enklawa, TEE oparte na maszynie wirtualnej itp. SKR dodaje kolejną warstwę ochrony dostępu do kluczy odszyfrowywania/szyfrowania danych, gdzie można kierować aplikację i środowisko uruchomieniowe TEE ze znaną konfiguracją, aby uzyskać dostęp do materiału klucza. Zasady SKR zdefiniowane w momencie tworzenia klucza możliwego do wyeksportowania zarządzają dostępem do tych kluczy.

Wsparcie SKR z ofertami AKV

Ogólny przepływ bezpiecznego wydania klucza za pomocą rozwiązania TEE

Skr może zwalniać klucze tylko na podstawie oświadczeń wygenerowanych przez usługę Microsoft Azure Attestation (MAA). Istnieje ścisła integracja definicji zasad SKR z oświadczeniami MAA.

Diagram przepływu bezpiecznego uwolnienia klucza.

Poniższe kroki dotyczą usługi AKV Premium.

Krok 1. Tworzenie kopii zapasowej modułu HSM usługi Key Vault w warstwie Premium

Postępuj zgodnie z instrukcjami podanymi tutaj, aby uzyskać informacje na temat tworzenia usługi AKV opartej na interfejsie wiersza polecenia az

Pamiętaj, aby ustawić wartość [--sku] na "premium".

Krok 2. Tworzenie zasad bezpiecznego wydania klucza

Zasady bezpiecznego wydania klucza to zasady wydania formatu json zdefiniowane w tym miejscu , które określają zestaw oświadczeń wymaganych oprócz autoryzacji do wydania klucza. Oświadczenia w niniejszym dokumencie są oświadczeniami bazującymi na MAA, jak wspomniano tutaj dla SGX i tutaj dla AMD SEV-SNP CVM.

Aby uzyskać więcej informacji, odwiedź stronę przykładów specyficznych dla usługi TEE. Aby uzyskać więcej informacji na temat gramatyki zasad SKR, zobacz Gramatyka zasad bezpiecznego wydania kluczy usługi Azure Key Vault.

Przed ustawieniem polityki SKR upewnij się, że twoja aplikacja TEE przeszła proces zdalnego uwierzytelniania. Zdalne zaświadczanie nie jest omówione w ramach tego samouczka.

Przykład

{
    "version": "1.0.0",
    "anyOf": [ // Always starts with "anyOf", meaning you can multiple, even varying rules, per authority.
        {
            "authority": "https://sharedweu.weu.attest.azure.net",
            "allOf": [ // can be replaced by "anyOf", though you cannot nest or combine "anyOf" and "allOf" yet.
                {
                    "claim": "x-ms-isolation-tee.x-ms-attestation-type", // These are the MAA claims.
                    "equals": "sevsnpvm"
                },
                {
                    "claim": "x-ms-isolation-tee.x-ms-compliance-status",
                    "equals": "azure-compliant-cvm"
                }
            ]
        }
    ]
}


Krok 3. Tworzenie klucza możliwego do wyeksportowania w usłudze AKV z dołączonymi zasadami SKR

Szczegółowe informacje o typie klucza i innych skojarzonych atrybutach można znaleźć tutaj.

az keyvault key create --exportable true --vault-name "vault name from step 1" --kty RSA-HSM --name "keyname" --policy "jsonpolicyfromstep3 -can be a path to JSON"

Krok 4. Aplikacja działająca w środowisku TEE wykonująca zdalne zaświadczanie

Ten krok może być specyficzny dla typu TEE, w którym uruchamiasz swoją aplikację, jak Enklawy Intel SGX lub poufne maszyny wirtualne oparte na AMD SEV-SNP (CVM) albo poufne kontenery działające w enklawach CVM z AMD SEV-SNP itp.

Postępuj zgodnie z poniższymi przykładami dotyczącymi różnych typów TEE oferowanych za pomocą platformy Azure:

Często zadawane pytania

Czy mogę wykonać SKR przy użyciu ofert przetwarzania niepoufnych danych?

Nie. Zasady dołączone do SKR rozumieją tylko oświadczenia MAA skojarzone ze sprzętowymi TEE.

Czy mogę użyć własnego dostawcy usługi poświadczania lub serwisu i zastosować te oświadczenia w usłudze AKV do weryfikacji i wydania?

Nie. Usługa AKV już dziś rozumie i integruje się z usługą MAA.

Czy mogę użyć zestawów SDK usługi AKV do zwolnienia klucza?

Tak. Najnowsza wersja zestawu SDK zintegrowana z obsługą kluczy RELEASE w interfejsie API usługi AKV w wersji 7.3.

Czy możesz udostępnić kilka przykładów kluczowych zasad wydania?

Tak, szczegółowe przykłady według typu TEE są wymienione tutaj.

Czy mogę połączyć politykę typu SKR z certyfikatami i secretami?

Nie. Nie w tej chwili.

Źródła

Przykłady zasad SKR

Usługa Azure Container Instance z poufnymi kontenerami i zwalnianiem kluczy zabezpieczających przy użyciu bocznych kontenerów

Przykładowy kod CVM w aplikacjach amd SEV-SNP z bezpiecznym wydaniem klucza

Interfejs API REST AKV ze szczegółami SKR

Gramatyka zasad bezpiecznego wydania kluczy w usłudze Azure Key Vault

Zestawy SDK AKV