SAP HANA - 用户管理和角色管理

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

SAP HANA用户管理活动

根据HANA系统的业务需求和配置,可以使用HANA工作室等用户管理工具执行不同的用户活动.

最常见的活动include :

  • 创建用户

  • 向用户授予角色

  • 定义和创建角色

  • 删除用户

  • 重置用户密码

  • 重新激活用户许多失败的登录尝试

  • 在需要时停用用户

如何在HANA Studio中创建用户?

只允许具有系统特权ROLE ADMIN的数据库用户在HANA工作室中创建用户和角色.要在HANA工作室中创建用户和角色,请转至HANA管理员控制台.您将在系统视图中看到安全选项卡 :

创建用户

展开安全选项卡时,它会提供用户和角色选项.要创建新用户,请右键单击"用户"并转到"新用户".将打开新窗口,您可以在其中定义用户和用户参数.

输入用户名(授权),在"身份验证"字段中输入密码.应用密码,同时为新用户保存密码.您还可以选择创建受限用户.

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

新用户

可以配置不同的授权方法,如SAML,X509证书,SAP Logon票证等.数据库中的用户可以通过变化进行身份验证机制 :

使用密码的内部认证机制.

外部机制,如Kerberos,SAML,SAP Logon Ticket,SAP Assertion Ticket或X. 509.

一次可以通过多种机制对用户进行身份验证.但是,Kerberos只能有一个密码和一个主要名称在任何时候都有效.必须指定一种身份验证机制,以允许用户连接并使用数据库实例.

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

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

完成此操作后,下一步是为用户配置文件定义权限.可以将不同类型的权限添加到用户配置文件中.

授予用户角色

这用于添加内置SAP. HANA角色到用户配置文件或添加在"角色"选项卡下创建的自定义角色.自定义角色允许您根据访问要求定义角色,您可以将这些角色直接添加到用户配置文件.这样就不需要每次为不同的访问类型记住和添加对象到用户配置文件.

授予角色到用户

PUBLIC : 这是通用角色,默认情况下分配给所有数据库用户.此角色包含对系统视图的只读访问权限以及某些过程的执行权限.这些角色无法撤销.

Public

建模

它包含在SAP HANA工作室中使用信息建模器所需的所有权限.

系统权限

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

系统权限用于备份/还原,用户管理,实例启动和停止等.

内容管理

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

Content Admin

数据管理

这是一种特权,是将数据从对象添加到用户配置文件所必需的.

数据管理员

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

附加调试器

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

审计管理员

控制以下与审计相关的命令的执行 : 创建审计政策,降低审计政策和更改审计政策以及审计配置的变化.还允许访问AUDIT_LOG系统视图.

审计操作员

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

备份管理

它授权BACKUP和RECOVERY命令,用于定义和启动备份和恢复过程.

备份操作员

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

目录读取

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

创建模式

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

创建结构化特权

它授权创建结构特权(分析特权).只有分析权限的所有者才能进一步向其他用户或角色授予或撤消该权限.

凭证管理员

它授权凭证命令; CREATE/ALTER/DROP CREDENTIAL.

Data Admin

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

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

数据库管理

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

导出

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

请注意,除了此权限之外,用户还需要对源表的SELECT权限进行导出.

导入

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

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

Inifile Admin

它授权更改系统设置.

License Admin

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

Log Admin

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

Monitor Admin

它为事件授权ALTER SYSTEM命令。

Optimizer Admin

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

Resource Admin

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

Role Admin

该特权授权使用CREATE ROLE和DROP ROLE命令创建和删除角色。 它还使用GRANT和REVOKE命令授权角色的授予和吊销。

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

Savepoint Admin

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

SAP HANA数据库的组件可以创建新的系统特权。 这些特权使用component-name作为系统特权的第一标识符,并使用component-privilege-name作为第二标识符。

Object/SQL Privileges

对象特权也称为SQL特权。 这些特权用于允许访问对象,例如选择,插入,更新和删除表,视图或架构。

Object SQL Privileges

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

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

  • 在存储库中创建的已激活对象的对象特权,例如计算视图

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

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

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

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

Multiple Data Objects

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

Object Privileges and their Applicability

Analytic Privileges

有时,要求对其他视图没有相同要求的其他用户不能访问同一视图中的数据。

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

分析特权用于:

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

  • 为模型视图分配行级和列级安全性。

Analytic Privileges

Package Privileges

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


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

  • 单击" HANA studio"中"用户创建"下的"程序包特权"选项卡。选择添加一个或多个程序包。 使用Ctrl键选择多个软件包。

  • 在"选择存储库软件包"对话框中,使用全部或部分软件包名称来查找您要授权访问的存储库软件包。

  • 选择一个或多个您要授权访问的存储库软件包,所选软件包将显示在"软件包权限"选项卡中。

Package Privileges

下面给出了授予特权,这些特权用于存储库软件包上以授权用户修改对象:

  • REPO.READ:对所选包和设计时对象(本机和导入)的读取访问权限

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

  • 授予其他人:如果您选择"是",则允许分配的用户授权传递给其他用户。

Application Privileges

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

Application Privileges

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

  • 应用程序特权文件(.xsprivileges)

  • 应用程序访问文件(.xsaccess)

  • 角色定义文件(<RoleName> .hdbrole)