Trong chương này chúng ta sẽ phân tích chủ đề tương tự liên quan đến tài khoản, Container và đối tượng. Các tài khoản được tạo ra trên mỗi người dùng hoặc mỡi nhóm của người dùng. Đới tượng trong Openstack Object Storage giống với các tệp tin trong hệ thớng thơng thường và Container có thẻ được hiểu là các Folder
Trước tiên chúng ta sẽ tìm hiểu về quyền mà người dùng có thể làm với tài khoản
User/Member: khơng có quyền gì liên quan đến quản trị
Admin: chỉ có thể lấy thông tin về tài khoản như URL, người dung…
Reseller Admin: có thể thêm hoặc xóa người dùng hiện tại. Nó có quyền Admin để lấy thông tin về một tài khoản
28
Bây giờ chúng ta sẽ phân tích về các vai trị khác nhau của người dùng với Container
User/Member: Chỉ có thể truy cập vào những folder mà anh ta được trao quyền
Admin: Có quyền với tất cả hoạt động trên các tài khoản thuộc về Admin như thêm xóa Container, upload download…
Reseller Admin: Có quyền như Admin nhưng với hầu hết các tài khoản
Super Admin: Khơng có quyền gì liên quan đến quản lý Container/Object Trong hệ thống ủy quyền hiện tại, không thể định rõ quyền với cấp độ Object đó là tại sao khách hàng bị giới hạn sử dụng quyền Container. Để xác định rõ sự hạn chế này chúng ta xem xét một ví dụ khi người dùng muốn cung cấp một truy cập công cộng đến Object C1 trong Container C1. Do không thể cấp quyền rõ ràng trên mỡi Object. Người dùng có 2 sự lựa chọn
Thay đổi quyền truy cập đến Container C1 và tạo cho tất cả Object trong Container đó thành có thể truy cập từ cơng cộng
Tạo một Container mới C2 và di chuyển Object C1 sang Container C2 và sau đó đặt quyền public cho C2
Như đã nói bên trên, người dùng cần được trao quyền truy cập đến Container bởi nhà quản lý. Truy cập được đưa ra phụ thuộc vào danh sách điều khiển truy cập ACL. Trong ACL sẽ chỉ rõ hoạt động read/write. Mỗi mục trong ACL có thể được trao hoặc từ chới truy cập dựa vào các thông số sau:
Dựa vào HTTP Header
Tất cả người dùng của một tài khoản xác định
Người dùng xác định trong một tài khoản xác định
2.2.1 Quyền của Reseller Admin
Như đề cập trong phần trên thì Reseller Admin có quyền admin trên tất cả các tài khoản. Tuy nhiên khi tìm hiểu lại có rất ít các tài liệu của Openstack nói đến
29
quyền này mà chỉ có Admin và User có nhắc đến. Reseller Admin có thể làm mọi thứ với các tài khoản miễn là nó có đường dẫn tới các tài khoản đó.
Để phòng tránh việc này thì việc cần thiết là người dùng hãy mã hóa các nội dung của họ trước khi tải lên Openstack. Trong khi các nhà phát triển cho rằng Reseller Admin cần thiết phải có các quyền như vậy cho các chức năng sửa chữa tài khoản người dùng như migrate dữ liệu người dùng. Một điểm khác nữa rằng Openstack Object có thể dùng các hệ thớng ủy quyền khác ngồi Devauth, Swauth, Keystone và có thể dễ dàng thay đổi quyền cho Reseller Admin. Tuy nhiên cũng cần phải nghiên cứu kỹ lưỡng trước khi tiến hành [36]
2.2.2 Tính di động của dữ liệu ủy quyền
Với Devauth và Keystone, dữ liệu ủy quyền được lưu trong cơ sở dữ liệu SQL nên việc sao lưu, phục hồi, di chuyển giữa các hệ thống là linh hoạt. Với Swauth thì các dữ liệu là các tệp Json. Quyết định ủy quyền cho việc quản lý container được tạo dựa vào các nhóm người dùng hoặc danh sách điều khiển truy cập. Một người quản trị của một tài khoản có thể lấy được ALCs thông qua các cuộc gọi HTTP call. Quyền đọc và viết đến các container sẽ thấy được trong X- Container-Read và X-Container-Write trong header của HTTP.