Konfigurowanie kluczy zarządzanych przez klienta magazynowanych

Podczas tworzenia nowego konta interfejsu API platformy Azure 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ę funkcję dzisiaj. Interfejs API platformy Azure dla platformy 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ę, zapoznaj się z następującymi linkami:

Korzystanie z witryny Azure Portal

Podczas tworzenia konta usługi Azure API for FHIR na Azure Portal zobaczysz opcję konfiguracji szyfrowania danych w obszarze Ustawienia bazy danych na karcie Dodatkowe ustawienia. Domyślnie zostanie wybrana opcja klucz zarządzany przez usługę.

Ważne

Opcja szyfrowania danych jest dostępna tylko po utworzeniu interfejsu API platformy Azure for 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żna wybrać z poziomu platformy KeyPicker:

KeyPicker

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

Możesz również wprowadzić identyfikator URI klucza tutaj:

Tworzenie interfejsu API platformy Azure dla platformy FHIR

Ważne

Upewnij się, że wszystkie uprawnienia dla Key Vault platformy Azure zostały 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 spowoduje błąd 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życie kluczy zarządzanych przez klienta w regionach Brazylii Południowej i Azji Wschodniej 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 kluczy (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 zostaną zaszyfrowane 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. Po wyłączeniu klucza zapytania spowodują wystąpienie błędu. Jeśli klucz zostanie ponownie włączony, zapytania powiedzą się ponownie.

Korzystanie z programu Azure PowerShell

Za pomocą identyfikatora URI klucza usługi Azure Key Vault można skonfigurować klucz zarządzania kluczem za pomocą programu 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 cmK, przekazując identyfikator URI klucza usługi Azure Key Vault w parametrze key-vault-key-uri i uruchamiając poniższe polecenie 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 cmK, przekazując go w ramach 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 Azure Portal, programu PowerShell, interfejsu wiersza polecenia i szablonu Resource Manager. Aby uzyskać więcej informacji, zobacz sekcję Azure Cosmos DB FAQ (Często zadawane pytania dotyczące usługi Azure Cosmos DB).

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