首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apache NiFi用户指南-数据流版本控制-版本化流程中的受限组件

版本化流程中的受限组件

要导入版本化流或还原版本化流中的本地更改,用户必须能够访问版本化流中的所有组件。因此,如果要在受版本控制的流中使用受限组件,建议在根进程组级别创建它们。让我们通过一些示例来说明这种配置的好处。假设如下:

有两个用户“sys_admin”和“test_user”可以查看和修改根进程组。

“sys_admin”可以访问所有受限制的组件。

“test_user”可以访问需要“读文件系统”和“写文件系统”的受限组件。

在根进程组中创建的受限控制器服务

在第一个示例中,sys_admin在根进程组级别创建一个KeytabCredentialsService控制器服务。

KeytabCredentialService控制器服务是一个受限制的组件,需要'access keytab'权限:

Sys_admin创建一个进程组ABC,其中包含一个带有GetFile和PutHDFS处理器的流:

GetFile处理器是一个受限制的组件,它需要“写文件系统”和“读文件系统”的权限:

PutHDFS是一个受限制的组件,需要“写文件系统”权限:

PutHDFS处理器被配置为使用根进程组级的KeytabCredentialsService控制器服务:

Sys_admin将进程组保存为版本化的流:

Test_user通过删除KeytabCredentialsService控制器服务来更改流:

如果test_user选择恢复此更改:

回复成功:

另外,如果test_user选择导入ABC版本化的流:

导入成功:

进程组中创建的受限控制器服务

现在,考虑第二个场景,其中控制器服务是在流程组级别上创建的。

Sys_admin创建一个进程组XYZ:

Sys_admin在进程组级别创建一个KeytabCredentialsService控制器服务:

在进程组中创建相同的GetFile和PutHDFS流:

但是,PutHDFS现在引用进程组级控制器服务:

Sys_admin将流程组保存为版本化的流。

Test_user通过删除KeytabCredentialsService控制器服务来更改流。但是,在这个配置中,如果test_user试图恢复这个更改:

恢复不成功是因为test_user没有KeytabCredentialService控制器服务所需的'access keytab'权限:

类似地,如果test_user试图导入XYZ版本化的流:

导入失败:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200107A0K8SP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券