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:
- Rejestrowanie dostawcy zasobów usługi Azure Cosmos DB dla subskrypcji platformy Azure
- Konfigurowanie wystąpienia usługi Azure Key Vault
- Dodawanie zasad dostępu do wystąpienia usługi Azure Key Vault
- Generowanie klucza w usłudze Azure Key Vault
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:
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:
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.
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.