为 Azure 应用服务配置部署凭据

若要从本地计算机保护应用部署, Azure 应用服务 支持本地 Git 部署FTP/FTPS 部署的两种类型的凭据。 这些凭据不同于 Azure 订阅凭据。

  • 用户级凭据:一组适用于整个 Azure 帐户的凭据。 需要部署到任何订阅(Azure 帐户有权对其进行访问)中的任何应用的应用服务时,可以使用这组凭据。 这是在门户 GUI(例如应用的资源页的“概览”和“属性”)中呈现的默认组。 当通过基于角色的访问控制 (RBAC) 或共同管理员权限授予用户应用访问权限时,该用户便可使用其用户级别的凭据,直到被撤销访问权限。 请勿与其他 Azure 用户共享这些凭据。

  • 应用级凭据:一组适用于每个应用的凭据。 若要只部署到该应用,则可使用这组凭据。 每个应用的凭据在其创建时自动生成。 这些凭据不能手动进行配置,但可随时进行重置。 如果要通过 (RBAC) 授予用户访问应用级别凭据的权限,该用户必须是应用的参与者或更高级别身份(包括网站参与者内置角色)。 读者不可进行发布,因此无法访问这些凭据。

注释

禁用 基本身份验证后,无法在 部署中心查看或配置部署凭据。

配置用户范围凭据

运行 az webapp deployment user set 命令。 将 <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 deployment list-publishing-profiles 命令获取应用程序范围凭据。 例如:

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

对于 本地 Git 部署,还可以使用 az webapp deployment 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。 此外,当在使用美元符号进行变量插值(如 bash)的 shell 中使用 git remote add ... 时,请转义用户名或密码中的任何美元符号 \$。 未能将此字符转义可能会导致身份验证错误。

重置应用程序范围凭据

使用 az resource invoke-action 以下命令重置应用程序范围凭据:

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

禁用基本身份验证

请参阅 在应用服务部署中禁用基本身份验证

了解如何使用这些凭据,从 本地 Git 或通过 FTP/FTPS 部署您的应用程序。