SAP HANA的用户与安全管理有ROLE,System
Privilege, Object Privilege, Analytic Privilege, Package Privilege,
Application Privilege,初看起来比SAP
IQ/ASE复杂一些,让人摸不着北。最常用的情况是,当你新创建一个SAP HANA用户,然后如何让这个新的SAP
HANA用户具有在HANA中建模、导入、导出模型对象等基本的权限呢。且看下面的脚本,供参考:
–Package
GRANT REPO.READ on
“.REPO_PACKAGE_ROOT” to $USER$;
“.REPO_PACKAGE_ROOT” to $USER$;
GRANT REPO.ACTIVATE_NATIVE_OBJECTS
on “.REPO_PACKAGE_ROOT” to $USER$;
on “.REPO_PACKAGE_ROOT” to $USER$;
GRANT REPO.MAINTAIN_NATIVE_PACKAGES
on “.REPO_PACKAGE_ROOT” to $USER$;
on “.REPO_PACKAGE_ROOT” to $USER$;
GRANT REPO.EDIT_NATIVE_OBJECTS on
“.REPO_PACKAGE_ROOT” to $USER$;
“.REPO_PACKAGE_ROOT” to $USER$;
–上面对根目录的授权允许用户在根目录下进行增删改操作。
–如果让新的用户只具有某个Package的读写权限,而看不到其他人的Package信息,你可以不使用上面的授权,—而使用下面的脚本对某个特定Package授权,换上你自己的用户名和Package名称。
–GRANT REPO.READ on “sap” to $USER$;
–GRANT REPO.READ on “system-local” to $USER$;
–GRANT REPO.READ on “$PACKAGE$” to $USER$;
–GRANT REPO.ACTIVATE_NATIVE_OBJECTS on “$PACKAGE$” to $USER$;
–GRANT REPO.MAINTAIN_NATIVE_PACKAGES on “$PACKAGE$” to $USER$;
–GRANT REPO.EDIT_NATIVE_OBJECTS on “$PACKAGE$” to $USER$;
–GRANT REPO.ACTIVATE_IMPORTED_OBJECTS on “$PACKAGE$” to $USER$;
–GRANT REPO.MAINTAIN_IMPORTED_PACKAGES on “$PACKAGE$” to $USER$;
–GRANT REPO.EDIT_IMPORTED_OBJECTS on “$PACKAGE$” to $USER$;
–Package end
–Export and Import
–不解释,使之具有表、模型对象的导入导出权限
GRANT REPO.EXPORT TO $USER$;
GRANT REPO.IMPORT TO $USER$;
GRANT IMPORT TO $USER$;
GRANT EXPORT TO $USER$;
GRANT REPO.MAINTAIN_DELIVERY_UNITS TO
$USER$;
$USER$;
–Export and Import end
–Analytic Privilege
–使之具有创建和管理Analytic Privilige的权限
–GRANT CREATE STRUCTURED PRIVILEGE TO $USER$;
–GRANT STRUCTUREDPRIVILEGE ADMIN TO $USER$;
–Analytic Privilege end
–Model
–激活的Column View在Schema _SYS_BIC,其元数据在Schema
_SYS_BI中,需要对其具有选择和执行权限
_SYS_BI中,需要对其具有选择和执行权限
GRANT EXECUTE ON SYS.REPOSITORY_REST TO
$USER$;
$USER$;
GRANT SELECT ON SCHEMA “_SYS_BI” TO $USER$;
GRANT EXECUTE ON SCHEMA “_SYS_BI” TO $USER$;
GRANT SELECT ON SCHEMA “_SYS_BIC” TO $USER$;
GRANT EXECUTE ON SCHEMA “_SYS_BIC” TO $USER$;
–对新用户赋_SYS_BI_CP_ALL权限。注意,如果用户有这个权限,那么该用户可以看到所有的数据,其他的——-Analytic
Privilege就会失效。在生产环境下,需要谨慎赋予该权限。可以根据需要自定义一些Analytic
——Privilege赋予新用户,使其只能看到该看的数据。
Privilege就会失效。在生产环境下,需要谨慎赋予该权限。可以根据需要自定义一些Analytic
——Privilege赋予新用户,使其只能看到该看的数据。
CALL GRANT_ACTIVATED_ANALYTICAL_PRIVILEGE (‘_SYS_BI_CP_ALL’,
‘$USER$’);
‘$USER$’);
–Model end
–XS IDE only for 7.0
–如果你的SAP HANA版本足够高,你可以使用SAP HANA
XS引擎提供的基于Web的管理工具,下面的Privilege就—-是控制新用户具有访问这个Web管理工具哪些权限
XS引擎提供的基于Web的管理工具,下面的Privilege就—-是控制新用户具有访问这个Web管理工具哪些权限
–CALL
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::CatalogDeveloper’,’$USER$’);
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::CatalogDeveloper’,’$USER$’);
–CALL
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::EditorDeveloper’,’$USER$’);
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::EditorDeveloper’,’$USER$’);
–CALL
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::TraceViewer’,’$USER$’);
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.ide.roles::TraceViewer’,’$USER$’);
–CALL
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.debugger::Debugger’,’$USER$’);
GRANT_ACTIVATED_ROLE(‘sap.hana.xs.debugger::Debugger’,’$USER$’);
–XS IDE end
有了上面的权限,新建的SAP HANA用户就可以登录HANA
Studio进行相应的创建数据库对象以及建模工作啦。
Studio进行相应的创建数据库对象以及建模工作啦。