共用方式為


管理 Azure App Service 的部署認證

您可以使用本機 Git 部署FTP/S 部署,將本機應用程式部署至 Azure App Service。 本文說明如何建立和管理本機 Git 或 FTP/S 部署的部署認證。

部署認證與您的 Azure 訂用帳戶認證不同。 App Service 支援兩種類型的認證來保護本機應用程式部署: 用戶範圍應用程式範圍 認證。

  • 用戶範圍 或用戶層級認證會為用戶的整個 Azure 帳戶提供一組部署認證。 透過角色型訪問控制 (RBAC) 或共同管理者許可權授與應用程式存取權的使用者,只要擁有這些許可權,就可以使用其用戶層級認證。

    您可以使用使用者範圍認證,透過 Azure 帳戶有權限存取的任何訂用帳戶中的本機 Git 或 FTP/S,將任何應用程式部署到 App Service。 您不會與任何其他 Azure 使用者共用這些認證。 您可以隨時重設使用者範圍認證。

  • 應用程式範圍 或應用層級認證是每個應用程式一組認證,只能用來部署該應用程式。 這些認證會在建立時針對每個應用程式自動產生,且無法手動設定,但可以隨時重設密碼。

    用戶必須至少有應用程式 參與者層級許可權 ,包括內建 的網站參與者 角色,才能透過 RBAC 授與應用層級認證的存取權。 讀者 角色無法發佈且無法存取這些認證。

先決條件

若要設定、重設、存取或使用部署認證,您必須具有App Service 應用程式的 參與者層級許可權。

基本身份驗證需求

若要透過本機 Git 或 FTP/S 發佈 App Service 應用程式,您必須啟用基本身份驗證。 SCM 基本身份驗證發佈憑證FTP 基本身份驗證發佈憑證都必須在 Azure 入口網站的應用程式組態頁面上設定為開啟。

基本身份驗證比其他驗證方法不安全,而且預設會針對新的應用程式停用。 如果停用基本身份驗證,您無法在應用程式的 部署中心 檢視或設定部署認證,或使用這些認證來發佈。 如需詳細資訊,請參閱 在 Azure App Service 部署中停用基本身份驗證

設定使用者範圍認證

針對 FTP/S 部署,您需要使用者名稱和密碼。 本機 Git 部署只需要使用者名稱。 使用者名稱必須是 Azure 中唯一的。

針對本機 Git 部署,用戶名稱不能包含 @ 字元。

針對 FTP/S 部署:

  • 使用者名稱必須遵循 格式 <app-name>\<user-name>。 由於使用者範圍認證會連結至使用者,而不是連結至應用程式,因此此格式會將登入動作導向至應用程式的正確 FTP/S 端點。

  • 密碼必須至少有八個字元,且包含大寫字母、小寫字母、數字和符號。 Azure 入口網站不會顯示使用者範圍密碼,而 JSON 輸出會顯示為 null。 如果您遺失或忘記密碼,您可以 重設認證 以取得新的認證。

您可以使用 Azure CLI 或 Azure 入口網站來設定使用者範圍認證。

若要使用 Azure CLI 建立使用者範圍認證,請執行 az webapp deployment user set 命令,並將 <username> 取代 <password> 為您選取的值。

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

設定使用者範圍認證之後,您可以在 Azure 入口網站的應用程式 [概 ] 頁面上看到您的部署用戶名稱。 如果已設定本機 Git 部署,則標籤為 Git/部署用戶名稱。 否則,標籤為 FTP/部署使用者名稱

顯示應用程式概觀頁面上 Git 部署使用者名稱的螢幕擷取畫面。

取得應用程式範圍認證

應用程式範圍認證會在應用程式建立時自動建立。 FTP/S 應用程式範圍用戶名稱一律遵循 格式 app-name\$app-name。 本機 Git 應用程式範圍使用者名稱會使用 $app-name 格式。

附註

當您在使用貨幣符號進行變數內插補點的殼層中使用 git remote add 時,例如 Bash,您必須使用 \$ 來逸出使用者名稱或密碼中的任何貨幣符號,以避免驗證錯誤。

您可以使用 Azure CLI、Azure PowerShell 或 Azure 入口網站來取得應用程式範圍認證。

在 Azure CLI 中,使用 az webapp deployment list-publishing-profiles 命令取得應用程式範圍認證。 例如:

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

針對 本地 Git 部署,您也可以使用指令az webapp deployment list-publishing-credentials。 下列範例會傳回 Git 遠端 URI,此 URI 具有已內嵌應用程式的應用程式範圍認證。

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

傳回的 Git 遠端 URI 結尾沒有 /<app-name>.git 。 如果您使用 URI 來新增遠端,請將 /<app-name>.git 附加至 URI 以避免發生具有 git-http-push 的錯誤 22

重設認證

您可以使用 Azure CLI、Azure PowerShell 或 Azure 入口網站來重設您的應用程式範圍部署認證,並取得新的密碼。 應用程式範圍使用者名稱會保留其自動產生的值。

在 Azure CLI 和 Azure 入口網站中,您也可以藉由建立新的認證來重設使用者範圍認證。 此動作會影響您的帳戶中所有使用使用者範圍認證的應用程式。

當您重設部署認證時,任何透過發佈配置檔的外部整合和自動化都會停止運作,而且必須使用新的值重新設定。

在 Azure CLI 中,使用 az resource invoke-action 命令搭配 newpassword 動作來重設應用程式範圍密碼。

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

重新執行 az webapp deployment user set 命令以建立新的使用者名稱和密碼值,以重設使用者範圍認證。

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