Partilhar via


Gerenciar segredos em Azure Container Apps

O Azure Container Apps permite que a sua aplicação armazene de forma segura valores de configuração sensíveis. Depois que os segredos são definidos no nível do aplicativo, os valores protegidos ficam disponíveis para revisões em seus aplicativos de contêiner. Além disso, você pode fazer referência a valores protegidos dentro de regras de escala. Para obter informações sobre como usar segredos com o Dapr, consulte Integração Dapr.

  • Os segredos são definidos para uma aplicação, não estando associados a nenhuma revisão específica dessa aplicação.
  • Novas revisões não são geradas por meio da adição, remoção ou alteração de segredos.
  • Cada revisão da aplicação pode fazer referência a um ou mais segredos.
  • Várias revisões podem fazer referência aos mesmos segredos.

Um segredo atualizado ou excluído não afeta automaticamente as revisões existentes em seu aplicativo. Quando um segredo é atualizado ou eliminado, pode responder às alterações de uma de duas maneiras:

  1. Implementar uma revisão nova.
  2. Reiniciar uma revisão existente.

Antes de eliminar um segredo, implemente uma nova revisão que já não faça referência ao segredo antigo. Em seguida, desative todas as revisões que fazem referência ao segredo.

Definição de segredos

Os segredos são definidos como um conjunto de pares nome/valor. O valor de cada segredo é especificado diretamente ou como referência a um segredo armazenado no Azure Key Vault.

Nota

Evite especificar o valor de um segredo diretamente em um ambiente de produção. Em vez disso, use uma referência a um segredo armazenado no Azure Key Vault, conforme descrito na secção de armazenar valor secreto nas Aplicações de Container.

Armazenar valor secreto em aplicativos de contêiner

O seguinte é usado quando defines segredos através do portal, ou através de diferentes opções de linha de comandos.

  1. Vai à tua aplicação container no portal Azure.

  2. Na secção de Segurança , selecione Segredos.

  3. Selecione Adicionar.

  4. No painel de contexto Adicionar segredo, insira as seguintes informações:

    • Nome: O nome do segredo.
    • Tipo: Selecione Container Apps Secret.
    • Valor: O valor do segredo.
  5. Selecione Adicionar.

Segredo de referência do Key Vault

Quando defines um segredo, crias uma referência para um segredo armazenado no Azure Key Vault. O Container Apps recupera automaticamente o valor secreto do Key Vault e torna-o disponível como segredo na tua app container.

Para referenciar um segredo do Key Vault, deve primeiro ativar a identidade gerida na sua aplicação container e conceder à identidade acesso aos segredos do Key Vault.

Para habilitar a identidade gerenciada em seu aplicativo de contêiner, consulte Identidades gerenciadas.

Para conceder acesso aos segredos do Key Vault, conceda a função de Azure RBAC Key Vault Utilizador de Segredos à identidade gerida.

  1. Vai à tua aplicação container no portal Azure.

  2. Na secção de Segurança , selecione Identidade.

  3. Na guia Sistema atribuído, defina o Status como Ativado.

Nota

Você também pode usar uma identidade gerenciada atribuída pelo usuário, que pode ser reutilizada em vários recursos e persiste independentemente do ciclo de vida do aplicativo. Para usá-lo, selecione a guia Usuário atribuído e escolha uma identidade existente.

  1. Selecione Salvar para habilitar a identidade gerenciada atribuída ao sistema.

  2. Aparece um pop-up a confirmar que quer ativar a identidade gerida atribuída ao sistema e registar a sua aplicação de contentores com o Microsoft Entra ID. Selecione Yes (Sim).

  3. Na secção de Segurança , selecione Segredos.

  4. Selecione Adicionar.

  5. No painel de contexto Adicionar segredo, insira as seguintes informações:

    • Nome: O nome do segredo.
    • Tipo: Selecione referência de Key Vault.
    • Key Vault secret URL: O URI do teu segredo em Key Vault. Este URI tem a seguinte forma: https://<YOUR_KEY_VAULT_NAME>.vault.azure.net/secrets/<YOUR_SECRET_NAME>/<32_DIGIT_HEX_ID>
    • Identidade: Selecione Sistema atribuído.
  6. Selecione Adicionar.

Nota

Se estiveres a usar UDR com Azure Firewall, terás de adicionar a etiqueta de serviço AzureKeyVault e o FQDN login.microsoft.com à lista de permissões do teu firewall. Consulte configurar UDR com Azure Firewall para decidir quais as etiquetas de serviço adicionais de que precisa.

Key Vault URI secreto e rotação secreta

O URI secreto do Key Vault deve estar num dos seguintes formatos:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: Faça referência a uma versão específica de um segredo.
  • https://myvault.vault.azure.net/secrets/mysecret: Consulte a versão mais recente de um segredo.

Se uma versão não for especificada no URI, o aplicativo usará a versão mais recente existente no cofre de chaves. Quando as versões mais recentes ficam disponíveis, o aplicativo recupera automaticamente a versão mais recente em 30 minutos. Todas as revisões ativas que fazem referência ao segredo em uma variável de ambiente são reiniciadas automaticamente para pegar o novo valor.

Para obter controle total de qual versão de um segredo é usada, especifique a versão no URI.

Referenciando segredos em variáveis de ambiente

Depois de declarar segredos no nível do aplicativo, conforme descrito na seção definindo segredos, você pode fazer referência a eles em variáveis de ambiente ao criar uma nova revisão em seu aplicativo contêiner. Quando uma variável de ambiente faz referência a um segredo, seu valor é preenchido com o valor definido no segredo.

Exemplo

O exemplo seguinte mostra uma aplicação que declara uma cadeia de ligação ao nível da aplicação. Essa conexão é referenciada em uma variável de ambiente de contêiner e em uma regra de escala.

Depois de definir um segredo em seu aplicativo de contêiner, você pode fazer referência a ele em uma variável de ambiente ao criar uma nova revisão.

  1. Vai à tua aplicação container no portal Azure.

  2. Na seção Aplicativo, selecione Revisões e réplicas.

  3. Na página Revisões e réplicas, selecione Criar nova revisão.

  4. Na página Criar e implementar nova revisão, no separador Contentor, na secção de Imagem do contentor, selecione um contentor.

  5. Selecione Editar.

  6. No painel de contexto Editar um contêiner, selecione a guia Variáveis de ambiente.

  7. Selecione Adicionar.

  8. Introduza as informações seguintes:

    • Name: O nome da variável de ambiente.
    • Fonte: Selecione Referenciar um segredo.
    • Valor: Selecione o segredo definido anteriormente.
  9. Selecione Guardar.

  10. Na página Criar e implantar nova revisão, selecione Criar para criar a nova revisão.

Montagem de segredos num volume

Depois de declarar segredos ao nível da aplicação, conforme descrito na seção definindo segredos, pode referenciar-lhes em montagens de volume ao criar uma nova revisão na sua aplicação de contêiner. Quando você monta segredos em um volume, cada segredo é montado como um arquivo no volume. O nome do arquivo é o nome do segredo e o conteúdo do arquivo é o valor do segredo. Você pode carregar todos os segredos em uma montagem de volume ou pode carregar segredos específicos.

Exemplo

Depois de definir um segredo em seu aplicativo de contêiner, você pode fazer referência a ele em uma montagem de volume ao criar uma nova revisão.

  1. Vai à tua aplicação container no portal Azure.

  2. Na seção Aplicativo, selecione Revisões e réplicas.

  3. Na página Revisões e réplicas, selecione Criar nova revisão.

  4. Na página Criar e implementar nova revisão, no separador Contentor, na secção de Imagem do contentor, selecione um contentor.

  5. Selecione Editar.

  6. No painel de contexto Editar um contêiner, selecione o separador Montagens de volume.

  7. Selecione Criar novo volume.

  8. No painel de contexto Adicionar volume, insira as seguintes informações:

    • Tipo de volume: Selecione Secret.
    • Nome: mysecrets
    • Monte todos os segredos: ativado

    Nota

    Se quiser carregar segredos específicos, desative Montar todos os segredos e selecione os segredos que deseja carregar.

  9. Selecione Adicionar.

  10. No painel de contexto Editar um contêiner, em Nome do volume, selecione mysecrets.

  11. Em Montar caminho, digite /mnt/secrets.

  12. Selecione Guardar.

  13. Na página Criar e implantar nova revisão, selecione Criar para criar a nova revisão com a montagem do volume.

Resolução de problemas das referências do Key Vault

Quando faz referência a segredos do Azure Key Vault, pode encontrar problemas durante a recuperação ou sincronização de segredos. Aqui estão os erros e resoluções comuns:

Erro Motivo Resolução
Identidade gerida automaticamente não ativada A aplicação container não tem uma identidade gerida atribuída. Ative a identidade gerida atribuída pelo sistema ou pelo utilizador na sua aplicação de contentores. Consulte Identidades Geridas.
Identidade não encontrada A identidade gerida especificada não existe ou não está atribuída à aplicação do contentor. Verifique se a identidade foi criada e atribuída à aplicação contentor na secção Identidade .
O segredo desativado no Key Vault O segredo está desativado no recurso Key Vault. Vai ao teu Key Vault no portal do Azure e ativa o segredo.
Falha na autenticação A identidade gerida não tem as permissões necessárias para ler o segredo. Conceda à identidade gerida na sua Key Vault o papel de Utilizador de Segredos do Key Vault. Veja o Key Vault Secrets User.
Permissão do RBAC negada A identidade gerida tem permissões insuficientes para aceder ao Key Vault. Verifique a atribuição de funções RBAC no Key Vault e certifique-se de que inclui permissões de leitura para segredos.

Próximos passos