Department of Computer Science and Engineering University of Ioannina, Greece
Virtualization Aware Access Control for Multitenant Filesystems
gkappes, ahatziel, stergios (at) cs.uoi.gr
15th TERENA TF-Storage Task Force Meeting
for Multitenant Filesystems Giorgos Kappes, Andromachi - - PowerPoint PPT Presentation
Virtualization Aware Access Control for Multitenant Filesystems Giorgos Kappes, Andromachi Hatzieleftheriou, Stergios V. Anastasiadis gkappes, ahatziel, stergios (at) cs.uoi.gr Department of Computer Science and Engineering University of
gkappes, ahatziel, stergios (at) cs.uoi.gr
15th TERENA TF-Storage Task Force Meeting
2
... Local Storage Host1 Local Storage
VM VM
HostN Shared Storage ...
VM VM
HostN
VM VM
Host1
VM VM
3
+ Isolation, snapshoting, versioning, migration + Heterogeneous clients — Semantic loss hardens consistency, sharing, manageability — Reduced performance due to layering and FS nesting
+ Isolation, snapshoting, versioning, migration + Semantic awareness: sharing, consistency, manageability + Elimination of layering and nesting: increased performance — Complicates support for heterogeneous clients
different tenants
4
5
6
Client OSD OSD MDS MON Auth Auth Auth Ceph Storage Cluster
ID: 76
7
/etc crontab group cron.d … ID: 75
crontab 101 cron.d 102 group 103
anacron mdadm
anacron 175 mdadm 106
dentry inode Object
8
9
OBJ OBJ OBJ OBJ OBJ OSD1 OSD2 OSD3 Placement Group 1 Placement Group 2
10
OID: INODE number, object fragment number
PG: hash of OID, total number of PGs, pool number
List of OSDs: Run CRUSH to map the PG to OSDs
11
12
Client MDS OSD OSD (1) Authorization Request (2) Capability
13
FS NATIVE USERS Shared File System TENANT1 UID: 1000 GID: 1000 UID: 1100 TENANTN UID: 1000 GID: 1000 UID: 1050 GID: 1000 UID: 2000 UID: 1000
— Poor scalability, isolation and manageability
— Overhead to periodically synchronize the tenants
— Mapping overhead, sharing complications, security violations
14
15
16
TENANT1 Users1 Clients Tenant Authentication Server FILESYSTEM SERVERS MDS OSD OSD Filesystem Authentication Service Filesystem Authentication Server TENANTN UsersN Clients Tenant Authentication Server
and permissions
17
(1) Principal authenticated by TAS (2) Principal requests FS access (3) Client contacts TAS (4) Client receives Metadata ticket (5) Client contacts MDS (6) MDS issues Data ticket (7) Client contacts OSD (8) Client accesses data
Steps
(2) Connect (3) Request
Clients Tenant Authentication Server Tenant principals Filesystem Authentication Server
(8) Data Authenticate
Native principals
TENANTS PROVIDER OSD OSD
MDS
(7) Data ticket
manage tenants
18
Tenant1 Policy Tenant2 Policy ... ... TenantN Policy Authorization Request Authorization Decision Client TENANT1 Metadata Ticket Tenant1 Policy Tenant2 Policy ... ... TenantN Policy MDS Data Ticket Per file access policy
files/folders
19 Folder Folder Tenanti Tenanti
Tree Folder ACLs Tree File ACLs
Tenanti Tenanti
Tree Folder ACLs Tree File ACLs Private File ACL
Tenantk
20
21
function on the public key
identified tenant
22
– Folders: maintain per tenant tree file/folder permissions – Files: maintain per tenant private file permissions if specified
INODES UID GID MODE ... XATTRS ... Filesystem view Permissions Client Client Client Client Client MDS Client Client MON Client Client OSD OBJECT POOLS Auth EXTENDED ATTRIBUTES MAP ... Permissions Permissions Permissions TID1 TID2 ... TIDN Tenant view Permissions
23
– New client and MDS calls to grant/revoke tenant access to/from a file or a directory
– Tool for administrate tenant access policies
24
25
26
27