設定 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