我正在开发许多表格模型,目前每个模型中分配给角色的用户数量有限。目前,除一、二例外,大部分用户都是所有报告中的“全读”用户。我正在为这些角色中的许多角色实施行级安全性,我现在已经到了这样的地步,在这些模型部署到现场之前,我认为我应该开发一个安全模型,以便能够轻松地在这些角色中添加/删除成员。
我的问题是,如何部署一个允许动态添加和删除用户的模型,而不必每次都部署解决方案。
在我看来,我的选择如下:
- 手动执行此操作...不是动态的!
- 在 AD 中创建用户组并将用户组添加到角色中。这对于“完全阅读”用户(例如主管)或“经理”角色(例如销售报告的销售经理)来说是可以的,但不适用于将使用行级安全性的用户(例如销售员)。
- 创建一个“全局安全”表以添加到模型中,其中包含用于“完全读取”访问权限(例如,Directors 和 Managers)的读取访问权限的“变量”。我还将有另一个安全表,用于保存其他用户的行级安全数据(例如,销售人员过滤器)。然后,模型中的每个角色将实质上使用基于这些安全表的行级安全性。
- 使用 TMSL 处理 SSAS 实例中的每个部署,并“createOrReplace”每个存在/需要添加此用户的角色部署......不幸的是我不知道任何 TMSL,所以我不知道这有多难学?
我想保持一个干净的环境,所以当有人在未来查看模型时,他们看不到多年前离开的用户。最终,当有人离开时,他们的 AD 帐户将被停用,因此这不是一个问题,更多的是强迫症。但是,需要添加新成员。
我倾向于选项 3,但以上选项是我唯一的选择吗?有人部署了不同的模型吗?我错过了一些明显的东西吗!?!?!?我希望不是。
在此先感谢您提供任何帮助/提示/建议。
编辑:我也刚刚想到使用 PowerShell 添加/删除用户。根据大卫所说,我可以让我的一个人来维护它。
通常只有角色定义是项目的一部分。角色成员因环境(开发、测试、生产)而异,通常不由模型开发人员管理,因此单独维护。然后只有行级安全性是从模型中的表驱动的。