Background
Add authentication and authorization support.
Introduce a new system table, sys.apikey, to manage authentication and authorization metadata.
An API key contains both authentication and authorization information.
Permissions are divided into resource-level permissions and system-level permissions:
r : Read
w : Write
c : Control
a : Admin
r and w are granted at the Table and Alias level.
c grants metadata management privileges, including databases, tables, aliases, and API keys.
a is a system administrator permission that includes all permissions.
Task
Done When
- API keys can be issued, retrieved, and revoked.
- API requests can be authenticated using API keys.
- Access control based on
r, w, c, and a permissions is enforced.
- Documentation and tests are completed.
Notes
Authorization Model
- Authentication is based on API keys.
- Authorization is deny-by-default.
r and w are granted at the Table and Alias level.
r allows read operations.
w allows data mutation operations.
c is a system-level permission for metadata management.
a is a system-level administrator permission and includes all permissions.
Background
Add authentication and authorization support.
Introduce a new system table,
sys.apikey, to manage authentication and authorization metadata.An API key contains both authentication and authorization information.
Permissions are divided into resource-level permissions and system-level permissions:
r: Readw: Writec: Controla: Adminrandware granted at the Table and Alias level.cgrants metadata management privileges, including databases, tables, aliases, and API keys.ais a system administrator permission that includes all permissions.Task
sys.apikeyr,w,c,a)Done When
r,w,c, andapermissions is enforced.Notes
Authorization Model
randware granted at the Table and Alias level.rallows read operations.wallows data mutation operations.cis a system-level permission for metadata management.ais a system-level administrator permission and includes all permissions.