設定 Azure App Service 的部署認證

若要從本機電腦保護應用程式部署,Azure App Service 支援本機 Git 部署FTP/S 部署的兩種類型認證。 這些認證與您的 Azure 訂用帳戶認證不同。

  • 使用者層級認證︰一組用於整個 Azure 帳戶的認證。 它可以用來將任何應用程式部署至 Azure 帳戶有權存取的任何訂用帳戶的 App Service 中。 其為呈現在入口網站 GUI 中的預設集合 (例如應用程式資源頁面的 [概觀] 和 [屬性])。 透過角色型存取控制 (RBAC) 或共同管理員權限來為使用者授與應用程式存取權時,該使用者可以使用他們自己的使用者層級認證,直到存取權遭到撤銷為止。 請勿與其他 Azure 使用者共用這些認證。

  • 應用程式層級認證︰一組用於單個 應用程式的認證。 它只可以用來部署該應用程式。 每個應用程式的認證都會在建立應用程式時自動產生。 您無法手動設定它們,但可隨時重設。 若是要透過 (RBAC) 授與應用程式層級認證存取權的使用者,該使用者就必須是應用程式上的參與者或更高權限 (包括網站參與者內建角色)。 讀者不允許發佈且無法存取那些認證。

注意

停用基本驗證時,您無法在部署中心檢視或設定部署認證。

設定使用者範圍認證

執行 az webapp 部署使用者集合命令。 以部署使用者的使用者名稱和和密碼來取代 <username> 和 <password>。

  • 使用者名稱在 Azure 服務及本機 Git 推送中都必須是唯一的,且不能包含 ‘@’ 符號。
  • 密碼長度必須至少為 8 個字元,包含下列三個元素其中兩個:字母、數字及符號。
az webapp deployment user set --user-name <username> --password <password>

JSON 輸出會將密碼顯示為 null

搭配 FTP/FTPS 使用使用者範圍認證

使用使用者範圍認證向 FTP/FTPS 端點進行驗證時,需要下列格式的使用者名稱:<app-name>\<user-name>

由於使用者範圍認證會連結至使用者,而不是特定資源,因此使用者名稱必須採用此格式,才能將登入動作導向至正確的應用程式端點。

取得應用程式範圍認證

使用 az webapp 部署 list-publishing-profiles 命令,取得應用程式範圍認證。 例如:

az webapp deployment list-publishing-profiles --resource-group <group-name> --name <app-name>

針對 本機 Git 部署,您也可以使用 az webapp 部署 list-publishing-credentials 命令,來取得您的應用程式的 Git 遠端 URI,並已內嵌應用程式範圍認證。 例如:

az webapp deployment list-publishing-credentials --resource-group <group-name> --name <app-name> --query scmUri

請注意,傳回的 Git 遠端 URI 結尾不包含 /<app-name>.git。 新增遠端 URI 時,請務必附加 /<app-name>.git 以避免在使用 git-http-push 時發生錯誤 22。 此外,透過使用貨幣符號進行變數插補的殼層使用 git remote add ... 時,請將使用者名稱或密碼中的任何貨幣符號 (\$) 逸出。 無法逸出此字元可能會導致驗證錯誤。

重設應用程式範圍認證

使用 az 資源 invoke-action 命令,重設應用程式範圍認證:

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

停用基本驗證

請參閱在 App Service 部署中停用基本驗證

下一步

了解如何使用這些認證從本機 Git或使用FTP/S 部署應用程式。