分析权限 SAP HANA:如何創造?
什么是分析权限? SAP 花?
分析权限限制用户只能查看其被授权查看的数据,因此它是核心组成部分。 SAP HANA 安全性.
SQL权限授予的是对象级别的授权,而不是记录级别的授权。拥有视图SELECT权限的用户可以读取视图中的每一行。如果需要行级别的限制,则应使用分析权限。
分析权限提供对以下信息视图的授权。
下方创建了一个分析权限,并将其分配给用户“ABHI_TEST”,以便该用户只能查看值为 1000 的公司的数据。这两个权限需要同时使用:对象权限用于打开视图,而分析权限决定返回哪些行。
如何在系统中创建分析权限 SAP HANA
以下六个步骤依次进行 SAP HANA 工作室从创建权限到使用第二个用户进行测试。
步骤1) 转到“分析权限”。右键单击“建模”包,然后选择“新建”->“分析权限”,如下图所示。
步骤2) 此时会弹出“新建”窗口。请输入下方显示的分析权限详细信息。
- 输入分析权限名称和标签。
- 软件包名称会自动选择。
- 该选择选项会创建一个新的权限。
下一步,将显示分析权限编辑器,用于添加和编辑权限。
步骤3) 单击“确定”按钮。分析权限编辑器随即打开,首先选中参考模型。
- “常规”部分显示名称和标签。
- 点击参考模型部分中的“添加”按钮,如下图所示。
- 选择之前创建的计算视图(CA_FI_LEDGER)。
然后在同一编辑器中定义有效性和属性限制。
- 点击“添加”按钮,创建权限的有效期。
- 赋予权限有效期。
- 点击“添加”按钮,选择带有限制条件的属性。
- 选择“公司”属性。
- 点击“添加”按钮,为该属性赋值。
- 通过选择类型或运算符以及值来赋值。此处用户仅限于公司 1000 的计算视图中的数据,如下所示。
验证并激活分析权限。激活后,该权限将在建模包下的“分析权限”文件夹中创建,如下所示。
步骤4) 将分析权限分配给用户“ABHI_TEST”,该用户已拥有建模包的权限。 Double-在“安全”->“用户”下单击用户“ABHI_TEST”。
- 选择“分析权限”选项卡。
- 点击“+”按钮。
- 此时会弹出“选择分析权限”窗口。请输入之前创建的分析权限的名称。
- 选择分析权限。
- 点击如下所示的“确定”按钮。
分析权限已添加到用户,如下所示。
步骤5) 单击“部署”按钮,将更改部署到用户。系统将显示一条消息,提示用户“ABHI_TEST”已更改,如下所示。
步骤6) 检查分析权限。使用 HANAUSER 系统以“ABHI_TEST”身份登录,确认分配是否有效。
- 选择 HDB (HANAUSER) 当前系统,然后右键单击它。
- 选择“添加不同用户的系统”,然后输入“ABHI_TEST”的用户名和密码,如下所示。
- 系统 HDB (ABHI_TEST) 已添加到系统列表中。
ABHI_TEST 用户没有完全访问 HANAUSER 创建的计算视图的数据,因为 HANAUSER 创建了一个分析权限,将该视图限制为公司 1000,并将其分配给了 ABHI_TEST。
进入内容文件夹 -> 选择程序包 -> 计算视图 (CA_FI_LEDGER) -> 右键单击 -> 数据预览。数据预览屏幕如下所示。
计算视图中的数据仅限于公司代码 1000,这证实了该用户已激活分析权限。
经典 XML 和 SQL 分析权限对比
分析权限有两种类型,对于任何新的开发项目来说,选择哪种都至关重要。上面显示的编辑器创建的是经典的、基于 XML 的权限。SQL 分析权限是在 [此处应填写引入的版本信息] 中引入的。 SAP HANA 1.0 SPS 10 并表达与 SQL 筛选条件相同的限制。
| 方面 | 经典(基于 XML) | SQL 分析权限 |
|---|---|---|
| 定义 | 在建模器中以图形方式维护,并存储为 XML 设计时对象。 | 由 SQL 筛选条件定义,因此复杂的逻辑仍然清晰易读。 |
| 医美问题 | 使用简单运算符进行属性限制。 | 完整的 SQL 表达式,包括嵌套和组合条件。 |
| 状态 | 已弃用 SAP HANA 2.0 SPS 02。 | 建议所有新权限均适用。 |
| 可用性 | 不适用于 SAP HANA云。 | 支持于 SAP HANA 2.0 和 SAP HANA云。 |
此 SAP HANA建模器提供了一个迁移活动,可以将传统的基于XML的权限转换为基于SQL的权限,因此无需手动重写现有限制。 SAP 在 HANA Cloud 中,权限成为 HDI 容器内的设计时工件,并通过角色而不是用户编辑器传递给用户。
如何评估分析权限限制
了解各种条件如何组合,可以避免限制措施导致收益过高或收益为零。
- 为一个属性列出的多个值通过逻辑运算组合在一起。 OR因此,用户可能会看到公司 1000 或公司 2000。
- 对不同属性的限制与逻辑相结合。 AND所以公司和国家都必须匹配。
- 当用户拥有对同一视图的多个分析权限时,结果会相加,这反而会扩大访问权限,而不是缩小访问权限。
- 静态限制存储固定值,而动态限制在运行时从过程中读取允许的值,因此一个权限可以服务于多个用户。
仅当视图的“应用权限”属性指定了权限类型时,才会检查该视图,并且此检查是在 SELECT 对象权限之外额外运行的。激活生成的列视图位于 _SYS_BIC 模式中,可以从 EFFECTIVE_STRUCTURED_PRIVILEGES 系统视图中读取用户的有效限制。
常见分析权限错误及解决方法
信息视图上的大多数授权问题都源于以下情况之一。
- 查看时出现未授权错误。 用户拥有分析权限,但没有对生成的列视图或底层架构的 SELECT 权限。请授予这两项权限。
- 预览未返回任何行。 受限属性没有匹配的值,或者权限的有效期已结束。
- 该限制被忽略。 权限已创建但从未激活,或者视图未设置其“应用权限”属性。
- 这一改变没有效果。 该任务未部署,或者用户会话在部署之前启动,需要重新连接。
- 反正一切都看得见。 该用户拥有 _SYS_BI_CP_ALL 权限,可以无限制地访问所有信息视图,因此不应担任生产角色。
通过角色而非直接向用户授予分析权限,以便可以在一个地方查看、传递和撤销相同的限制。受保护视图的建模上下文在[此处]中有所介绍。 SAP HANA建模 和 SAP HANA 指南。









