Chính sách kiểm soát truy cập
Chính sách kiểm soát truy cập¶
Chính sách kiểm soát truy cập có thể có thể áp dụng cho một vài hoặc tất cả tài nguyên dựa trên các tiêu chí sau:
-
Giới hạn về vị trí địa lý của IP: CDN giới hạn truy cập dựa trên quốc gia của người dùng truy cập.
-
Giới hạn về IP: Một địa chỉ IP hoặc một nhóm địa chỉ IP có thể áp dụng chính sách giới hạn quyền truy cập.
Hai giới hạn trên có thể được thiết lập thông qua các chính sách whitelist và blacklist. Người dùng nằm trong diện whitelist sẽ được cho phép tải xuống tài nguyên.
Các truy cập của người dùng nếu phạm phải các chính sách blacklist sẽ bị từ chối truy cập tài nguyên.
CDN mặc định cho phép mọi truy cập. Do đó, để giới hạn quyền truy cập, khách hàng có thể tạo các quy tắc như sau:
-
Tạo chính sách blacklist để chặn truy cập từ một số nguồn.
-
Tạo chính sách blacklist để chặn tất cả và tạo chính sách whitelist để cho phép một số nguồn truy cập.
Các chính sách sẽ được đặt tên và áp dụng cho các tài nguyên dựa trên URL, khớp theo tiền tố, hậu tố hoặc biểu thức chính quy. Các chính sách có thể giới hạn quyền truy cập từ quốc gia hoặc một IP/giải IP nhất định.
Các chính sách giới hạn về địa lý sử dụng mã quốc gia được định nghĩa tại ISO3166. Ví dụ với Việt Nam là VN, Singapore là SG. Đối với chính sách về địa chỉ IP có thể sử dung một nhóm địa chỉ IP với định dạng IP/CIDR hoặc IP/lớp mạng.
Thông tin
Danh sách mã quốc gia có thể tham khảo thêm tại: https://www.iso.org/obp/ui/#search.
Nhóm địa chỉ IP sẽ có sự ưu tiên cao hơn so với mã quốc gia.
Nếu có nhiều chính sách, chính sách khớp nhiều nhất sẽ được sử dụng. Chính sách có tiền tố khớp dài nhất sẽ được ưu tiên. Nếu nhiều chính sách có độ dài bằng nhau thì chính sách có mạng con nhỏ nhất sẽ được chọn. Bất kỳ phạm vi IP nào khớp cũng sẽ được ưu tiên hơn chính sách địa lý.
Nếu không thể kiểm tra chính sách trực tiếp từ các vị trí hiện tại, thì thêm một chính sách bổ sung dưới mục Access Control (ví dụ để ảnh hưởng đến địa chỉ IP của khách hàng) để kiểm tra và sau đó xóa nó. Lưu ý rằng có thể mất đến mười phút để bất kỳ thay đổi chính sách nào được đồng bộ tới các máy chủ CDN.
Token Access¶
Với token access, tất cả các kết nối đến máy chủ CDN đều cần có một chuỗi token được mã hoá hợp lệ mới có thể truy cập.
Mã token có thể được tạo bằng cách bấm “+”. Thông tin token chỉ được hiện thị khi truy cập trang quản trị sử dụng HTTPS và khách hàng cần phải lưu lại giá trị token sử dụng cho việc tạo link và truy cập tài nguyên.
Khi token được tạo ra, khách hàng sẽ sử dụng nó để tạo ra một chuỗi queryString được đính kèm vào URL để người dùng có thể truy cập.
Để sử dụng token giới hạn thời gian truy cập của URL cần có 2 giá trị:
-
stime: thời gian bắt đầu có hiệu lực
-
etime: thời gian hết hiệu lực
Cấu trúc của chúng như sau: yyyymmddHHMMSS
Ví dụ
20240801010000 giờ UTC
Có thể tuỳ chọn giới hạn truy cập với địa chỉ IP bằng cách thêm &ip=1.1.1.1
Ví dụ một đường dẫn có cấu trúc như sau: http://www.example.com/path/to/resource?clientId=12345&product=A123&other=xyz
Các bước thực hiện
-
Bước 1: Loại bỏ phần giao thức và tên miền để thành: /path/to/resource?clientId=12345&product=A123&other=xyz
-
Bước 2: Thêm các trường thông tin về thời gian hiệu lực /path/to/resource?clientId=12345&product=A123&other=xyz&stime=20081201060100&etime=20081201183000
-
Bước 3: Tính toán và thêm chuỗi mã hóa:
-
Sử dụng HMAC-SHA1 để tính toán một chuỗi hash từ kết quả ở bước 2 và một khóa bí mật (secret key).
-
Lấy 20 ký tự đầu tiên của chuỗi hash, thêm số 0 vào đầu và gọi đây là chuỗi mã hóa.
-
Thêm chuỗi mã hóa vào cuối URL: /path/to/resource?clientId=12345&product=A123&other=xyz&stime=20081201060100&etime=20081201183000&encoded=0
-
URL cuối cùng sẽ là:
http://www.example.com/path/to/resource?clientId=12345&product=A123&other=xyz&stime=20081201060100&etime=20081201183000&encoded=0
Người dùng cố truy cập vào tài nguyên mà không hợp lệ sẽ nhận thông báo “Forbidden” ( Mã HTTP 403) từ trình duyệt.