58.3. API 用户
使用必要的权限,创建 REST API 用户来直接访问安全的 Cruise Control REST API。
这允许定义角色和权限,以允许高级用户和第三方应用程序访问 Cruise Control REST API,而无需禁用基本的 HTTP 身份验证。
以下用例可以在不禁用 API 安全性的情况下从访问 Cruise Control API 中受益:
- 使用 Cruise Control 用户界面监控 Apache Kafka 管理的 Kafka 集群的流。
- 通过流为 Apache Kafka 或 Cruise Control sensor 指标收集 Cruise Control 特定统计信息,如集群、分区加载和用户任务的详细信息。
- 在安全环境中调试 Cruise Control。
Cruise Control 以 Jetty 的 HashLoginService
文件格式读取 API 用户的身份验证凭据。
支持标准 Cruise Control USER
和 VIEWER
角色。* USER
可以访问除 bootstrap 和 training 以外的所有 GET
端点。* VIEWER
可以访问 kafka_cluster_state
、user_tasks
和 review_board
端点。在这个示例中,在名为 cruise-control-auth.txt
的文本文件中,以支持的格式定义两个自定义 API 用户:
userOne: passwordOne, USER userTwo: passwordTwo, VIEWER
userOne: passwordOne, USER
userTwo: passwordTwo, VIEWER
然后,使用以下命令使用此文件创建 secret:
oc create secret generic cruise-control-api-users-secret --from-file=cruise-control-auth.txt=cruise-control-auth.txt
oc create secret generic cruise-control-api-users-secret --from-file=cruise-control-auth.txt=cruise-control-auth.txt
接下来,在 Kafka 资源的 spec.cruiseControl.apiUsers
部分中引用 secret:
Cruise Control apiUsers 配置示例
Apache Kafka 的流会解码并使用此 secret 的内容来填充 Cruise Control 的 API 身份验证凭证文件。