我是 SQL Azure 的新手,需要计划移动我们的一些 SQL Server 数据库。
我们有一个 SQL Server Azure 池,最多可以容纳 50 个数据库。
我需要将某些用户限制在池内的特定数据库中。
例如,User1 只能访问数据库 Northwind - 因此当他使用 SSMS 连接到 Azure 池时,这是他唯一可以看到的数据库(他看不到其他 49 个)
设置这是否可能 - 或者如果您有权访问实例(整个池) - 那么您将有权访问该池内的所有数据库?
这是否意味着我们需要基于安全性将每个数据库移动到它自己的实例?它还意味着无论在应用程序 web.config 中使用什么 SQL 用户名/密码,配置中的该用户都将有权访问 SQL 实例(服务器名)中的所有数据库
我正在查看 Pluralsight 上的 SQL Azure 培训,发现有基于 IP 的数据库级防火墙——在这种情况下,我们有多个开发人员——每个开发人员都具有相同的 IP——但特定的开发人员必须只能访问特定的数据库。因此,实例上每个数据库的一个 IP 规则将不起作用,因为未评估用户名。
您可以限制每个数据库的用户。我将在这里使用 sql 身份验证进行说明,如果您设置了 AD,您也可以这样做。
我有 3 个数据库,'taiobmdjamshed' 是服务器管理员,可以访问所有数据库。
我创建了具有 db_owner 权限的 security1 登录到 security1 数据库和 master 数据库中的用户。
在 master 数据库中创建一个用户。
在 security1 数据库中创建一个用户,并使其成为 db_owner 角色的成员。
如果使用 security1 登录连接到服务器并尝试访问 security2 数据库,则会发生这种情况,因为 security1 登录在 security2 数据库中没有相应的用户或权限。
此链接更详细地解释了。