首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Server架构安全性

Server架构安全性
EN

Database Administration用户
提问于 2011-07-08 21:37:30
回答 1查看 321关注 0票数 2

我的公司使用多租户数据库(一个数据库,所有表都有一个customerID字段)。

我们正在建立一个数据仓库,并允许客户直接访问。我们对架构的最初想法是为每个客户创建一个模式,每个模式中都有视图,这些视图根据客户ID进行过滤。

主数据库

dbo.Table1

Schema1

模式1.表1(视图)从dbo.Table1中选择*,其中custId = '1‘

这是可行的,除非拥有schema1权限的用户也可以从dbo.Table1中进行选择。我想防止这种情况发生。

这有可能吗?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2011-07-08 21:53:30

是。只需授予您创建的用户,让他们只在视图上登录Server选择权限,而不是在表上登录。

实际上,您可以通过一个视图来完成所有这些。

创建一个基于用户名查找CustomerId的函数。然后调用该函数作为视图的一部分。

代码语言:javascript
复制
create view YourView as 
select * 
from YourTable where CustomerID = dbo.YourFunction(suser_sname())
票数 5
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/3735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档