Konfigurieren kundenseitig verwalteter Schlüssel im Ruhezustand

Wenn Sie ein neues Azure API for FHIR-Konto erstellen, werden Ihre Daten standardmäßig mit von Microsoft verwalteten Schlüsseln verschlüsselt. Sie können jetzt eine zweite Verschlüsselungsebene für die Daten hinzufügen, indem Sie einen eigenen Schlüssel verwenden, den Sie selbst auswählen und verwalten.

In Azure wird dies normalerweise mit einem Verschlüsselungsschlüssel in der Azure Key Vault-Instanz des Kunden erreicht. Azure SQL, Azure Storage und Azure Cosmos DB sind Beispiele für Dienste, die derzeit über diese Funktion verfügen. In Azure API for FHIR wird diese Unterstützung über Azure Cosmos DB genutzt. Wenn Sie ein Konto erstellen, haben Sie die Möglichkeit, einen URI für einen Azure Key Vault-Schlüssel anzugeben. Dieser Schlüssel wird an Azure Cosmos DB übergeben, wenn das DB-Konto bereitgestellt wird. Wenn eine FHIR®-Anforderung (Fast Healthcare Interoperability Resources) gesendet wird, ruft Azure Cosmos DB Ihren Schlüssel ab und verwendet ihn zum Ver- bzw. Entschlüsseln der Daten.

Informationen zu den ersten Schritten finden Sie unter den folgenden Links:

Verwenden des Azure-Portals

Wenn Sie im Azure-Portal Ihr Azure API for FHIR-Konto erstellen, wird auf der Registerkarte Zusätzliche Einstellungen unter Datenbankeinstellungen die Konfigurationsoption Datenverschlüsselung angezeigt. Standardmäßig ist die Option „Dienstseitig verwalteter Schlüssel“ ausgewählt.

Wichtig

Die Datenverschlüsselungsoption ist nur verfügbar, wenn Azure API for FHIR erstellt wird, und kann danach nicht mehr geändert werden. Sie können jedoch den Verschlüsselungsschlüssel anzeigen und aktualisieren, wenn die Option Kundenseitig verwalteter Schlüssel ausgewählt ist.

Sie können Ihren Schlüssel in der Schlüsselauswahl auswählen:

Schlüsselauswahl

Sie können hier auch Ihren Azure Key Vault-Schlüssel angeben, indem Sie die Option Kundenseitig verwalteter Schlüssel auswählen.

Sie können den Schlüssel-URI auch hier eingeben:

Erstellen einer Azure API for FHIR-Instanz

Wichtig

Stellen Sie sicher, dass alle Berechtigungen für Azure Key Vault entsprechend festgelegt sind. Weitere Informationen finden Sie unter Hinzufügen einer Zugriffsrichtlinie zu Ihrer Azure Key Vault-Instanz. Stellen Sie außerdem sicher, dass vorläufiges Löschen in den Eigenschaften von Key Vault aktiviert ist. Wenn Sie diese Schritte nicht durchführen, resultiert dies in einem Bereitstellungsfehler. Weitere Informationen finden Sie unter Überprüfen, ob vorläufiges Löschen für einen Schlüsseltresor aktiviert ist, und Aktivieren des vorläufigen Löschens.

Hinweis

Für die Verwendung von kundenseitig verwalteten Schlüsseln in den Azure-Regionen "Brasilien, Süden", "Asien, Osten" und "Asien, Südosten" ist eine von Microsoft generierte Unternehmensanwendungs-ID erforderlich. Sie können die Unternehmensanwendungs-ID anfordern, indem Sie über die Azure-Portal ein einmaliges Supportticket erstellen. Nachdem Sie die Anwendungs-ID erhalten haben, befolgen Sie die Anweisungen zum Registrieren der Anwendung.

Für vorhandene FHIR-Konten können Sie die Option für die Schlüsselverschlüsselung (Dienstseitig verwalteter Schlüssel oder Kundenseitig verwalteter Schlüssel) wie unten gezeigt auf dem Blatt Datenbank anzeigen. Die Konfigurationsoption kann nach dem Auswählen nicht mehr geändert werden. Sie können aber Ihren Schlüssel ändern und aktualisieren.

Datenbank

Darüber hinaus können Sie auch eine neue Version des angegebenen Schlüssels erstellen. Nach der Erstellung werden Ihre Daten mit der neuen Version verschlüsselt, ohne dass es zu einer Dienstunterbrechung kommt. Sie können den Zugriff auf den Schlüssel auch entfernen, damit nicht auf die Daten zugegriffen werden kann. Wenn der Schlüssel deaktiviert ist, tritt bei Abfragen ein Fehler auf. Wird der Schlüssel wieder aktiviert, sind die Abfragen wieder erfolgreich.

Verwenden von Azure PowerShell

Mit dem Azure Key Vault-Schlüssel-URI können Sie den CMK mithilfe von PowerShell konfigurieren. Führen Sie dazu den folgenden PowerShell-Befehl aus:

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

Verwenden der Azure-Befehlszeilenschnittstelle

Wie bei der Methode mit PowerShell können Sie den CMK konfigurieren, indem Sie den Azure Key Vault-Schlüssel-URI unter dem Parameter key-vault-key-uri übergeben und den folgenden CLI-Befehl ausführen:

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>"

Verwenden von Azure Resource Manager-Vorlagen

Mit dem Azure Key Vault-Schlüssel-URI können Sie den CMK konfigurieren, indem Sie den URI unter der Eigenschaft keyVaultKeyUri im Objekt properties übergeben.

{
    "$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
                }
            }
        }
    ]
}

Darüber hinaus können Sie die Vorlage mithilfe des folgenden PowerShell-Skripts bereitstellen:

$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

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie kundenseitig verwaltete Schlüssel im Ruhezustand mit dem Azure-Portal, mit PowerShell, der CLI und einer Resource Manager-Vorlage konfigurieren. Weitere Informationen finden Sie im Abschnitt „Häufig gestellte Fragen zu Azure Cosmos DB“.

FHIR® ist eine eingetragene Marke von HL7 und wird mit Genehmigung von HL7 verwendet.