Coarse-grained authorization
Kudu supports coarse-grained authorization checks for client requests based on the
client's authenticated Kerberos principal (user or service). Access levels are granted based on
whitelist-style Access Control Lists (ACLs), one for each level. Each ACL specifies a
comma-separated list of users, or may be set to '*
' to indicate that all authenticated users have access rights at the specified
level.
The two levels of access which can be configured are:
-
Superuser - Principals authorized as a superuser can perform certain
administrative functions such as using the
kudu
command line tool to diagnose and repair cluster issues. -
User - Principals authorized as a user are able to access and modify all data
in the Kudu cluster. This includes the ability to create, drop, and alter tables, as
well as read, insert, update, and delete data. The default value for the User ACL is
'
*
', which allows all users access to the cluster. However, if authentication is enabled, this will restrict access to only those users who are able to successfully authenticate using Kerberos. Unauthenticated users on the same network as the Kudu servers will be unable to access the cluster.