Configurar chaves gerenciada pelo cliente em repouso
Importante
A API do Azure para FHIR será desativada em 30 de setembro de 2026. Siga as estratégias de migração para fazer a transição para FHIR® dos Serviços de Dados de Saúde do Azure até essa data. Devido à desativação da API do Azure para FHIR, novas implantações não serão permitidas a partir de 1º de abril de 2025. O serviço dos Serviços de Dados de Saúde do Azure para serviço FHIR é a versão evoluída da API do Azure para FHIR que permite aos clientes gerenciar os serviços FHIR, DICOM e serviço de tecnologia médica com integrações a outros serviços do Azure.
Quando você cria uma nova conta da API do Azure para FHIR®, seus dados são criptografados usando chaves gerenciadas pela Microsoft por padrão. Agora você pode adicionar uma segunda camada de criptografia para os dados usando uma chave que você escolher e gerenciar por conta própria.
No Azure, isso normalmente é feito usando uma chave de criptografia no Azure Key Vault do cliente. O SQL do Azure, o Armazenamento do Microsoft Azure e o Azure Cosmos DB são alguns exemplos que fornecem essa funcionalidade. A API do Azure para FHIR aproveita esse suporte do Azure Cosmos DB. Ao criar uma conta, existe a opção de especificar um URI de chave do Azure Key Vault. Essa chave é passada para o Azure Cosmos DB quando a conta do BD é provisionada. Quando uma solicitação FHIR (Fast Healthcare Interoperability Resources) é feita, o Azure Cosmos DB busca sua chave e a usa para criptografar/descriptografar os dados.
Para começar, confira os seguintes links:
- Registrar o provedor de recursos do Azure Cosmos DB para a sua assinatura do Azure
- Configurar sua instância do Azure Key Vault
- Adicionar uma política de acesso à sua instância do Azure Key Vault
- Gerar uma chave no Azure Key Vault
Usando o Portal do Azure
Ao criar sua conta da API do Azure para FHIR no portal do Azure, você observará uma opção de configuração de Criptografia de Dados nas Configurações de Banco de Dados na guia Configurações Adicionais. Por padrão, a opção de chave gerenciada pelo serviço é selecionada.
Importante
A opção de criptografia de dados só está disponível quando a API do Azure para FHIR é criada e não pode ser alterada mais tarde. No entanto, você poderá ver e atualizar a chave de criptografia se a opção Chave gerenciada pelo cliente estiver selecionada.
Você pode escolher a chave no KeyPicker:
Ou você também pode especificar a chave do Azure Key Vault aqui selecionando a opção Chave gerenciada pelo cliente.
Você também pode inserir o URI da chave, conforme mostrado a seguir.
Importante
Verifique se todas as permissões do Azure Key Vault estão definidas corretamente. Para obter mais informações, confira Adicionar uma política de acesso à instância do Azure Key Vault. Além disso, verifique se a exclusão reversível está habilitada nas propriedades do Key Vault. Se essas etapas não forem concluídas, haverá um erro de implantação. Para obter mais informações, confira Verificar se a exclusão reversível está habilitada em um cofre de chaves e habilitá-la.
Observação
O uso de chaves gerenciadas pelo cliente nas regiões Sul do Brasil, Leste da Ásia e Sudeste Asiático do Azure requer uma ID de Aplicativo Empresarial gerada pela Microsoft. Você pode solicitar uma ID do Aplicativo Enterprise criando um tíquete de suporte único por meio do portal do Azure. Depois de receber a ID do aplicativo, siga as instruções para registrar o aplicativo.
Para contas FHIR existentes, você pode exibir a opção de criptografia de chave (Chave gerenciada pelo serviço ou Chave gerenciada pelo cliente) na folha Banco de Dados da seguinte maneira. A opção de configuração não poderá ser modificada depois que for escolhida. No entanto, você pode modificar e atualizar a sua chave.
Além disso, você pode criar uma nova versão da chave especificada, após a qual seus dados são criptografados com a nova versão sem nenhuma interrupção de serviço. Você também pode remover o acesso à chave para remover o acesso aos dados. Quando a chave estiver desabilitada, as consultas resultarão em um erro. Se a chave for habilitada novamente, as consultas terão sucesso novamente.
Usando o PowerShell do Azure
Com o URI de chave do Azure Key Vault, você pode configurar o CMK usando o PowerShell executando o seguinte comando do PowerShell.
New-AzHealthcareApisService
-Name "myService"
-Kind "fhir-R4"
-ResourceGroupName "myResourceGroup"
-Location "westus2"
-CosmosKeyVaultKeyUri "https://<my-vault>.vault.azure.net/keys/<my-key>"
Usando a CLI do Azure
Assim como acontece com o método do PowerShell, você pode configurar o CMK passando o URI da chave do Azure Key Vault sob o parâmetro key-vault-key-uri
e executando o comando da CLI a seguir.
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>"
Usar o modelo do Azure Resource Manager
Com o URI de chave do Azure Key Vault, você pode configurar a CMK transmitindo-a para a propriedade keyVaultKeyUri no objeto 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
}
}
}
]
}
E você pode implantar o modelo com o script do PowerShell a seguir.
$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
Perguntas frequentes
O “cosmosdb_key_vault_key_versionless_id” é usado na API FHIR projetada para se conectar ao Cosmos DB gerenciado pelo serviço FHIR?
Sim, quando você estiver habilitando as chaves gerenciadas pelo cliente nas APIs FHIR, a seleção de “cosmosdb_key_vault_key_versionless_id” se conectará ao Cosmos DB gerenciado pelo serviço FHIR.
Próximas etapas
Neste artigo, você aprendeu a configurar chaves gerenciadas pelo cliente inativas usando o portal do Azure, o PowerShell, a CLI e o modelo do Resource Manager. Consulte a seção de perguntas frequentes do Azure Cosmos DB para obter mais informações.
Observação
FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.