若要从本地计算机保护应用部署, Azure 应用服务 支持本地 Git 部署 和 FTP/FTPS 部署的两种类型的凭据。 这些凭据不同于 Azure 订阅凭据。
用户级凭据:一组适用于整个 Azure 帐户的凭据。 需要部署到任何订阅(Azure 帐户有权对其进行访问)中的任何应用的应用服务时,可以使用这组凭据。 这是在门户 GUI(例如应用的资源页的“概览”和“属性”)中呈现的默认组。 当通过基于角色的访问控制 (RBAC) 或共同管理员权限授予用户应用访问权限时,该用户便可使用其用户级别的凭据,直到被撤销访问权限。 请勿与其他 Azure 用户共享这些凭据。
应用级凭据:一组适用于每个应用的凭据。 若要只部署到该应用,则可使用这组凭据。 每个应用的凭据在其创建时自动生成。 这些凭据不能手动进行配置,但可随时进行重置。 如果要通过 (RBAC) 授予用户访问应用级别凭据的权限,该用户必须是应用的参与者或更高级别身份(包括网站参与者内置角色)。 读者不可进行发布,因此无法访问这些凭据。
注释
禁用 基本身份验证后,无法在 部署中心查看或配置部署凭据。
- Azure CLI
- Azure PowerShell
- Azure 门户
运行 az webapp deployment user set
命令。 将 <username>
和 <password>
替换为部署用户的用户名和密码。
- 用户名在 Azure 中必须是唯一的,对于本地 Git 推送,不得包含 @ 符号。
- 密码必须至少为 8 个字符,且具有字母、数字和符号这三种元素中的两种。
az webapp deployment user set --user-name <username> --password <password>
JSON 输出会将该密码显示为 null
。
若要使用用户范围凭据向 FTP/FTPS 终结点进行身份验证,用户名必须遵循以下格式: <app-name>\<user-name>
由于用户范围凭据链接到用户而不是特定资源,因此用户名必须采用此格式才能将登录作定向到正确的应用终结点。
- Azure CLI
- Azure PowerShell
- Azure 门户
使用 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 ...
时,请转义用户名或密码中的任何美元符号 \$
。 未能将此字符转义可能会导致身份验证错误。
- Azure CLI
- Azure PowerShell
- Azure 门户
使用 az resource invoke-action
以下命令重置应用程序范围凭据:
az resource invoke-action --action newpassword --resource-group <group-name> --name <app-name> --resource-type Microsoft.Web/sites
请参阅 在应用服务部署中禁用基本身份验证。