Configurar chaves gerenciadas 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 o serviço 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 FHIR dos Serviços de Dados de Saúde do Azure é a versão evoluída da API do Azure para FHIR que permite aos clientes gerir serviços FHIR, DICOM e MedTech com integrações noutros 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ê mesmo escolhe e gerencia.
No Azure, isso geralmente é feito usando uma chave de criptografia no Cofre da Chave do Azure do cliente. Azure SQL, Azure Storage e Azure Cosmos DB são alguns exemplos que fornecem essa capacidade. A API do Azure para FHIR aproveita esse suporte do Azure Cosmos DB. Ao criar uma conta, tem a opção de especificar um URI de chave do Azure Key Vault. Essa chave é passada para o Azure Cosmos DB quando a conta de banco de dados é 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, consulte os seguintes links:
- Registrar o provedor de recursos do Azure Cosmos DB para 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
Através do portal do Azure
Ao criar sua conta da API do Azure para FHIR no portal do Azure, você notará uma opção de configuração de Criptografia de Dados nas Configurações do 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 posteriormente. No entanto, você pode exibir e atualizar a chave de criptografia se a opção Chave gerenciada pelo cliente estiver selecionada.
Pode escolher a sua chave a partir do KeyPicker:
Você também pode especificar sua chave do Cofre da Chave do Azure aqui selecionando a opção Chave gerenciada pelo cliente.
Você também pode inserir o URI da chave, conforme mostrado a seguir.
Importante
Certifique-se de que todas as permissões para o Azure Key Vault estão definidas adequadamente. Para obter mais informações, consulte Adicionar uma política de acesso à sua instância do Azure Key Vault. Além disso, certifique-se de que a exclusão suave esteja habilitada nas propriedades do Cofre da Chave. A não conclusão dessas etapas resultará em um erro de implantação. Para obter mais informações, consulte Verificar se a exclusão suave está habilitada em um cofre de chaves e habilitar a exclusão suave.
Nota
Usar chaves gerenciadas pelo cliente nas regiões do Brasil, Sul, Leste Asiático e Sudeste Asiático, o Azure requer uma ID de Aplicativo Empresarial gerada pela Microsoft. Você pode solicitar uma ID de Aplicativo Empresarial criando um tíquete de suporte único por meio do portal do Azure. Depois de receber o 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 pode ser modificada depois de selecionada. No entanto, você pode modificar e atualizar 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 qualquer interrupção do serviço. Você também pode remover o acesso à chave para remover o acesso aos dados. Quando a chave estiver desativada, as consultas resultarão em um erro. Se a chave for reativada, as consultas serão bem-sucedidas novamente.
Utilizar o Azure PowerShell
Com o URI da chave do Cofre da Chave do Azure, você pode configurar a 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>"
Utilizar a CLI do Azure
Assim como no método PowerShell, você pode configurar a CMK passando o URI da chave do Cofre da Chave do Azure sob o key-vault-key-uri
parâmetro e executando o seguinte comando da CLI.
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>"
Usando o modelo do Azure Resource Manager
Com o URI da chave do Azure Key Vault, você pode configurar a CMK passando-a sob 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 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
Perguntas mais frequentes
O 'cosmosdb_key_vault_key_versionless_id' usado na API FHIR foi projetado para se conectar ao Cosmos DB gerenciado pelo serviço FHIR?
Sim, quando você estiver habilitando chaves gerenciadas pelo cliente em APIs FHIR, selecionar 'cosmosdb_key_vault_key_versionless_id' se conecta ao Cosmos DB gerenciado pelo serviço FHIR.
Próximos passos
Neste artigo, você aprendeu como configurar chaves gerenciadas pelo cliente em repouso usando o portal do Azure, PowerShell, CLI e Modelo do Gerenciador de Recursos. Você pode consultar a seção Perguntas frequentes do Azure Cosmos DB para obter mais informações.
Nota
FHIR® é uma marca registada da HL7 e é utilizada com a permissão da HL7.