PermissionService¶
PermissionService
is a Unity Catalog API service that UnityCatalogServer uses to handle HTTP requests at /api/2.1/unity-catalog/permissions
URL.
Method | URL | Handler | SecurableType |
---|---|---|---|
GET | /catalog/{name} | getCatalogAuthorization | catalog |
GET | /function/{name} | getFunctionAuthorization | function |
GET | /metastore/{name} | getMetastoreAuthorization | metastore |
GET | /registered_model/{name} | getRegisteredModelAuthorization | registered_model |
GET | /schema/{name} | getSchemaAuthorization | schema |
GET | /table/{name} | getTableAuthorization | table |
GET | /volume/{name} | getVolumeAuthorization | volume |
Method | URL | Handler | AuthorizeKey |
---|---|---|---|
PATCH | /metastore/{name} | updateMetastoreAuthorization | metastore |
... |
$ http http://localhost:8081/api/2.1/unity-catalog/permissions/catalog/unity
HTTP/1.1 200 OK
content-length: 28
content-type: application/json
date: Thu, 3 Oct 2024 15:30:28 GMT
server: Armeria/1.28.4
{
"privilege_assignments": []
}
Unity Catalog CLI
The above http
command is equivalent to the following:
Creating Instance¶
PermissionService
takes the following to be created:
PermissionService
is created when:
UnityCatalogServer
is requested to register the API services
Get Authorization¶
getAuthorization
finds the ID of the given SecurableType
and name
.
getAuthorization
finds the ID of the current principal.
getAuthorization
...FIXME
getAuthorization
is used when PermissionService
is requested for the following authorizations:
Update Authorization¶
HttpResponse updateAuthorization(
SecurableType securableType,
String name,
UpdatePermissions request)
updateAuthorization
...FIXME
Get Metastore Authorization¶
getMetastoreAuthorization
getAuthorization of the METASTORE
securable type with the given name
.
getMetastoreAuthorization
is used to handle GET /metastore/{name}
requests.