SAP HANA 用户管理和角色管理

2018-12-08 09:54 更新

技术数据库用户仅用于管理目的,例如在数据库中创建新对象,为其他用户在包、应用程序等上分配权限。

SAP HANA用户管理活动

根据业务需求和HANA系统的配置,可以使用用户管理工具(如HANA studio)执行不同的用户活动。

最常见的活动包括:

  • 创建用户
  • 授予用户角色
  • 定义和创建角色
  • 删除用户
  • 重置用户密码
  • 多次尝试登录失败后重新激活用户
  • 在需要时停用用户

如何在HANA Studio中创建用户?

只有具有系统权限ROLE ADMIN的数据库用户才能在HANA studio中创建用户和角色。要在HANA studio中创建用户和角色,请去到HANA管理员控制台。你将在系统视图中看到安全选项卡:

Create Users

当你展开安全选项卡时,它将提供用户和角色的选项。要创建新用户,请右键单击用户并转到“New User”。新窗口将打开,你可以在其中定义用户和用户参数。

输入用户名(指令)并在认证字段中输入密码。应用密码,同时为新用户保存密码。你也可以选择创建受限用户

指定的角色名称不能与现有用户或角色的名称相同。密码规则包括最小密码长度和定义哪些字符类型(下限,上限,数字,特殊字符),必须是密码的一部分。

New User

不同的授权方法可以配置为SAML,X509证书,SAP登录凭证等。数据库中的用户可以通过不同的机制进行身份验证:

内部认证机制使用密码。

外部机制,如Kerberos,SAML,SAP登录凭证,SAP断言凭证或X.509。

用户可以一次由多个机制来验证。但是,Kerberos验证一次只能有一个密码和一个主体名称有效。必须指定一个认证机制,以允许用户连接并使用数据库实例。

它还提供了定义用户的有效性的选项,可以通过选择日期来提及有效性间隔。有效性规范是可选的用户参数。

默认情况下,随SAP HANA数据库一起提供的一些用户是:SYS,SYSTEM,_SYS_REPO,_SYS_STATISTICS

完成后,下一步是为用户配置文件定义权限。有不同类型的权限可以添加到用户配置文件。

授予用户角色

这用于向用户配置文件添加内置的SAP.HANA角色或添加在“Roles”选项卡下创建的自定义角色。自定义角色允许你根据访问要求定义角色,并且可以将这些角色直接添加到用户配置文件中。这消除了每次为不同的访问类型记住和添加对象到用户配置文件的需要。

Granted Roles to Users

PUBLIC - 这是通用角色,默认情况下分配给所有数据库用户。此角色包含对系统视图的只读访问权限和对某些程序的执行权限。这些角色不能被撤销

Public

MODELING - 它包含在SAP HANA studio中使用信息建模器所需的所有权限。

系统权限

有不同类型的系统权限可以添加到用户配置文件。要向用户配置文件添加系统权限,请点击“+”符号。

系统权限用于备份/恢复,用户管理,实例启动和停止等。

内容管理

它包含了与MODELING角色类似的权限,但除此之外,该角色允许将这些权限授予其他用户。它还包含使用导入对象的存储库权限。

Content Admin

数据管理

这是将数据从对象添加到用户配置文件所需的一种权限。

Data Admin

以下给出的是常见支持的系统权限:

附加调试器

它授权由不同用户调用的程序调用的调试。此外,需要相应程序的DEBUG权限。

审计管理

控制以下与审计相关的命令的执行:CREATE AUDIT POLICY,DROP AUDIT POLICY和ALTER AUDIT POLICY以及审计配置的更改。还允许访问AUDIT_LOG系统视图。

审计操作员

它授权执行以下命令:ALTER SYSTEM CLEAR AUDIT LOG。还允许访问AUDIT_LOG系统视图

备份管理

它授权BACKUP和RECOVERY命令来定义和启动备份和恢复过程。

备份操作员

它授权BACKUP命令启动备份过程。

目录读取

它授权用户对所有系统视图进行未过滤的只读访问。通常,根据访问用户的权限过滤这些视图的内容。

创建模式

它授权使用CREATE SCHEMA命令创建数据库模式。默认情况下,每个用户拥有一个模式,而有此权限的用户允许创建其他模式。

创建结构权限

它授权创建结构权限(分析权限)。只有分析权限的所有者可以进一步向其他用户或角色授予或撤销该权限。

证书管理

它授权证书命令: CREATE/ALTER/DROP CREDENTIAL。

数据管理

它授权读取系统视图中的所有数据。它还支持在SAP HANA数据库中执行任何数据定义语言(DDL)命令。

具有此权限的用户无法选择或更改其没有访问权限的数据存储表,但可以删除表或修改表定义。

数据库管理

它授权与多数据库中的数据库相关的所有命令,例如CREATE,DROP,ALTER,RENAME,BACKUP,RECOVERY。

导出

它通过EXPORT TABLE命令授权数据库中的导出活动。

请注意,除此权限外,用户还需要所导出的源表的SELECT权限。

导入

它使用IMPORT命令授权数据库中的导入活动。

请注意,除此权限外,用户还需要所导入的目标表的INSERT权限。

配置文件管理

它授权更改系统设置。

许可证管理

它授权SET SYSTEM LICENSE命令安装新的许可证。

日志管理

它授权ALTER SYSTEM LOGGING [ON|OFF]命令启用或禁用日志刷新机制。

监控管理

它授权EVENT的ALTER SYSTEM命令。

优化器管理

它授权关于影响查询优化器行为的SQL PLAN CACHE和ALTER SYSTEM UPDATE STATISTICS命令的ALTER SYSTEM命令。

资源管理

此权限授权有关系统资源的命令。例如,ALTER SYSTEM RECLAIM DATAVOLUME和ALTER SYSTEM RESET MONITORING VIEW。它还授权管理控制台中可用的许多命令。

角色管理

此权限授权使用CREATE ROLE和DROP ROLE命令创建和删除角色。它还授权使用GRANT和REVOKE命令授予和撤销角色。

激活的角色,意味着创建者是预定义用户_SYS_REPO的角色,既不能被授予其他角色或用户,也不能直接删除。即使具有ROLE ADMIN权限的用户也不能这样做。请检查有关激活对象的文档。

保存点管理

它使用ALTER SYSTEM SAVEPOINT命令授权执行保存点进程。

SAP HANA数据库的组件可以创建新的系统权限。这些权限使用组件名称作为系统权限的第一个标识符,而使用组件权限名称作为第二个标识符。

对象/SQL权限

对象权限也称为SQL权限。这些权限用于允许访问诸如表,视图或模式的选择,插入,更新和删除

Object SQL Privileges

下面给出了对象权限的可能类型:

  • 仅在运行时存在的数据库对象的对象权限

  • 存储库中创建的已激活对象(如计算视图)的对象权限

  • 包含存储库中创建的已激活对象的模式的对象权限

  • 对象/SQL权限是数据库对象的所有DDL和DML权限的集合。

以下是常见支持的对象权限:

HANA数据库中有多个数据库对象,因此并非所有的权限都适用于各种数据库对象。

Multiple Data Objects

对象权限及其在数据库对象上的适用性:

Object Privileges and their Applicability

分析权限

有时,要求同一视图中的数据不应该被其他对这些数据没有任何相关要求的用户访问。

分析权限用于在对象级别限制HANA信息视图的访问。我们可以在分析权限中应用行和列级别的安全性。

分析权限用于:

  • 为特定的值范围分配行和列级别的安全性。
  • 为建模视图分配行和列级别的安全性。

Analytic Privileges

包权限

在SAP HANA存储库中,你可以为特定用户或角色设置包权限。包权限用于允许访问数据模型 - 分析或计算视图或存储库对象。所有分配给存储库包的权限也被分配给所有的子包。你还可以提及是否可以将分配的用户权限传递给其他用户。

将包权限添加到用户配置文件的步骤:

  • 在HANA studio的“User creation”下点击“Package privilege”选项卡→“Choose”+添加一个或多个包。使用Ctrl键选择多个包。

  • 在“Select Repository Package”对话框中,使用全部或部分包名称来查找要授权访问的存储库包。

  • 选择要授权访问的一个或多个存储库包,所选包将显示在“Package Privileges”选项卡中。

Package Privileges

下面给出的是授予权限,这些权限在存储库包中用于授权用户修改对象:

  • REPO.READ - 读取所选包和设计时对象(包括本机和导入)

  • REPO.EDIT_NATIVE_OBJECTS - 授权修改包中的对象。

  • Grantable to Others - 如果你选择“是”,则允许已分配的用户权限传递给其他用户。

应用程序权限

用户配置文件中的应用程序权限用于定义访问HANA XS应用程序的授权。这可以分配给单个用户或用户组。应用程序权限还可用于为同一应用程序提供不同级别的访问权限,如为数据库管理员提供高级功能和对普通用户提供只读访问权限。

Application Privileges

要在用户配置文件中定义应用程序特定权限或添加用户组,应使用以下权限:

  • 应用程序权限文件(.xsprivileges)
  • 应用程序访问文件(.xsaccess)
  • 角色定义文件(<RoleName>.hdbrole)

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号