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

为了让你从本地计算机安全地部署应用,Azure 应用服务支持两种类型的凭据,分别用于本地 Git 部署FTP/S 部署。 这些凭据与 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。 此外,通过那些使用美元符号进行变量内插的 shell(例如 bash)使用 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

禁用基本身份验证

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

后续步骤

了解如何使用这些凭据通过本地 GitFTP/S 部署应用。