Azure 部署槽 - 向槽添加权限

Azure Deployment Slots - adding permissions to the slot

我们有一个 Azure 数据库同步组,有时需要由应用程序启动 - 例如,用户做了一些需要将数据从一个数据库同步到另一个数据库的操作(最常见的是添加一个新用户)。

我们已经授予 Web 应用程序(使用托管服务身份)启动此同步的权限,方法是将计算机的身份 GUID 添加到适当的 SQL 服务器角色 - 这有效。

之后我们在登台和生产服务器上创建了部署槽 - 虽然根站点仍然有效,但当 运行 在部署槽中时,应用程序会抛出一个异常,表明它没有权限启动同步。

我找不到任何文档来获取 部署槽 的对象 ID(实际 GUID),又名 Bar - 添加到此语句:

az role assignment create --role "SQL Server Contributor" --assignee-object-id "Bar" --resource-group Foo

编辑:我没有在插槽上手动设置身份,也没有在根应用程序上设置身份 - 我只是打开 MSI 并试图发现身份。老实说,要是能和root app一样就好了

我敏锐地意识到 SQL Server Contributor 是授予 Web 服务器的巨大权限,但它似乎是我可以授予实际有权启动数据库的服务器的最小权限同步。

您必须在插槽上启用托管标识。它在 AAD 中创建一个单独的标识。

您可以在 Azure Active Directory 的企业应用程序下找到它。只需确保将筛选器设置为所有应用程序即可。