Konfigurowanie kluczy zarządzanych przez klienta w spoczynku

Podczas tworzenia nowego konta usługi Azure API for FHIR dane są domyślnie szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Teraz możesz dodać drugą warstwę szyfrowania danych przy użyciu własnego klucza, który wybierzesz i którym zarządzasz samodzielnie.

Na platformie Azure jest to zwykle realizowane przy użyciu klucza szyfrowania w usłudze Azure Key Vault klienta. Azure SQL, Azure Storage i Azure Cosmos DB to kilka przykładów, które zapewniają tę możliwość dzisiaj. Interfejs API platformy Azure dla standardu FHIR korzysta z tej obsługi z usługi Azure Cosmos DB. Podczas tworzenia konta będziesz mieć możliwość określenia identyfikatora URI klucza usługi Azure Key Vault. Ten klucz zostanie przekazany do usługi Azure Cosmos DB po aprowizacji konta usługi DB. Po wysłaniu żądania fast healthcare interoperability resources (FHIR®) usługa Azure Cosmos DB pobiera klucz i używa go do szyfrowania/odszyfrowywania danych.

Aby rozpocząć pracę, skorzystaj z następujących linków:

Korzystanie z witryny Azure Portal

Podczas tworzenia konta usługi Azure API for FHIR na Azure Portal zauważysz opcję konfiguracji szyfrowania danych w obszarze Ustawienia bazy danych na karcie Ustawienia dodatkowe. Domyślnie zostanie wybrana opcja klucza zarządzanego przez usługę.

Ważne

Opcja szyfrowania danych jest dostępna tylko po utworzeniu interfejsu API platformy Azure dla standardu FHIR i nie można jej później zmienić. Można jednak wyświetlić i zaktualizować klucz szyfrowania, jeśli wybrano opcję Klucz zarządzany przez klienta .

Klucz możesz wybrać z poziomu platformy KeyPicker:

KeyPicker

Klucz usługi Azure Key Vault można również określić tutaj, wybierając opcję Klucz zarządzany przez klienta.

Identyfikator URI klucza można również wprowadzić tutaj:

Tworzenie interfejsu API platformy Azure dla standardu FHIR

Ważne

Upewnij się, że wszystkie uprawnienia dla Key Vault platformy Azure są odpowiednio ustawione. Aby uzyskać więcej informacji, zobacz Dodawanie zasad dostępu do wystąpienia usługi Azure Key Vault. Ponadto upewnij się, że usuwanie nietrwałe jest włączone we właściwościach Key Vault. Wykonanie tych kroków nie spowoduje błędu wdrożenia. Aby uzyskać więcej informacji, zobacz Sprawdzanie, czy usuwanie nietrwałe jest włączone w magazynie kluczy i włączanie usuwania nietrwałego.

Uwaga

Używanie kluczy zarządzanych przez klienta w regionach świadczenia usługi Azure Brazylia Południowa, Azja Wschodnia i Azja Południowo-Wschodnia wymaga identyfikatora aplikacji dla przedsiębiorstw wygenerowanego przez firmę Microsoft. Możesz zażądać identyfikatora aplikacji dla przedsiębiorstw, tworząc jednorazowy bilet pomocy technicznej za pośrednictwem Azure Portal. Po otrzymaniu identyfikatora aplikacji postępuj zgodnie z instrukcjami, aby zarejestrować aplikację.

W przypadku istniejących kont FHIR możesz wyświetlić wybór szyfrowania klucza (klucz zarządzany przez usługę lub klucz zarządzany przez klienta) w bloku Baza danych , jak pokazano poniżej. Nie można zmodyfikować opcji konfiguracji po jej wybraniu. Można jednak zmodyfikować i zaktualizować klucz.

baza danych

Ponadto można utworzyć nową wersję określonego klucza, po której dane będą szyfrowane przy użyciu nowej wersji bez żadnych przerw w działaniu usługi. Możesz również usunąć dostęp do klucza, aby usunąć dostęp do danych. Gdy klucz jest wyłączony, zapytania spowodują błąd. Jeśli klucz zostanie ponownie włączony, zapytania zostaną ponownie wykonane pomyślnie.

Korzystanie z programu Azure PowerShell

Za pomocą identyfikatora URI klucza usługi Azure Key Vault można skonfigurować klucz zarządzany przez program PowerShell, uruchamiając poniższe polecenie programu PowerShell:

New-AzHealthcareApisService
    -Name "myService"
    -Kind "fhir-R4"
    -ResourceGroupName "myResourceGroup"
    -Location "westus2"
    -CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"

Korzystanie z interfejsu wiersza polecenia platformy Azure

Podobnie jak w przypadku metody programu PowerShell, możesz skonfigurować klucz zarządzany przez przekazanie identyfikatora URI klucza usługi Azure Key Vault w ramach parametru key-vault-key-uri i uruchomienie poniższego polecenia interfejsu wiersza polecenia:

az healthcareapis service create
    --resource-group "myResourceGroup"
    --resource-name "myResourceName"
    --kind "fhir-R4"
    --location "westus2"
    --cosmos-db-configuration key-vault-key-uri="https://<my-vault>.vault.azure.net/keys/<my-key>"

Korzystanie z szablonu usługi Azure Resource Manager

Za pomocą identyfikatora URI klucza usługi Azure Key Vault można skonfigurować klucz zarządzany przez przekazanie go we właściwości keyVaultKeyUri w obiekcie properties.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "services_myService_name": {
            "defaultValue": "myService",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.HealthcareApis/services",
            "apiVersion": "2020-03-30",
            "name": "[parameters('services_myService_name')]",
            "location": "westus2",
            "kind": "fhir-R4",
            "properties": {
                "accessPolicies": [],
                "cosmosDbConfiguration": {
                    "offerThroughput": 400,
                    "keyVaultKeyUri": "https://<my-vault>.vault.azure.net/keys/<my-key>"
                },
                "authenticationConfiguration": {
                    "authority": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47",
                    "audience": "[concat('https://', parameters('services_myService_name'), '.azurehealthcareapis.com')]",
                    "smartProxyEnabled": false
                },
                "corsConfiguration": {
                    "origins": [],
                    "headers": [],
                    "methods": [],
                    "maxAge": 0,
                    "allowCredentials": false
                }
            }
        }
    ]
}

Szablon można wdrożyć przy użyciu następującego skryptu programu PowerShell:

$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$accountLocation = "West US 2"
$keyVaultKeyUri = "https://<my-vault>.vault.azure.net/keys/<my-key>"

New-AzResourceGroupDeployment `
    -ResourceGroupName $resourceGroupName `
    -TemplateFile "deploy.json" `
    -accountName $accountName `
    -location $accountLocation `
    -keyVaultKeyUri $keyVaultKeyUri

Następne kroki

W tym artykule przedstawiono sposób konfigurowania kluczy zarządzanych przez klienta magazynowanych przy użyciu szablonu Azure Portal, programu PowerShell, interfejsu wiersza polecenia i Resource Manager. Więcej informacji można znaleźć w sekcji Często zadawane pytania dotyczące usługi Azure Cosmos DB.

FHIR® jest zastrzeżonym znakiem towarowym HL7 i jest używany z pozwoleniem HL7.