Set up ZkBasicAuthAccessControl for access to controller and broker
username: admin
password: admincontroller.admin.access.control.factory.class=org.apache.pinot.controller.api.access.ZkBasicAuthAccessControlFactory# the factory class property is different for the broker
pinot.broker.access.control.class=org.apache.pinot.broker.broker.ZkBasicAuthAccessControlFactory# Enable the controller to fetch segments by providing the credentials as a token
controller.segment.fetcher.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
# "Basic " + base64encode("admin:verysecret")# no tokens requiredsegment.fetcher.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
task.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
pinot.server.segment.fetcher.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
pinot.server.segment.uploader.auth.token=Basic YWRtaW46dmVyeXNlY3JldA
pinot.server.instance.auth.token=Basic YWRtaW46dmVyeXNlY3JldA# Create users "admin" and "user". Keep in mind we're not enforcing any ACLs yet.
controller.admin.access.control.principals=admin,user
# Set the user's password to "secret" and allow "READ" only
controller.admin.access.control.principals.user.password=secret
controller.admin.access.control.principals.user.permissions=READ
# Set the admin's password to "verysecret"
controller.admin.access.control.principals.admin.password=verysecret
controller.admin.access.control.factory.class=org.apache.pinot.controller.api.access.BasicAuthAccessControlFactory# the factory class property is different for the broker
pinot.broker.access.control.class=org.apache.pinot.broker.broker.BasicAuthAccessControlFactory
pinot.broker.access.control.principals=admin,user
pinot.broker.access.control.principals.admin.password=verysecret
pinot.broker.access.control.principals.user.password=secret
# No need to set READ permissions here since broker requests are read-only$ bin/pinot-admin.sh PostQuery \
-user user -password secret \
-brokerPort 8000 -query 'SELECT * FROM baseballStats'$ bin/pinot-admin.sh PostQuery \
-authToken "Basic dXNlcjpzZWNyZXQ=" \
-brokerPort 8000 -query 'SELECT * FROM baseballStats'$ curl http://localhost:8000/query/sql \
-H 'Authorization: Basic dXNlcjpzZWNyZXQ=' \
-d '{"sql":"SELECT * FROM baseballStats"}'controller.admin.access.control.factory.class=org.apache.pinot.controller.api.access.BasicAuthAccessControlFactory
controller.admin.access.control.principals=admin,user
controller.admin.access.control.principals.admin.password=verysecret
controller.admin.access.control.principals.user.password=secret
controller.admin.access.control.principals.user.tables=myusertable,baseballStats,stuff
controller.admin.access.control.principals.user.permissions=READ# the factory class property is different for the broker
pinot.broker.access.control.class=org.apache.pinot.broker.broker.BasicAuthAccessControlFactory
pinot.broker.access.control.principals=admin,user
pinot.broker.access.control.principals.admin.password=verysecret
pinot.broker.access.control.principals.user.password=secret
pinot.broker.access.control.principals.user.tables=baseballStats,otherstuffauthToken: Basic YWRtaW46dmVyeXNlY3JldA$ bin/pinot-admin.sh LaunchDataIngestionJob \
-user admin -password verysecret \
-jobSpecFile myJobSpec.yaml$ bin/pinot-admin.sh LaunchDataIngestionJob \
-authToken "Basic YWRtaW46dmVyeXNlY3JldA" \
-jobSpecFile myJobSpec.yaml# this requires a reference to "${authToken}" in myJobSpec.yaml!
$ bin/pinot-admin.sh LaunchDataIngestionJob \
-jobSpecFile myJobSpec.yaml \
-values "authToken=Basic YWRtaW46dmVyeXNlY3JldA"