你可以授权给指定的 role 一系列操作权限,例如和consume

使用 grant-permission 子命令指定命名空间,通过 --actions flag 指定操作,通过 --role flag 指定角色:

当设置 broker.conf 中的authorizationAllowWildcardsMatchingtrue 时,可以使用通配符授权。

例如:

  1. $ pulsar-admin namespaces grant-permission test-tenant/ns1 \
  2. --actions produce,consume \
  3. --role 'my.role.*'
  1. $ pulsar-admin namespaces grant-permission test-tenant/ns1 \
  2. --actions produce,consume \
  3. --role '*.role.my'

角色 1.role.my2.role.myfoo.role.mybar.role.my 等都可以生产和消费消息。

Note: A wildcard matching works at the beginning or end of the role name only.

例如:

In this case, only the role my.*.role has permissions.
Roles my.1.role, my.2.role, my.foo.role, , etc. cannot produce and consume.

REST API

Java

    查看在单个命名空间中,不同角色的权限。

    使用 子命令,指定命名空间:

    1. $ pulsar-admin namespaces permissions test-tenant/ns1
    2. {
    3. "admin10": [
    4. "produce",
    5. "consume"
    6. ]
    7. }

    REST API

    Java

    取消某些角色的权限后,这些角色将不再可以访问指定的命名空间。

    1. $ pulsar-admin namespaces revoke-permission test-tenant/ns1 \

    REST API

    DELETE /admin/v2/namespaces/:tenant/:namespace/permissions/:role

    Java

    1. admin.namespaces().revokePermissionsOnNamespace(namespace, role);