Configurar chaves geridas pelo cliente inativas
Quando cria uma nova API do Azure para a conta FHIR, os seus dados são encriptados através de chaves geridas pela Microsoft por predefinição. Agora, pode adicionar uma segunda camada de encriptação aos dados mediante a utilização da sua chave, escolhida e gerida por si.
No Azure, isto é normalmente conseguido com uma chave de encriptação no Azure Key Vault do cliente. SQL do Azure, o Armazenamento do Azure e o Azure Cosmos DB são alguns exemplos que fornecem esta capacidade atualmente. A API do Azure para FHIR tira partido deste suporte do Azure Cosmos DB. Quando cria uma conta, terá a opção de especificar um URI de chave de Key Vault do Azure. Esta chave será transmitida para o Azure Cosmos DB quando a conta DB for aprovisionada. Quando é feito um pedido FHIR® (Fast Healthcare Interoperability Resources), o Azure Cosmos DB obtém a sua chave e utiliza-a para encriptar/desencriptar os dados.
Para começar, consulte as seguintes ligações:
- Registar o fornecedor de recursos do Azure Cosmos DB para a sua subscrição do Azure
- Configurar a instância do Azure Key Vault
- Adicionar uma política de acesso à instância do Azure Key Vault
- Gerar uma chave no Azure Key Vault
Com o Portal do Azure
Ao criar a sua API do Azure para a conta FHIR no portal do Azure, irá reparar na opção de configuração de Encriptação de Dados no separador Definições da Base de Dados no separador Definições Adicionais. Por predefinição, a opção chave gerida pelo serviço será selecionada.
Importante
A opção de encriptação de dados só está disponível quando a API do Azure para FHIR é criada e não pode ser alterada posteriormente. No entanto, pode ver e atualizar a chave de encriptação se a opção Chave gerida pelo cliente estiver selecionada.
Pode escolher a sua chave no KeyPicker:
Também pode especificar a chave de Key Vault do Azure aqui ao selecionar a opção Chave gerida pelo cliente.
Também pode introduzir o URI da chave aqui:
Importante
Certifique-se de que todas as permissões do Azure Key Vault estão definidas adequadamente. Para obter mais informações, veja Adicionar uma política de acesso à instância do Azure Key Vault. Além disso, certifique-se de que a eliminação recuperável está ativada nas propriedades do Key Vault. Não concluir estes passos resultará num erro de implementação. Para obter mais informações, veja Verificar se a eliminação recuperável está ativada num cofre de chaves e ativar a eliminação recuperável.
Nota
A utilização de chaves geridas pelo cliente nas regiões sul, leste asiático e sudeste asiático do Azure requer um ID de Aplicação Empresarial gerado pela Microsoft. Pode pedir o ID da Aplicação Empresarial ao criar um pedido de suporte único através do portal do Azure. Depois de receber o ID da Aplicação, siga as instruções para registar a aplicação.
Para contas FHIR existentes, pode ver a opção de encriptação de chaves (chave gerida pelo serviço ou Chave gerida pelo cliente) no painel Base de Dados, conforme mostrado abaixo. A opção de configuração não pode ser modificada depois de ser selecionada. No entanto, pode modificar e atualizar a sua chave.
Além disso, pode criar uma nova versão da chave especificada, após a qual os seus dados serão encriptados com a nova versão sem qualquer interrupção do serviço. Também pode remover o acesso à chave para remover o acesso aos dados. Quando a chave é desativada, as consultas resultarão num erro. Se a chave for reativada, as consultas serão bem-sucedidas novamente.
Utilizar o Azure PowerShell
Com o URI da chave do Azure Key Vault, pode configurar a CMK com o PowerShell ao executar o comando do PowerShell abaixo:
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Utilizar a CLI do Azure
Tal como acontece com o key-vault-key-uri
método do PowerShell, pode configurar a CMK ao transmitir o URI da chave do Azure Key Vault no parâmetro e ao executar o comando da CLI abaixo:
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>"
Utilizar o Modelo de Resource Manager do Azure
Com o URI da chave do Azure Key Vault, pode configurar a CMK ao transmiti-la na propriedade keyVaultKeyUri no objeto de propriedades.
{
"$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
}
}
}
]
}
Além disso, pode implementar o modelo com o seguinte script do 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
Passos seguintes
Neste artigo, aprendeu a configurar chaves geridas pelo cliente inativas com o modelo portal do Azure, PowerShell, CLI e Resource Manager. Pode consultar a secção FAQ do Azure Cosmos DB para obter mais informações.
FHIR® é uma marca registada do HL7 e é utilizada com a permissão de HL7.