The authorization plugin allows Weaviate to provide differentiated access to users based on their authentication status. Along with allowing or disallowing anonymous access, Weaviate can differentiate between a user who is in the admin list, or on the read-only list.
The admin list relies on the configured
Authentication Schema to correctly identify
the user. On each request, a check against a pre-configured admin list is done.
If the user is contained in this list, they get all permissions. If they aren't,
they get none. It is not currently possible to assign only some rights to a specific user.
Other than a list of admins, it is also possible to specify a list of read-only users.
Those users have permissions on all
list operations, but no other
If a subject is present on both the admin and read-only list, Weaviate will throw an error on startup due to the invalid configuration.
Configure the admin plugin in the configuration yaml like so:
The above would enable the plugin and make users
email@example.com admins. Additionally, user
firstname.lastname@example.org will have read-only permissions.
Note that in the above example, email ids are used to identify the user. This is not a requirement, in fact, any string can be used. This depends on what you configured in the authentication settings. For example, if you are using Open ID Connect authentication, you could set the
More fine-grained Role-Based Access Control (RBAC) coming soon. As of now the only possible distinction is between Admins (CRUD), Read-Only Users and entirely unauthorized users.
If you can't find the answer to your question here, please look at the: