Chaves de API seguras no Power Automate
Uma chave de API colada direto em uma ação HTTP fica visível para qualquer pessoa que possa abrir o fluxo ou o histórico de execuções. Veja o que não fazer, o mínimo que sempre deve ser feito e a forma recomendada de guardar segredos.
O risco, em uma frase
O Power Automate permite abrir o histórico de execuções e ver as entradas e saídas de cada ação. A própria Microsoft alerta que deixar senhas ou chaves de API escritas dentro do fluxo as expõe para qualquer pessoa com acesso ao fluxo. Um token no cabeçalho de uma ação HTTP aparece em texto puro nesse histórico.
O que nunca fazer
- Colar a chave direto no campo de uma ação (cabeçalho
Authorization, URL com?key=, corpo da requisição). - Guardar a chave em uma variável ou em uma ação Compor: o valor aparece no histórico.
- Enviar a chave por e-mail ou chat para "quem for configurar o fluxo", ou colar em ferramentas públicas (inclusive de Base64 ou JWT).
- Reaproveitar a mesma chave em vários fluxos, ambientes e pessoas.
Nível 1: entradas e saídas seguras (o mínimo)
Em qualquer ação que lide com um segredo, ative as duas opções:
- Clique em ... na ação e em Configurações.
- Ative Entradas seguras e Saídas seguras e confirme.
Com isso, o histórico passa a mostrar "Conteúdo não exibido devido à configuração de segurança" nessa ação. A documentação da Microsoft aplica as duas opções, por exemplo, na ação HTTP que usa a chave e na ação que busca o segredo.
Nível 2: variáveis de ambiente
A Microsoft recomenda usar variáveis de ambiente em vez de valores fixos dentro do fluxo. Você atualiza o valor em um lugar, sem editar o fluxo, e o fluxo deixa de carregar o segredo no próprio desenho. Variáveis de ambiente fazem parte das soluções do Power Platform.
Nível 3: Azure Key Vault (o recomendado para produção)
O Azure Key Vault é um serviço próprio para guardar segredos, chaves e certificados, com criptografia e controle de acesso por papéis. O Power Automate o usa de duas formas:
- Variável de ambiente do tipo segredo: a variável aponta para o segredo no Key Vault. O fluxo lê o valor na hora de executar, com a ação Executar uma ação não associada do Dataverse, escolhendo
RetrieveEnvironmentVariableSecretValue. Segundo a documentação, esses segredos não aparecem no seletor de conteúdo dinâmico, e só ficam disponíveis para fluxos e conectores personalizados. - Conector do Azure Key Vault: a ação Obter segredo busca o valor direto. A Microsoft recomenda, para produção, conectar com uma entidade de serviço (service principal) em vez de uma conta de usuário.
Nos dois casos, ative Saídas seguras na ação que lê o segredo e Entradas e saídas seguras na ação que o usa (por exemplo, o HTTP). Dependendo do ambiente, será preciso a ajuda do administrador do Azure para dar ao Power Platform permissão de leitura do segredo.
Se a chave vazou
- Revogue ou gire a chave agora, no serviço que a emitiu. Trocar a chave é mais importante do que descobrir quem viu.
- Atualize o valor no Key Vault (ou na variável de ambiente). Se o fluxo lê de lá, nada precisa ser editado.
- Veja o histórico de uso da chave no serviço de origem, atrás de chamadas que você não reconhece.
- Procure onde mais ela pode estar: outros fluxos, mensagens, planilhas, capturas de tela.
Boas práticas de rotina
- Uma chave por finalidade: se uma vaza, só uma integração é afetada.
- Menor permissão possível: chaves que só leem não devem escrever.
- Quem pode ver o fluxo também vê o histórico. Compartilhe com o mínimo de pessoas e revise co-proprietários periodicamente.
- Troque a chave quando alguém que tinha acesso sair da equipe.
- Nunca publique capturas de tela de fluxos sem conferir se há segredos visíveis.
Um lembrete sobre Base64: ele não protege nada. Um cabeçalho Authorization: Basic ... leva usuário e senha em Base64 só para caber no cabeçalho, e qualquer pessoa que o veja decodifica em um segundo. Use o decodificador com dados fictícios para ver isso com os próprios olhos.