访问控制插件提供了验证域参与者权限所需的机制和操作。在Fast DDS编译时如果启用了安全模块,经过身份验证的远程域参与者需要进行权限验证和强制执行。
访问控制插件概述
功能:
- 访问控制插件定义了每个DomainParticipant(域参与者)对资源的访问权。为了在DDS域中正常运行,DomainParticipant必须获得在特定域内操作的授权。
- DomainParticipant负责创建通过特定主题(Topic)进行通信的数据写入器(DataWriter)和数据读取器(DataReader)。因此,DomainParticipant必须具备创建主题、通过其数据写入器发布信息以及通过其数据读取器订阅其他主题所需的权限。
- 访问控制插件可以配置加密插件,因为其使用基于DomainParticipant的权限。
插件类型:
- 在Fast DDS中实现的身份验证插件称为“DDS:Access:Permissions”,符合DDS安全规范。
- 此插件允许使用由受信任CA签名的权限文档来实施访问控制。
配置需求
要正确配置“DDS:Access:Permissions”插件,需要三个文件:
Permissions CA证书:用于验证参与者权限的CA证书。
治理文档:由权限CA签署的共享治理文档。
参与者权限文档:由权限CA签署的参与者权限文档。
激活与属性设置
要激活该认证插件,可以通过设置DomainParticipantQos
属性dds.sec.access.plugin
为builtin.Access-Permissions
。以下是用于配置“DDS:Access:Permissions”插件的重要属性:
属性名称 | 属性值说明 |
---|---|
permissions_ca | 指向Permissions CA证书X.509证书URI。支持文件URI方案,并且应为PEM格式。 |
governance | 指向由Permissions CA以S/MIME格式签名的共享治理文档URI。支持文件URI方案。 |
permissions | 指向由Permissions CA以S/MIME格式签名的参与者权限文档URI。支持文件URI方案。 |
transmit_algorithms_as_legacy (可选) | 是否以非标准遗留格式传输算法标识符。如果未指定,该属性默认为false。 |
注意事项
所有列出的属性都具有“dds.sec.access.builtin.Access-Permissions.”前缀,例如 dds.sec.access.builtin.Access-Permissions.permissions_ca
。
总结
通过上述机制,DDS系统确保了每个DomainParticipant在特定环境中的安全性和有效性,从而保障了系统内部的数据交换和通信过程不被未经授权的操作干扰。这种细粒度的访问控制方法有助于构建更加安全可靠的信息交换平台,在面对各种网络安全威胁时能够提供坚实保障。
内容由零声教学AI助手提供,问题来源于学员提问