云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

对象存储_阿里云客服是做什么的_便宜的

小七 141 0

在上一篇文章中,我介绍了xsadvanced(XSA)中的同义词,并创建了一个非常简单的同义词。现在我将创建指向我自己定义的对象的同义词。

我假设,我想要访问的外部模式已经存在。示例模式EPM\u DEV可以使用repo创建https://github.com/CGilde/syn-prov-classic。我还假设xsawebide中已经有一个带有db模块的项目。我们将在这个项目中插入同义词。有关该项目的git repo及其完整编码,请访问https://github.com/CGilde/syn-hdi-classic-1.

要通过同义词访问此架构中的对象,必须执行以下步骤:

1。在外部模式中创建角色

这些角色用于控制对要向HDI容器公开的对象的访问。从技术上讲,我们还可以使用对象特权,或者允许访问整个外部模式。两者都有使用角色的缺点,我在这里不使用它们。

在通过使用上述repo创建的模式EPM\u DEV中,什么是云计算和大数据,使用纯SQL创建角色。也可以使用设计时角色定义创建角色。

通常会为同义词访问创建两个角色:

1。具有授予选项的角色。此角色用于允许HDI对象所有者访问外部对象,并向其他用户授予访问权限,例如,通过在定义器模式下访问过程/函数/CalcView/视图的角色。在我的示例中,这是角色"EPM\u XXX::external\u access\u g"。

2。没有授权选项的角色。此角色用于允许HDI应用程序用户直接访问同义词,或在调用程序模式下通过过程/函数/calcviews进行访问。在我的示例中,51返利,这是角色"EPM\u XXX::external\u access"。

2。创建用户提供的服务

以上创建的角色必须授予HDI容器的生成用户。为了实现这一点,我们首先必须创建一个所谓的"用户提供的服务"。它将给定的用户连接到给定的数据库,并在部署期间执行grant语句。grant语句是从.hdbgrants文件的内容中生成的,我稍后会对其进行定义。

以管理员权限登录到XS CLI(命令行界面):

将目标组织和空间更改为正在开发的组织(此处为space DEV,不更改组织):

创建用户提供的服务。用您的值替换主机、端口用户、密码和模式(xs cups是xs create user-provided service的别名):

输出应该是这样:

现在同一组织和空间内的每个服务(例如XSA Web IDE中的项目)都可以使用用户提供的服务来获取对外部对象的访问。您可能会想:"如果每个服务都可以访问外部对象,那么安全性呢?"答案很简单。XSA中的服务只能访问自己组织和空间中的其他服务。XSA组织和空间以及分配给它们的开发人员的结构必须支持系统环境的安全要求。

3.创建.hdbgrants文件

要将特权授予生成的用户,我包括一个文件SNWD-表.hdbgrants在WebIDE中我的项目的db文件夹中文件可以看作是普通SQL中"GRANT"语句的HDI等价物。在后台,SQL"GRANT"语句从.hdbgrants文件内容生成,并使用上面创建的用户提供的服务"EPM\u XXX-table-designer"执行。

在这个hdbgrants文件中,"EPM\u XXX-table-designer"对应于用户定义的服务,该服务授予特权(designer)"对象\所有者"和"应用程序\用户"是指被授予特权的用户(被授予者)。"object\u owner"后面列出的特权/角色将直接授予HDI容器的object owner用户。"应用程序用户"后面列出的特权/角色将通过特定角色(带有后缀::access\u role的角色)授予HDI应用程序用户(又称运行时用户)。

为了向后兼容,还支持后缀.hdbsynonymrantor,而不是.hdbgrants。

4。定义依赖项

我们项目的依赖项在开发描述符文件中定义mta.yaml公司. db模块不仅需要一个hdi容器(在其中创建同义词),还需要用户定义的服务来创建grant语句mta.yaml公司要解释的文件,哪些符号/属性引用哪些开发工件。

5.创建同义词

在创建第一个同义词之前,我构建了项目中几乎为空的db模块。目前(2.0 SPS0)这是使用图形同义词编辑器中的对象搜索对话框所必需的。当仅使用文本编辑器时,不必生成空项目。

我包括一个文件SNWD.hdb同步到我的项目的db文件夹中。最后,我可以使用图形同义词编辑器或文本编辑器创建同义词。在图形同义词编辑器中,我可以从通过绑定到db模块的外部服务中选择对象mta.yaml公司文件,在我们的案例中来自"EPM\ U XXX-table-ENSURGER"。"搜索"对话框提供可由外部服务读取的所有对象,以及可通过某些HDI默认权限/角色访问的一些系统对象。这里不考虑hdbgrants。

SNWD.hdb同步在带有搜索对话框的图形编辑器中:

SNWD.hdb同步在文本编辑器中:

.hdbsynonym文件定义同义词,并为每个同义词引用目标对象和模式。同一个文件中可以定义多个同义词。