跳到主要内容

ACL概览

Solace PubSub+ 事件代理支持访问控制列表(ACL)。ACL 用于控制哪些客户端可以连接到哪些消息 VPN,以及客户端在其消息 VPN 中被允许发布和订阅哪些主题。ACL 支持允许/拒绝-例外类型的策略结构,以及通配符匹配和替换变量。ACL 为您提供了一种强大且可扩展的手段,以控制客户端在消息 VPN 中可以和不可以做什么。

ACL 在消息 VPN 内创建,并分配给其客户端。ACL 有 3 个部分:

  • 一个部分用于控制哪些客户端可以连接到消息 VPN。
  • 一个部分用于控制客户端可以发布到哪些主题。
  • 一个部分用于控制客户端可以订阅哪些主题。

每个部分都有类似的结构。如果您熟悉 ACL 的基本概念,可以直接跳转到 ACL 配置中的详细说明进行配置。如果您需要一些更基础的信息,让我们在深入配置实际 ACL 之前,先以图表形式查看每个部分。

控制哪些客户端可以连接

控制哪些客户端可以连接到消息 VPN 的部分有两个组件:默认操作和默认操作的例外列表。在本例中,名为 yourACL 的 ACL 将默认操作设置为允许所有客户端连接尝试,除了 IP 子网 10.10.0.0/16 上的连接。以图表形式表示,ACL 如下所示:

yourACL
client-connect
default-action: allow
exception: 10.10.0.0/16

您可以添加多个例外,如果您在 ACL 使用期间更改默认操作或例外,这些更改不会影响已分配该 ACL 的客户端,直到这些客户端从消息 VPN 断开连接并尝试重新连接。

您可以在配置客户端连接授权中找到配置 ACL 的客户端连接部分的详细说明。

控制客户端可以发布到哪些主题

控制客户端可以发布到哪些主题的部分也有默认操作和例外列表。继续以 yourACL 为例,其默认操作设置为拒绝发布到所有主题,除了 animals/domestic/dogsanimals/domestic/cats,客户端可以自由发布到这些主题。

yourACL
publish-topic
default-action: disallow
exception: animals/domestic/dogs
exception: animals/domestic/cats

您可以在配置主题发布权限中找到配置 ACL 的发布部分的详细说明。

控制客户端可以订阅哪些主题

控制客户端可以订阅哪些主题的部分在结构上与上一节中看到的发布权限部分类似。在示例中,yourACL 的默认操作设置为拒绝订阅所有主题,除了 animals/domestic/birds,客户端可以自由订阅该主题。

yourACL
subscribe-topic
default-action: disallow
exception: animals/domestic/birds

您可以在配置主题订阅权限中找到配置 ACL 的订阅部分的详细说明。

其他ACL功能

以上各节仅涉及 ACL 的基础。还有一些额外的功能可以扩展 ACL 的功能。

  • 默认 ACL:每个消息 VPN 都有一个默认 ACL,如果客户端未被分配到其他 ACL,则会分配给每个客户端。您可以修改默认 ACL 的配置,但不能删除它。
  • 替换变量:为创建可扩展的 ACL 提供了一种手段,适用于客户端数量达数百、数千甚至数十万的情况。您可以在使用访问控制列表替换变量改进物联网安全中了解替换变量功能的概述,并在主题例外中使用替换变量中了解更多信息。
  • 发布和订阅队列:通过使用主题模式 #P2P/QUE/<queueName>,可以创建 ACL 例外来控制对队列的发布操作。您可以在发布到队列中了解更多信息。
  • ACL 配置
  • 使用 ACL 配置文件控制客户端访问
  • 使用 ACL 控制发布到队列和 ACL 配置
  • 使用访问控制列表替换变量改进物联网安全