Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5

5.8. Chính sách bảo mật kèo chấp bóng đá hôm nay

Ngoài SQL-Standardkèo chấp bóng đá hômCó sẵn thông quaGrant, bảng có thể cóChính sách bảo mật kèo chấp bóng đá hôm nayĐiều đó hạn chế, trên cơ sở người dùng mỗi người, các kèo chấp bóng đá hôm nay có thể được trả về bằng các truy vấn thông thường hoặc chèn, cập nhật hoặc xóa bởi các lệnh sửa đổi dữ liệu. Tính năng này còn được gọi làBảo mật cấp kèo chấp bóng đá hôm nay. Theo mặc định, các bảng không có bất kỳ chính sách nào, do đó, nếu người dùng có quyền truy cập đặc quyền vào bảng theo hệ thống đặc quyền SQL, tất cả các kèo chấp bóng đá hôm nay trong đó đều có sẵn để truy vấn hoặc cập nhật.

Khi bảo mật kèo chấp bóng đá hôm nay được bật trên bảng (vớiBảng thay đổi ... Kích hoạt bảo mật cấp kèo chấp bóng đá hôm nay), tất cả quyền truy cập bình thường vào bảng để chọn kèo chấp bóng đá hôm nay hoặc sửa đổi kèo chấp bóng đá hôm nay phải được chính sách bảo mật kèo chấp bóng đá hôm nay cho phép. . Các hoạt động áp dụng cho toàn bộ bảng, chẳng hạn nhưcắt ngắnTài liệu tham khảo, không phải chịu bảo mật kèo chấp bóng đá hôm nay.

Các chính sách bảo mật kèo chấp bóng đá hôm nay có thể dành riêng cho các lệnh hoặc vai trò hoặc cho cả hai. Chính sách có thể được chỉ định để áp dụng chotất cảlệnh hoặc đếnChọn, Chèn, Cập nhậthoặcXóa. Nhiều vai trò có thể được gán cho một kèo chấp bóng đá hôm nay nhất định và được áp dụng thành viên và tư cách thành viên vai trò bình thường.

10104_10386LeakproofCác chức năng, được đảm bảo không rò rỉ thông tin; Trình tối ưu hóa có thể chọn áp dụng các chức năng như vậy trước khi kiểm tra bảo mật kèo chấp bóng đá hôm nay.) Các kèo chấp bóng đá hôm nay mà biểu thức không trả vềtruesẽ không được xử lý. Các biểu thức riêng biệt có thể được chỉ định để cung cấp kiểm soát độc lập đối với các kèo chấp bóng đá hôm nay có thể nhìn thấy và các kèo chấp bóng đá hôm nay được phép sửa đổi. Các biểu thức chính sách được chạy như một phần của truy vấn và với các đặc quyền của người dùng đang chạy truy vấn, mặc dù các chức năng bảo mật-definer có thể được sử dụng để truy cập dữ liệu không có sẵn cho người dùng gọi.

Superusers và vai trò vớiBypassrlsThuộc tính luôn bỏ qua hệ thống bảo mật kèo chấp bóng đá hôm nay khi truy cập vào bảng. Chủ sở hữu bảng thường bỏ qua bảo mật kèo chấp bóng đá hôm nay, mặc dù chủ sở hữu bảng có thể chọn chịu sự bảo mật kèo chấp bóng đá hôm nay vớiBảng thay đổi ... lực lượng bảo mật cấp kèo chấp bóng đá hôm nay.

11401_11527

kèo chấp bóng đá hôm nay được tạo bằng cách sử dụngTạo kèo chấp bóng đá hôm nayLệnh, được thay đổi bằng cách sử dụngkèo chấp bóng đá hôm nay thay đổiLệnh và bỏ bằng cách sử dụngkèo chấp bóng đá hôm nay thảLệnh. Để bật và vô hiệu hóa bảo mật kèo chấp bóng đá hôm nay cho một bảng đã cho, hãy sử dụngBảng thay đổilệnh.

Mỗi kèo chấp bóng đá hôm nay có một tên và nhiều kèo chấp bóng đá hôm nay có thể được xác định cho một bảng. Vì các kèo chấp bóng đá hôm nay là dành riêng cho bảng, mỗi kèo chấp bóng đá hôm nay cho một bảng phải có một tên duy nhất. Các bảng khác nhau có thể có kèo chấp bóng đá hôm nay có cùng tên.

Khi nhiều kèo chấp bóng đá hôm nay áp dụng cho một truy vấn nhất định, chúng được kết hợp bằng cách sử dụnghoặc(Đối với các kèo chấp bóng đá hôm nay cho phép, là mặc định) hoặc sử dụng(cho các kèo chấp bóng đá hôm nay hạn chế). Điều này tương tự như quy tắc mà một vai trò nhất định có đặc quyền của tất cả các vai trò mà họ là thành viên của. Các kèo chấp bóng đá hôm nay cho phép so với hạn chế được thảo luận thêm bên dưới.

Như một ví dụ đơn giản, đây là cách tạo kèo chấp bóng đá hôm nay trêntài khoảnMối quan hệ chỉ cho phép các thành viên củaNgười quản lývai trò của các kèo chấp bóng đá hôm nay truy cập và chỉ các kèo chấp bóng đá hôm nay tài khoản của họ:

Tạo tài khoản bảng (văn bản trình quản lý, văn bản công ty, văn bản contact_email);

Thay đổi tài khoản bảng cho phép bảo mật cấp kèo chấp bóng đá hôm nay;

Tạo tài khoản chính sách_Managers trên tài khoản cho người quản lý
    Sử dụng (trình quản lý = current_user);

kèo chấp bóng đá hôm nay trên hoàn toàn cung cấp Avới kiểm tramệnh đề giống hệt với nóSử dụngmệnh đề, để ràng buộc áp dụng cả hai cho các kèo chấp bóng đá hôm nay được chọn bởi một lệnh (để người quản lý không thểChọn, 13582_13590hoặcXóaCác kèo chấp bóng đá hôm nay hiện tại thuộc về một trình quản lý khác) và các kèo chấp bóng đá hôm nay được sửa đổi bởi một lệnh (do đó các kèo chấp bóng đá hôm nay thuộc về một trình quản lý khác không thể được tạo thông quaChènhoặcCập nhật).

Nếu không có vai trò nào được chỉ định hoặc tên người dùng đặc biệtcông khaiđược sử dụng, sau đó chính sách áp dụng cho tất cả người dùng trên hệ thống. Để cho phép tất cả người dùng chỉ truy cập kèo chấp bóng đá hôm nay của riêng họ trong mộtNgười dùngBảng, một kèo chấp bóng đá hôm nay đơn giản có thể được sử dụng:

Tạo kèo chấp bóng đá hôm nay user_policy trên người dùng
    Sử dụng (user_name = current_user);

Điều này hoạt động tương tự như ví dụ trước.

Để sử dụng một chính sách khác cho các kèo chấp bóng đá hôm nay đang được thêm vào bảng so với các kèo chấp bóng đá hôm nay có thể nhìn thấy, nhiều chính sách có thể được kết hợp. Cặp chính sách này sẽ cho phép tất cả người dùng xem tất cả các kèo chấp bóng đá hôm nay trongngười dùngBảng, nhưng chỉ sửa đổi của riêng họ:

14630_14782

trong AChọnLệnh, hai kèo chấp bóng đá hôm nay này được kết hợp bằng cách sử dụnghoặc, với hiệu ứng ròng là tất cả các kèo chấp bóng đá hôm nay có thể được chọn. Trong các loại lệnh khác, chỉ áp dụng chính sách thứ hai, để các hiệu ứng giống như trước đây.

Bảo mật kèo chấp bóng đá hôm nay cũng có thể bị vô hiệu hóa vớiBảng thay đổilệnh. Vô hiệu hóa bảo mật kèo chấp bóng đá hôm nay không xóa bất kỳ chính sách nào được xác định trên bảng; Họ chỉ đơn giản là bị bỏ qua. Sau đó, tất cả các kèo chấp bóng đá hôm nay trong bảng đều có thể nhìn thấy và có thể sửa đổi, tùy thuộc vào hệ thống đặc quyền SQL tiêu chuẩn.

Dưới đây là một ví dụ lớn hơn về cách tính năng này có thể được sử dụng trong môi trường sản xuất. BảngPasswdMô phỏng tệp mật khẩu Unix:

15588_17440

Như với bất kỳ cài đặt bảo mật nào, điều quan trọng là phải kiểm tra và đảm bảo rằng hệ thống đang hoạt động như mong đợi. Sử dụng ví dụ trên, điều này chứng minh rằng hệ thống quyền đang hoạt động tốt.

17681_19641

Tất cả các kèo chấp bóng đá hôm nay được xây dựng cho đến nay là các kèo chấp bóng đá hôm nay cho phép, có nghĩa là khi nhiều kèo chấp bóng đá hôm nay được áp dụng, chúng được kết hợp bằng cách sử dụngHồihoặcxôngNhà điều hành Boolean. Mặc dù các chính sách cho phép có thể được xây dựng để chỉ cho phép truy cập vào các kèo chấp bóng đá hôm nay trong các trường hợp dự định, nhưng có thể đơn giản hơn để kết hợp các chính sách cho phép với các chính sách hạn chế (mà các hồ sơ phải được thông qua và được kết hợp bằng cách sử dụngxôngNhà điều hành Boolean). Dựa trên ví dụ trên, chúng tôi thêm kèo chấp bóng đá hôm nay hạn chế để yêu cầu quản trị viên được kết nối qua ổ cắm unix cục bộ để truy cập các hồ sơ củaPasswdBảng:

Tạo kèo chấp bóng đá hôm nay admin_local_only trên passwd là hạn chế đối với quản trị viên
    Sử dụng (pg_catalog.inet_client_addr () là null);

Sau đó, chúng ta có thể thấy rằng một quản trị viên kết nối qua mạng sẽ không thấy bất kỳ bản ghi nào, do kèo chấp bóng đá hôm nay hạn chế:

= Chọn current_user;
 current_user 
--------------
 quản trị viên
(1 kèo chấp bóng đá hôm nay)

= Chọn inet_client_addr ();
 inet_client_addr 
------------------
 127.0.0.1
(1 kèo chấp bóng đá hôm nay)

= Chọn current_user;
 current_user 
--------------
 quản trị viên
(1 kèo chấp bóng đá hôm nay)

= Bảng Passwd;
 user_name | PWHASH | uid | gid | Real_name | home_phone | Extra_info | home_dir | vỏ bọc
-----------+--------+-----+-----+-----------+------------+------------+----------+-------
(0 kèo chấp bóng đá hôm nay)

= Cập nhật passwd đặt pwhash = null;
Cập nhật 0

Kiểm tra tính toàn vẹn tham chiếu, chẳng hạn như các ràng buộc chính hoặc chính và các tài liệu tham khảo khóa nước ngoài, luôn luôn bỏ qua bảo mật kèo chấp bóng đá hôm nay để đảm bảo rằng tính toàn vẹn của dữ liệu được duy trì. Phải cẩn thận khi phát triển các lược đồ và chính sách cấp kèo chấp bóng đá hôm nay để tránhKênh Covertkèo chấp bóng đá hôm nayrò rỉ thông tin thông qua kiểm tra tính toàn vẹn tham chiếu như vậy.

Trong một số bối cảnh, điều quan trọng là phải chắc chắn rằng bảo mật kèo chấp bóng đá hôm nay không được áp dụng. Ví dụ, khi lấy một bản sao lưu, nó có thể là thảm họa nếu bảo mật kèo chấp bóng đá hôm nay âm thầm khiến một số kèo chấp bóng đá hôm nay bị bỏ qua từ bản sao lưu. Trong tình huống như vậy, bạn có thể đặtRow_SecurityTham số cấu hình thànhTẮT. Điều này không tự mình bỏ qua bảo mật kèo chấp bóng đá hôm nay; Những gì nó làm là ném một lỗi nếu bất kỳ kết quả của bất kỳ truy vấn nào sẽ được lọc bởi một chính sách. Lý do cho lỗi sau đó có thể được điều tra và sửa chữa.

22204_22568Chọns hoặc các chức năng chứaChọn22665_22870

22903_24283

Bây giờ giả sử rằngAlicemuốn thay đổiBí mật hơiHồiThông tin, nhưng quyết định rằngMalloryKhông nên tin tưởng vào nội dung mới của kèo chấp bóng đá hôm nay đó, vì vậy cô ấy làm:

Bắt đầu;
Cập nhật người dùng đặt nhóm_id = 1 trong đó user_name = 'mallory';
Cập nhật thông tin đặt thông tin = 'Bí mật từ Mallory' trong đó group_id = 2;
LÀM;

Trông an toàn; Không có cửa sổ trong đóMallorysẽ có thể xemBí mật từ MalloryHồiChuỗi. Tuy nhiên, có một điều kiện cuộc đua ở đây. Nếu nhưMalloryđang làm đồng thời, nói,

25101_25161

Và giao dịch của cô ấy ởĐọc cam kếtchế độ, cô ấy có thể nhìn thấyBí mật từ Mallory. Điều đó xảy ra nếu giao dịch của cô ấy đạt đếnThông tinkèo chấp bóng đá hôm nay ngay sauAlice's. Nó chặn chờAliceS giao dịch để cam kết, sau đó tìm nạp nội dung kèo chấp bóng đá hôm nay được cập nhật nhờđể cập nhậtmệnh đề. Tuy nhiên, nó khôngkhôngTìm nạp một kèo chấp bóng đá hôm nay được cập nhật cho ẩnChọntừNgười dùng, vì phụ đóChọnkhông cóđể cập nhật; Thay vào đóngười dùngkèo chấp bóng đá hôm nay được đọc với ảnh chụp nhanh được thực hiện khi bắt đầu truy vấn. Do đó, biểu thức chính sách kiểm tra giá trị cũ củaMallory

Có một số cách xung quanh vấn đề này. Một câu trả lời đơn giản là sử dụngChọn ... để chia sẻtrong Sub-Chọns Chính sách bảo mật kèo chấp bóng đá hôm nay. Tuy nhiên, điều đó yêu cầu cấp​​Cập nhậtĐặc quyền trên bảng được tham chiếu (ở đâyngười dùng) cho người dùng bị ảnh hưởng, có thể không mong muốn. (Nhưng một chính sách bảo mật kèo chấp bóng đá hôm nay khác có thể được áp dụng để ngăn họ thực sự thực hiện đặc quyền đó; hoặc phụ-Chọn26782_27077quyền truy cập độc quyềnKhóa trên bảng được tham chiếu khi cập nhật nó, để không có giao dịch đồng thời nào có thể kiểm tra các giá trị kèo chấp bóng đá hôm nay cũ. Hoặc người ta chỉ có thể chờ tất cả các giao dịch đồng thời kết thúc sau khi thực hiện cập nhật bảng được tham chiếu và trước khi thực hiện các thay đổi dựa vào tình huống bảo mật mới.

Để biết thêm chi tiết, xemTạo kèo chấp bóng đá hôm nayBẢNG ALTER.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.