Tutorial: Use referências do Key Vault numa aplicação Python

Neste tutorial, aprende como implementar referências Key Vault numa aplicação Python usando App Configuration. Baseia-se na aplicação web introduzida no Guia de Início Rápido. Antes de continuar, conclua primeiro Criar uma aplicação Python com Configuração de Aplicações .

Neste tutorial, aprenderás como:

  • Crie uma chave de Configuração do Aplicativo que faça referência a um valor armazenado no Cofre da Chave.
  • Aceda ao valor desta chave a partir de uma aplicação Python.

Pré-requisitos

Criar um cofre de chaves

  1. Entre no portal do Azure e selecione Criar um recurso.

  2. Na caixa de pesquisa, introduza Key Vault. Na lista de resultados, selecione Cofre da Chave.

  3. Na página Cofre da Chave , selecione Criar.

  4. Na página Criar um cofre de chaves , insira as seguintes informações:

    • Para Assinatura: Selecione uma assinatura.
    • Para Grupo de recursos: insira o nome de um grupo de recursos existente ou selecione Criar novo e insira um nome de grupo de recursos.
    • Para Nome do cofre de chaves: insira um nome exclusivo.
    • Para Região: Selecione um local.
  5. Para as outras opções, use os valores padrão.

  6. Selecione Verificar + criar.

  7. Depois de o sistema validar e exibir as suas entradas, selecione Criar.

Neste ponto, a sua conta do Azure é a única autorizada a aceder a este novo cofre.

Adicionar um segredo ao Key Vault

Adicione um segredo ao Key Vault para testar a recuperação. O segredo chama-se Mensagem, e o seu valor é "Olá da Key Vault."

  1. No menu de recursos do Cofre de Chaves, selecione Objetos>Segredos.

  2. Selecione Gerar/Importar.

  3. Na caixa de diálogo Criar um segredo , insira os seguintes valores:

    • Para opções de upload: insira Manual.
    • Para Nome: insira a mensagem.
    • Para Valor secreto: Digite Hello from Key Vault.
  4. Para as outras opções, use os valores padrão.

  5. Selecione Criar.

Adicionar uma referência do Cofre da Chave à Configuração do Aplicativo

  1. Inicie sessão no portal Azure. Selecione Todos os recursos e, em seguida, selecione a sua loja de Configuração de Aplicações.

  2. Selecione Configuration Explorer.

  3. Selecione + Criar>Referência do Cofre de Chaves e, em seguida, especifique os seguintes valores:

    • Chave: Introduza TestApp:Definições:KeyVaultMessage.
    • Label: Deixe este valor em branco.
    • Subscrição, Grupo de Recursos e Cofre de Chaves: Insira os valores correspondentes ao cofre de chaves que criou na secção anterior.
    • Segredo: Selecione o segredo chamado Mensagem que você criou na seção anterior.

Conceda ao seu aplicativo acesso ao Cofre da Chave

A sua aplicação serve DefaultAzureCredential para autenticar tanto na App Configuration como no Key Vault. Esta credencial funciona automaticamente com identidades geridas no Azure e com as suas credenciais de programador localmente.

  1. Conceda à sua identidade acesso ao Key Vault (Cofre de Chaves). Atribua o papel de Utilizador Key Vault Secrets à sua conta de utilizador ou identidade gerida:

    az role assignment create --role "Key Vault Secrets User" --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.KeyVault/vaults/<KeyVaultName> --assignee <AzureAdUserOrManagedIdentity>
    
  2. Conceda acesso à sua identidade à Configuração de Aplicações. Atribuir o papel de Leitor de Dados de Configuração da App :

    az role assignment create --role "App Configuration Data Reader" --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.AppConfiguration/configurationStores/<AppConfigurationStoreName> --assignee <AzureAdUserOrManagedIdentity>
    

Atualize o seu código para usar uma referência do Azure Key Vault

  1. Instale os pacotes necessários executando o seguinte comando:

    pip install azure-appconfiguration-provider azure-identity
    
  2. Crie uma variável de ambiente chamada AZURE_APPCONFIG_ENDPOINT. Defina seu valor para o ponto de extremidade da sua loja de configuração de aplicativos. Pode encontrar o endpoint no painel Overview no portal do Azure.

    setx AZURE_APPCONFIG_ENDPOINT "endpoint-of-your-app-configuration-store"
    

    Reinicie o prompt de comando para permitir que a alteração entre em vigor.

  3. Atualize o seu ficheiro de aplicação Python para carregar referências do Key Vault. Crie ou atualize um ficheiro chamado app.py:

    from azure.appconfiguration.provider import load
    from azure.identity import DefaultAzureCredential
    import os
    
    endpoint = os.environ.get("AZURE_APPCONFIG_ENDPOINT")
    credential = DefaultAzureCredential()
    
    # Connect to Azure App Configuration and resolve Key Vault references.
    config = load(
        endpoint=endpoint,
        credential=credential,
        keyvault_credential=credential,
    )
    
    # Access configuration values, including resolved Key Vault references.
    print(config["TestApp:Settings:KeyVaultMessage"])
    

    O keyvault_credential parâmetro indica ao fornecedor para usar a credencial dada ao resolver referências ao Key Vault. A mesma DefaultAzureCredential instância é usada tanto para a Configuração de Aplicações como para a autenticação do Key Vault.

    Observação

    Se as referências do teu Key Vault apontarem para múltiplos cofres de chave que requerem credenciais diferentes, podes usar o keyvault_client_configs parâmetro para fornecer credenciais por cofre. Para mais informações, consulte a referência do fornecedor Python.

  4. Execute a aplicação:

    python app.py
    

    Vês a mensagem que introduziste na Configuração da Aplicação. Também vês a mensagem que introduziste no Cofre de Chaves, resolvida através da referência ao Cofre de Chaves.

Limpeza de recursos

Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.

Importante

A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.

  1. Entre no portal do Azure e selecione Grupos de recursos.
  2. Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
  3. Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
  4. Selecione Eliminar grupo de recursos.
  5. É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.

Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.

Passos seguintes

Neste tutorial, você criou uma chave de Configuração do Aplicativo que faz referência a um valor armazenado no Cofre da Chave. Para saber mais sobre o fornecedor Python para Configuração de Aplicações Azure, consulte a documentação de referência do fornecedor Python.