Gerenciar segredos em Aplicativos de Contêiner do Azure

O Azure Container Apps permite que a sua aplicação armazene em segurança valores de configurações 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 do Dapr.

  • Os segredos são confinados a uma aplicação, fora de qualquer revisão específica dessa aplicação.
  • Adicionar, remover ou alterar segredos não gera novas revisões.
  • Cada revisão da aplicação pode fazer referência a um ou mais segredos.
  • Várias revisões podem fazer referência ao mesmo ou 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 uma referência a um segredo armazenado no Cofre da Chave do Azure.

Armazenar valor secreto em aplicativos de contêiner

Quando você define segredos através do portal, ou através de diferentes opções de linha de comando.

  1. Vá para seu aplicativo de contêiner no portal do Azure.

  2. Na seção Configurações, 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 Cofre da Chave

Ao definir um segredo, você cria uma referência a um segredo armazenado no Cofre da Chave do Azure. O Container Apps recupera automaticamente o valor secreto do Key Vault e o disponibiliza como um segredo em seu aplicativo de contêiner.

Para fazer referência a um segredo do Cofre da Chave, você deve primeiro habilitar a identidade gerenciada em seu aplicativo de contêiner e conceder à identidade acesso aos segredos do Cofre da Chave.

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

Para conceder acesso aos segredos do Cofre da Chave, crie uma política de acesso no Cofre da Chave para a identidade gerenciada que você criou. Habilite a permissão secreta "Obter" nesta política.

  1. Vá para seu aplicativo de contêiner no portal do Azure.

  2. Na seção Configurações, selecione Identidade.

  3. Na guia Sistema atribuído, selecione Ativado.

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

  5. Na seção Configurações, selecione Segredos.

  6. Selecione Adicionar.

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

    • Nome: O nome do segredo.
    • Tipo: Selecione Referência do Cofre da Chave.
    • URL secreto do Cofre da Chave: o URI do seu segredo no Cofre da Chave.
    • Identidade: a identidade a ser usada para recuperar o segredo do Cofre de Chaves.
  8. Selecione Adicionar.

Nota

Se estiver a utilizar UDR com a Firewall do Azure, terá de adicionar a AzureKeyVault etiqueta de serviço e o FQDN login.microsoft.com à lista de permissões da firewall. Consulte configurar o UDR com o Firewall do Azure para decidir quais tags de serviço adicionais você precisa.

URI secreto do Cofre de Chaves e rotação secreta

O URI secreto do Cofre da Chave deve estar em um 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 a seguir mostra um aplicativo que declara uma cadeia de conexão no nível do aplicativo. 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. Vá para seu aplicativo de contêiner no portal do Azure.

  2. Abra a página Gerenciamento de revisão .

  3. Selecione Criar nova revisão.

  4. Na página Criar e implantar nova revisão, selecione um contêiner.

  5. Na seção Variáveis de ambiente, selecione Adicionar.

  6. Introduza as informações seguintes:

    • Nome: O nome da variável de ambiente.
    • Fonte: Selecione Referenciar um segredo.
    • Valor: Selecione o segredo ao qual deseja fazer referência.
  7. Selecione Guardar.

  8. Selecione Criar para criar a nova revisão.

Segredos de montagem num volume

Depois de declarar segredos no nível do aplicativo, conforme descrito na seção definindo segredos, você pode fazer referência a eles em montagens de volume ao criar uma nova revisão em seu aplicativo 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. Vá para seu aplicativo de contêiner no portal do Azure.

  2. Abra a página Gerenciamento de revisão .

  3. Selecione Criar nova revisão.

  4. Na página Criar e implantar nova revisão.

  5. Selecione um contêiner e selecione Editar.

  6. Na seção Montagens de volume, expanda a seção Segredos.

  7. Selecione Criar novo volume.

  8. Introduza as informações seguintes:

    • Designação: 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. Em Nome do volume, selecione mysecrets.

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

  12. Selecione Guardar.

  13. Selecione Criar para criar a nova revisão com a montagem do volume.

Próximos passos