A contains an authoriZation Management System (ZMS) server and an (ZTS) server.
首先,你需要设置 Athenz 的服务访问控制。 You need to create domains for the provider (which provides some resources to other services with some authentication/authorization policies) and the tenant (which is provisioned to access some resources in a provider). 在这种情况下,供应商与 Pulsar 服务本身相对应,租户与使用 Pulsar 的每个应用程序相对应(通常情况下)。 Pulsar 租户 )。
On the side, you need to do the following things:
- 创建一个域名,如
- 使用公钥在域上创建服务,例如
some _app
请注意,当 Pulsar 客户端连接到 broker 时,需要指定步骤2 生成的私钥(参见 和 C++ 的客户端配置示例。
On the provider side, you need to do the following things:
- 创建一个域名,例如
pulsar
- 创建角色
- 将租户服务添加到角色成员
请注意,你可以在步骤2中指定任何动作和资源,因为它们不在 Pulsar上使用。 In other words, Pulsar uses the Athenz role token only for authentication, not for authorization.
关于更多涉及 UI 的具体步骤,请参阅 。
在
conf/broker中可以找到完整的参数列表.onf
文件,你也可以在 Broker 配置 中找到这些参数的默认值。
关于使用 Athenz 的 Pulsar 客户端身份验证的更多信息,请参阅以下针对语言的文件:
命令行工具 , pulsar-perf
使用 conf/client. onf
配置文件在 Pulsar 安装中。
你需要将以下验证参数添加到 conf/client.conff
配置文件以使用 Athenz 的 Pulsar 的 CLI 工具:
# URL for the broker
serviceUrl=https://broker.example.com:8443/
# Set Athenz auth plugin and its parameters
authParams={"tenantDomain":"shopping","tenantService":"some_app","providerDomain":"pulsar","privateKey":"file:///path/to/private.pem","keyId":"v1"}
# Enable TLS
useTls=true
tlsAllowInsecureConnection=false