SAP HANA 安全:完整教程

⚡ 智能摘要

SAP HANA 安全通过身份验证、授权、用户和角色管理、审计和加密来保护业务数据免受未经授权的访问,并且它将这些控制措施一致地应用于系统上运行的每个租户数据库容器。

  • 🔐 验证: Kerberos、用户名和密码、SAML、登录票证和 X.509 证书用于验证连接者的身份。
  • 🛡️ 授权: 六种权限类型决定了经过身份验证的用户可以读取或更改的内容。
  • 👥 用户类型: 技术用户、普通用户和受限用户拥有截然不同的默认访问权限。
  • 🧩 角色: 角色将权限捆绑在一起,是大规模授予访问权限的标准方法。
  • 📜 许可: 永久密钥过期后,将自动安装一个有效期为 28 天的临时密钥。
  • 🔎 审计: 必须先启用系统的审计功能,任何审计策略才能生效。

SAP HANA 安全性

什么是 SAP HANA 安全性?

SAP HANA 安全功能可保护业务关键数据免受未经授权的访问,并使系统符合公司采用的合规标准。

SAP HANA 支持多租户数据库,即多个数据库运行在同一个系统上。每个数据库都是一个租户数据库容器,以下所有安全特性均适用于每个容器。

SAP HANA 提供以下安全相关功能:

  • 用户和角色管理
  • 授权
  • 认证
  • 持久层中的数据加密
  • 网络层数据加密

SAP HANA 用户和角色

SAP HANA 用户和角色管理配置取决于 建筑,如下所述。

3层 Archi质地

SAP HANA 可用作 3 层中的关系数据库 Archi结构。

在这种架构中,安全功能(授权、认证、加密和审计)安装在应用服务器层。

此 SAP 应用程序(例如 ERP、BW 等)只能在技术用户或数据库管理员(基础架构人员)的帮助下连接到数据库,如下所示。最终用户无法直接访问数据库或数据库服务器。

SAP HANA 3 层 Archi应用服务器层具有安全性的架构

2层 Archi质地

SAP HANA 扩展应用服务 (SAP HANA XS)基于两层架构 Archi架构中,应用服务器、Web 服务器和开发环境嵌入在一个系统中,如下图所示。

SAP HANA 2 层 Archi嵌入式结构 SAP HANA XS 应用服务器

SAP HANA 身份验证

数据库用户标识谁正在访问数据库。 SAP HANA 数据库,并且该身份通过“身份验证”进行验证。 SAP HANA 支持多种身份验证方法,单点登录 (SSO) 集成了其中几种。

SAP HANA 支持以下身份验证方法:

  • Kerberos:可用于以下情况——
    • 直接从 JDBC 和 ODBC 客户端 (SAP HANA 工作室).
    • 当使用 HTTP 访问 SAP 花 XS。
  • 用户名/密码:当用户输入数据库用户名和密码时, SAP HANA数据库对用户进行身份验证。
  • 安全断言标记语言 (SAML)

    SAML 可以对用户进行身份验证 SAP HANA 用户通过 ODBC/JDBC 直接访问数据库。它将外部身份映射到内部数据库用户,因此用户使用外部用户 ID 登录。

  • SAP 登录和断言票证

    用户可以通过登录票证或断言票证进行身份验证,这些票证是为此目的配置和颁发的。

  • X.509客户端证书

    日期 SAP HANA XS 通过 HTTP 访问,由受信任的证书颁发机构 (CA) 签名的客户端证书对用户进行身份验证。

SAP HANA 授权

SAP 当用户使用客户端接口(JDBC、ODBC 或 HTTP)访问 HANA 时,需要进行 HANA 授权。 SAP HANA 数据库。

根据授予用户的权限,该用户可以对数据库对象执行数据库操作。这种授权称为“权限”。

权限可以直接授予用户,也可以通过角色间接授予用户。分配给用户的所有权限都组合成一个整体。

当用户尝试访问任何 SAP HANA 数据库对象,系统通过用户角色检查授权并直接授予权限。

当找到所请求的权限时,系统将跳过进一步检查并授予访问权限。

SAP HANA提供以下权限类型:

权限类型 描述
系统特权 控制系统的正常活动。系统权限主要用于——

  • 在架构中创建和删除架构 SAP HANA 数据库
  • 管理用户和角色 SAP HANA 数据库
  • 监测和 trac的 SAP HANA 数据库
  • 执行数据备份
  • 管理许可证
  • 管理版本
  • 管理审计
  • 进出口 内容
  • 维护配送单元
对象权限 对象权限是 SQL 权限用于授予读取和修改数据库对象的授权。要访问数据库对象,用户需要拥有该对象或该对象所在模式的对象权限。对象权限可以授予目录对象(表、视图等)或非目录对象(开发对象)。
对象权限如下——

  • 创造任何
  • 更新、插入、选择、删除、删除、修改、执行
  • 索引、触发器、调试、参考
分析权限 分析权限允许读取数据。 SAP HANA 信息模型 (属性视图、分析视图、计算视图)。
此权限在查询处理期间进行评估。
分析权限根据用户角色,授予不同用户访问同一信息视图中不同数据部分的权限。
它们用于 SAP HANA 数据库提供行级数据控制,使用户能够在同一视图中查看数据。
套餐特权 软件包权限授权对特定软件包执行操作。 SAP HANA 存储库。该存储库和 XS classic 已于 [日期] 被弃用。 SAP HANA 2.0 SPS 02,因此新的工作使用基于 HDI 的角色。
应用程序权限 需要应用程序权限 SAP HANA 扩展应用服务 (SAP 使用 HANA XS 访问应用程序。
应用程序权限是通过 _SYS_REPO 模式中的 GRANT_APPLICATION_PRIVILEGE 和 REVOKE_APPLICATION_PRIVILEGE 过程授予和撤销的。
用户权限 这是用户可以授予自己用户的 SQL 权限。ATTACH DEBUGGER 是唯一可以通过这种方式授予用户的权限。

SAP HANA 用户管理和角色管理

访问 SAP HANA数据库需要用户。根据安全策略,有两种用户类型。 SAP 花。

1. 技术用户(DBA 用户) 直接与……合作的用户 SAP 拥有必要权限的 HANA 数据库。通常情况下,这些用户不会从数据库中删除。

创建这些用户是为了执行管理任务,例如创建对象以及授予对数据库对象或应用程序的权限。

此 SAP HANA数据库系统默认提供以下用户作为标准用户:

  • 系统
  • SYS
  • _SYS_REPO

2. 数据库或真实用户 ——每个想参与这项工作的人 SAP HANA 数据库需要数据库用户。数据库用户代表实际操作 HANA 数据库的人员。 SAP 花。

数据库用户分为两种类型,如下图所示。

用户类型 描述 角色分配
标准用户 该用户可以在自己的模式中创建对象,并读取系统视图中的数据。标准用户使用“CREATE USER”语句创建。 PUBLIC 角色用于读取系统视图。
受限用户 受限用户没有通过 SQL 控制台访问完整 SQL 权限,它是使用“CREATE RESTRICTED USER”语句创建的。如果使用应用程序需要特定权限,则通过角色授予这些权限。

  • 受限用户无法创建数据库对象。
  • 受限用户必须获得相应角色的授权才能查看数据库中的数据。
  • 受限用户只能通过HTTP连接到数据库。
  • 必须使用 SQL 语句启用客户端连接的 ODBC/JDBC 访问。
要使用完整的 ODBC/JDBC 功能,需要 RESTRICTED_USER_ODBC_ACCESS 或 RESTRICTED_USER_JDBC_ACCESS 角色。

An SAP HANA 用户管理员可以执行以下操作:

  1. 创建或删除用户。
  2. 定义并创建角色。
  3. 授予用户角色。
  4. 重置用户密码。
  5. 根据需要重新激活或停用用户。

1. 在中创建用户 SAP HANA

只有具有 ROLE ADMIN 权限的数据库用户才能创建用户和角色。 SAP 花。

步骤1) 要在……中创建新用户 SAP 在 HANA Studio 中,转到如下所示的“安全”选项卡,然后按照以下步骤操作:

  1. 转到安全节点。
  2. 选择用户(右键单击)-> 新建用户。

右键单击上下文菜单,在“安全”节点下创建新用户

步骤2) 此时将显示用户创建界面,如下图所示。

  1. 请输入用户名。
  2. 请输入用户密码。
  3. 这些是身份验证机制;默认情况下,使用用户名和密码进行身份验证。

SAP HANA Studio 用户创建界面,显示用户名和密码字段

点击下方所示的“部署”按钮即可创建用户。

部署按钮在 SAP HANA Studio 用户编辑器工具栏

2. 定义并创建角色

角色是一组可以授予其他用户或角色的权限集合。根据工作的性质,它包括对数据库对象和应用程序的权限。

这是授予权限的标准机制,当然也可以直接授予权限。许多标准角色(例如建模和监控)都随附于此。 SAP HANA 数据库。

标准角色可以作为创建自定义角色的模板。

角色可以包含以下权限:

  • 管理和开发任务的系统权限(目录读取、审计管理等)
  • 数据库对象的对象权限(SELECT、INSERT、DELETE 等)
  • 分析权限 SAP HANA 信息视图
  • 对存储库包的包权限(REPO.READ、REPO.EDIT_NATIVE_OBJECTS 等)
  • 应用程序权限 SAP HANA XS 应用
  • 用户权限(用于调试过程)

角色创建

步骤1) 使用如下所示的安全节点。

  1. 转到“安全”节点。 SAP HANA 系统。
  2. 选择角色节点(右键单击),然后选择新建角色。

右键单击上下文菜单,在“安全”节点下创建新角色

步骤2) 显示角色创建界面,如下图所示。

SAP HANA Studio 角色创建界面,并打开“已授予角色”选项卡

  1. 在“新建角色”模块中为角色命名。
  2. 选择“已授予角色”选项卡,然后单击“+”图标以添加标准角色或现有角色。
  3. 选择所需的角色(例如建模或监控)。

步骤3) 请确认如下所示的分配。

  1. 所选角色将添加到“已授予角色”选项卡中。
  2. 可以通过选择系统权限、对象权限、分析权限、包权限等直接分配权限。
  3. 点击部署图标创建角色。

“已授予角色”选项卡列出了部署前选定的角色。

如果此角色应授予其他用户和角色,请勾选“可授予其他用户和角色”选项。signable 对其他用户和角色。

3. 授予用户角色

步骤1) 使用下面的对话框,将角色“MODELLING_VIEW”分配给另一个用户“ABHI_TEST”。

  1. 转到“安全”节点下的“用户”子节点,然后双击它。“用户”窗口随即打开。
  2. 点击已授予角色的“+”图标。
  3. 此时会弹出一个窗口。请搜索将分配给用户的角色名称。

用于为用户选择 MODELLING_VIEW 的角色搜索弹出窗口

步骤2) 角色“MODELLING_VIEW”现已添加到角色下,如下所示。

已授予角色列表显示,MODELLING_VIEW 角色已添加到用户 ABHI_TEST。

步骤3) 部署更改并查看以下消息。

  1. 点击“部署”按钮。
  2. 显示消息“用户'ABHI_TEST'已更改”。

状态栏确认用户 ABHI_TEST 在被授予角色后发生了更改

4. 重置用户密码

要重置用户密码,请转到“安全”节点下的“用户”子节点,然后双击它。“用户”窗口随即打开。

步骤1) 请按如下所示输入新的凭据。

  1. 请输入新密码。
  2. 请输入确认密码。

密码和确认密码字段 SAP HANA Studio 用户编辑器

步骤2) 请按如下所示保存新密码。

  1. 点击“部署”按钮。
  2. 显示消息“用户'ABHI_TEST'已更改”。

状态栏确认用户 ABHI_TEST 的密码已更改

5. 重新激活或停用用户

转到“安全”节点下的“用户”子节点,然后双击它。“用户”窗口随即打开。

工具栏中包含一个“停用用户”图标,如下图所示。点击该图标。

在“停用用户”图标中 SAP HANA Studio 用户编辑器工具栏

此时会弹出确认窗口,如下图所示。点击“是”按钮。

弹出确认窗口询问是否停用用户 ABHI_TEST

屏幕显示“用户 'ABHI_TEST' 已停用”的消息。“停用”图标变为“激活用户”,用户可以通过同一图标重新激活该用户。

SAP HANA 许可证管理

使用本产品需要许可证密钥。 SAP HANA 数据库。可以使用以下命令安装和删除许可证密钥。 SAP HANA Studio, SAP HANA HDBSQL 命令行工具和 HANA SQL 查询编辑器。

此 SAP HANA数据库支持两种类型的许可证密钥:

  • 永久许可证密钥: 永久许可证密钥在其有效期内有效。必须在此日期前申请并应用新的密钥。如果密钥过期,系统将自动安装一个有效期为 28 天的临时许可证密钥。
  • 临时许可证密钥: 这是随新设备自动安装的。 SAP HANA 数据库安装。有效期为 90 天,之后可以申请永久密钥。 SAP.

许可证管理授权

许可证管理需要“许可证管理员”权限。 SAP HANA Cloud 采用订阅管理模式,因此无需手动安装密钥。

SAP HANA 审计

SAP HANA审计功能允许您监控和记录在HANA中执行的操作 SAP HANA系统。必须先为系统启用审计功能,然后才能创建审计策略。

授权给 SAP HANA 审计

需要“AUDIT ADMIN”系统权限才能执行以下操作 SAP HANA审计。

常见问题

目录角色仅在运行时存在,并通过 SQL 创建。HDI 角色是设计时生成的工件,带有 .hdbrole 后缀,部署到容器中,以便进行版本控制和传输。

创建受限用户时未赋予其 PUBLIC 角色,因此该用户不具备任何系统视图或对象权限。访问权限仅通过已授予的角色获得,并且必须显式启用 ODBC 或 JDBC 连接。

持久层加密保护磁盘上的数据卷、重做日志和备份。网络层加密使用 TLS/SSL 协议保护客户端和内部流量。根密钥存储在安全存储库中,安装后应进行更改。

是的。机器学习模型会分析审计日志中的正常授权模式,并标记异常值,例如突然授予系统权限、休眠账户重新获得访问权限或职责分离冲突。由于模型仅对风险进行排序,因此最终仍需由审核人员做出决定。

Copilot 可以快速创建 CREATE ROLE、GRANT 和 .hdbrole 文件,非常适合重复的角色脚手架。 Rev请对照安全指南查看生成的每条语句,因为建议可能会授予过多的权限或使用已弃用的存储库语法。

这是一个位于某个位置的独立租户数据库。 SAP HANA 系统。每个租户拥有自己的用户、角色、目录和持久化数据,而系统数据库则处理全局任务,例如租户创建和许可。

序号 SAP 建议创建仅授予各项任务所需权限的命名管理员用户,然后停用 SYSTEM 权限。共享超级用户会破坏审计跟踪,并扩大密码泄露的影响范围。

SAP HANA Cloud 保留了相同的权限模型,但移除了许可证密钥处理和主机级任务。 SAP 运行正常。加密默认开启,XS Classic 已弃用,HDI 角色取代了存储库角色。

总结一下这篇文章: