Leggere in inglese

Condividi tramite


Gestire le credenziali di distribuzione per il servizio app di Azure

È possibile distribuire app locali nel servizio app di Azure usando la distribuzione Git locale o la distribuzione FTP/S. Questo articolo illustra come creare e gestire le credenziali di distribuzione per la distribuzione git o FTP/S locale.

Le credenziali di distribuzione sono diverse dalle credenziali della sottoscrizione di Azure. Il servizio app supporta due tipi di credenziali per la distribuzione sicura delle app locali: ambito utente e credenziali di ambito app .

  • L'ambito utente o le credenziali a livello di utente forniscono un set di credenziali di distribuzione per l'intero account Azure di un utente. Un utente a cui viene concesso l'accesso alle app tramite il controllo degli accessi in base al ruolo o le autorizzazioni del coamministratore può usare le credenziali a livello di utente purché disponga di tali autorizzazioni.

    È possibile usare le credenziali dell'ambito utente per distribuire qualsiasi app nel servizio app tramite Git locale o FTP/S in qualsiasi sottoscrizione per cui l'account Azure dispone dell'autorizzazione ad accedere. Queste credenziali non vengono condivise con altri utenti di Azure. È possibile reimpostare le credenziali dell'ambito utente in qualsiasi momento.

  • Le credenziali a livello di app o a livello di applicazione sono un set di credenziali per ogni app che può essere usato solo per distribuire l'app. Queste credenziali vengono generate automaticamente per ogni app alla creazione e non possono essere configurate manualmente, ma la password può essere reimpostata in qualsiasi momento.

    Per concedere l'accesso alle credenziali a livello di app tramite il controllo degli accessi in base al ruolo (RBAC), è necessario che un utente disponga almeno delle autorizzazioni di livello Contributor su un'app, incluso il ruolo integrato Website Contributor. Il ruolo lettore non può pubblicare e non può accedere a queste credenziali.

Prerequisiti

Per impostare, reimpostare, accedere o usare le credenziali di distribuzione, è necessario disporre delle autorizzazioni a livello di collaboratore per l'app del servizio app.

Requisito di autenticazione di base

Per pubblicare app del servizio app tramite Git locale o FTP/S, è necessario abilitare l'autenticazione di base. Le credenziali di pubblicazione dell'autenticazione di base di SCM e le credenziali di pubblicazione dell'autenticazione di base FTP devono essere entrambe impostate su nella pagina Configurazione dell'app nel portale di Azure.

L'autenticazione di base è meno sicura rispetto ad altri metodi di autenticazione ed è disabilitata per impostazione predefinita per le nuove app. Se l'autenticazione di base è disabilitata, non è possibile visualizzare o impostare le credenziali di distribuzione nel Centro distribuzione dell'app o usare queste credenziali per la pubblicazione. Per altre informazioni, vedere Disabilitare l'autenticazione di base nelle distribuzioni del servizio app di Azure.

Impostare le credenziali dell'ambito utente

Per la distribuzione FTP/S, sono necessari sia un nome utente che una password. La distribuzione Git locale richiede solo un nome utente. Il nome utente deve essere univoco in Azure.

Per la distribuzione Git locale, il nome utente non può contenere il @ carattere.

Per la distribuzione FTP/S:

  • Il nome utente deve seguire il formato <app-name>\<user-name>. Poiché le credenziali dell'ambito utente sono collegate all'utente e non all'app, questo formato indirizza l'azione di accesso all'endpoint FTP/S corretto per l'app.

  • La password deve contenere almeno otto caratteri e contenere lettere maiuscole, lettere minuscole, numeri e simboli. Il portale di Azure non mostra la password dell'ambito utente e l'output JSON lo mostra come null. Se si perde o si dimentica la password, è possibile reimpostare le credenziali per ottenere una nuova password.

È possibile configurare le credenziali dell'ambito utente usando l'interfaccia della riga di comando di Azure o il portale di Azure.

Per creare credenziali con ambito utente usando l'interfaccia della riga di comando di Azure, eseguire il az webapp deployment user set comando, sostituendo <username> e <password> con i valori selezionati.

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

Dopo aver impostato le credenziali dell'ambito utente, è possibile visualizzare il nome utente della distribuzione nella pagina di panoramica dell'app nel portale di Azure. Se la distribuzione Git locale è configurata, l'etichetta è Git/Deployment username (Nome utente git/distribuzione). In caso contrario, l'etichetta è FTP/Nome utente distribuzione.

Screenshot che mostra il nome utente della distribuzione Git nella pagina di panoramica.

Ottenere le credenziali dell'ambito dell'applicazione

Le credenziali dell'ambito dell'applicazione vengono create automaticamente al momento della creazione dell'app. Il nome utente nell'ambito dell'app FTP/S segue sempre il formato app-name\$app-name. Il nome utente locale dell'ambito dell'app Git usa il formato $app-name.

Nota

Quando si utilizza git remote add nelle shell che usano il segno di dollaro per l'interpolazione di variabili, come Bash, è necessario usare \$ per eseguire l'escape di qualsiasi segno di dollaro presente nel nome utente o nella password, per evitare errori di autenticazione.

È possibile ottenere le credenziali dell'ambito dell'app usando l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure.

Nell'interfaccia della riga di comando di Azure, ottenere le credenziali dell'ambito applicazione usando il comando az webapp deployment list-publishing-profiles. Ad esempio:

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

Per la distribuzione Git locale, è anche possibile usare il az webapp deployment list-publishing-credentials comando . L'esempio seguente restituisce un URI Git remoto che contiene già le credenziali a livello di applicazione per l'app.

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

L'URI Git remoto restituito non include /<app-name>.git alla fine. Se si usa l'URI per aggiungere un oggetto remoto, aggiungere /<app-name>.git all'URI per evitare un errore 22 con git-http-push.

Ripristina le credenziali

È possibile usare l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure per reimpostare le credenziali di distribuzione dell'ambito dell'applicazione e ottenere una nuova password. I nomi utente con ambito app mantengono i valori generati automaticamente.

Nell'interfaccia della riga di comando di Azure e nel portale di Azure è anche possibile reimpostare le credenziali dell'ambito utente creando nuove credenziali. Questa azione influisce su tutte le app nell'account che usano le credenziali dell'ambito utente.

Quando si reimpostano le credenziali di distribuzione, tutte le integrazioni esterne e l'automazione tramite il profilo di pubblicazione non funzionano e devono essere riconfigurate con i nuovi valori.

Nella CLI di Azure, reimposta la password dell'ambito dell'applicazione utilizzando il comando az resource invoke-action con l'azione newpassword.

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

Reimpostare le credenziali dell'ambito utente eseguendo nuovamente il az webapp deployment user set comando per creare nuovi valori di nome utente e password.

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

Risorse aggiuntive