Compartilhar via


Gerenciar credenciais de implantação para o Serviço de Aplicativo do Azure

Você pode implantar aplicativos locais no Serviço de Aplicativo do Azure usando a implantação local do Git ou a implantação de FTP/S. Este artigo explica como criar e gerenciar credenciais de implantação para implantação local de Git ou FTP/S.

As credenciais de implantação são diferentes das credenciais de assinatura do Azure. O Serviço de Aplicativo dá suporte a dois tipos de credenciais para implantação segura de aplicativo local: escopo do usuário e credenciais de escopo do aplicativo .

  • As credenciais de escopo de usuário ou de nível de usuário fornecem um conjunto de credenciais de implantação para toda a conta do Azure de um usuário. Um usuário que recebe acesso ao aplicativo por meio de rbac (controle de acesso baseado em função) ou permissões de coadministrador pode usar suas credenciais no nível do usuário, desde que tenha essas permissões.

    Você pode usar suas credenciais de escopo de usuário para implantar qualquer aplicativo no Serviço de Aplicativo por meio do Git local ou FTP/S em qualquer assinatura que sua conta do Azure tenha permissão para acessar. Você não compartilha essas credenciais com outros usuários do Azure. Você pode redefinir suas credenciais de escopo de usuário a qualquer momento.

  • Credenciais de escopo de aplicativo são um conjunto de credenciais por aplicativo que podem ser usadas apenas para implantar esse aplicativo. Essas credenciais são geradas automaticamente para cada aplicativo na criação e não podem ser configuradas manualmente, mas a senha pode ser redefinida a qualquer momento.

    Um usuário deve ter pelo menos permissões de nível de colaborador em um aplicativo, incluindo a função de Colaborador de Site interno, para ter acesso às credenciais no nível do aplicativo por meio do RBAC. A função de leitor não pode publicar e não pode acessar essas credenciais.

Pré-requisitos

Para definir, redefinir, acessar ou usar credenciais de implantação, você deve ter permissões no nível de Colaborador no App Service.

Requisito básico de autenticação

Para publicar aplicativos do Serviço de Aplicativo por meio do Git ou FTP/S local, você deve habilitar a autenticação básica. As credenciais básicas de publicação de autenticação do SCM e as credenciais básicas de publicação de autenticação ftp devem ser definidas como Ativadas na página Configuração do aplicativo no portal do Azure.

A autenticação básica é menos segura do que outros métodos de autenticação e é desabilitada por padrão para novos aplicativos. Se a autenticação básica estiver desabilitada, você não poderá exibir ou definir credenciais de implantação no Centro de Implantação do aplicativo ou usar essas credenciais para publicação. Para obter mais informações, consulte Desabilitar a autenticação básica em implantações do Serviço de Aplicativo do Azure.

Definir credenciais de escopo do usuário

Para implantação de FTP/S, você precisa de um nome de usuário e uma senha. A implantação local do Git requer apenas um nome de usuário. O nome do usuário deve ser exclusivo no Azure.

Para implantação local do Git, o nome de usuário não pode conter o @ caractere.

Para implantação de FTP/S:

  • O nome de usuário deve seguir o formato <app-name>\<user-name>. Como as credenciais de escopo do usuário são vinculadas ao usuário e não ao aplicativo, esse formato direciona a ação de login para o endpoint FTP/S correto do aplicativo.

  • A senha deve ter pelo menos oito caracteres e conter letras maiúsculas, letras minúsculas, números e símbolos. O portal do Azure não mostra a senha de escopo do usuário e a saída JSON a mostra como null. Se você perder ou esquecer sua senha, poderá redefinir suas credenciais para obter uma nova.

Você pode configurar credenciais de escopo de usuário usando a CLI do Azure ou o portal do Azure.

Para criar credenciais de escopo de usuário usando a CLI do Azure, execute o az webapp deployment user set comando, substituindo <username> e <password> com os valores selecionados.

az webapp deployment user set --user-name <username> --password <password>

Depois de definir as credenciais de escopo do usuário, você poderá ver o nome de usuário de implantação na página visão geral do aplicativo no portal do Azure. Se a implantação local do Git estiver configurada, o rótulo será nome de usuário git/implantação. Caso contrário, o rótulo é nome de usuário FTP/Desenvolvimento.

Captura de tela que mostra o nome de usuário de implantação do Git na página Visão geral de um aplicativo.

Obter credenciais de escopo do aplicativo

As credenciais de escopo do aplicativo são criadas automaticamente na criação do aplicativo. O nome de usuário do escopo do aplicativo FTP/S sempre segue o formato app-name\$app-name. O nome de usuário local do escopo do aplicativo Git usa o formato $app-name.

Observação

Quando você usa git remote add em shells que utilizam o sinal de dólar para interpolação de variáveis, como o Bash, você deve usar \$ para escapar de qualquer sinal de dólar no nome de usuário ou senha para evitar erros de autenticação.

Você pode obter suas credenciais de escopo de aplicativo usando a CLI do Azure, o Azure PowerShell ou o portal do Azure.

Na CLI do Azure, obtenha as credenciais de escopo do aplicativo usando o az webapp deployment list-publishing-profiles comando. Por exemplo:

az webapp deployment list-publishing-profiles --resource-group myResourceGroup --name myApp

Para implantação local do Git, você também pode usar o az webapp deployment list-publishing-credentials comando. O exemplo a seguir retorna um URI remoto do Git que tem as credenciais de escopo do aplicativo para o aplicativo já inseridas.

az webapp deployment list-publishing-credentials --resource-group myResourceGroup --name myApp --query scmUri

O URI remoto do Git retornado não tem /<app-name>.git no final. Se você usar o URI para adicionar um repositório remoto, acrescente /<app-name>.git ao URI para evitar um erro 22 com git-http-push.

Redefinir credenciais

Você pode usar a CLI do Azure, o Azure PowerShell ou o portal do Azure para redefinir suas credenciais de implantação no escopo do aplicativo e obter uma nova senha. Os nomes de usuário no escopo do aplicativo mantêm seus valores gerados automaticamente.

Na CLI do Azure e no portal do Azure, você também pode redefinir suas credenciais de escopo de usuário criando novas. Essa ação afeta todos os aplicativos em sua conta que usam as credenciais de escopo do usuário.

Quando você redefine suas credenciais de implantação, todas as integrações externas e automação por meio do perfil de publicação param de funcionar e devem ser reconfiguradas com os novos valores.

Usando o comando az resource invoke-action com a ação newpassword, redefina a senha do escopo do aplicativo na CLI do Azure.

az resource invoke-action --action newpassword --resource-group <group-name> --name <app-name> --resource-type Microsoft.Web/sites

Redefina as credenciais de escopo do usuário executando novamente o az webapp deployment user set comando para criar novos valores de nome de usuário e senha.

az webapp deployment user set --user-name <new-username> --password <new-password>