版本化流程中的受限组件
要导入版本化流或还原版本化流中的本地更改,用户必须能够访问版本化流中的所有组件。因此,如果要在受版本控制的流中使用受限组件,建议在根进程组级别创建它们。让我们通过一些示例来说明这种配置的好处。假设如下:
有两个用户“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版本化的流:
导入失败:
领取专属 10元无门槛券
私享最新 技术干货