intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bổ sung các khả năng an toàn mới trong DB2 9.5, Phần 2: Hiểu rõ các bối cảnh tin cậy

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:36

71
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'bổ sung các khả năng an toàn mới trong db2 9.5, phần 2: hiểu rõ các bối cảnh tin cậy', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Bổ sung các khả năng an toàn mới trong DB2 9.5, Phần 2: Hiểu rõ các bối cảnh tin cậy

  1. Bổ sung các khả năng an toàn mới trong DB2 9.5, Phần 2: Hiểu r õ các bối cảnh tin cậy Bảo đảm an toàn cho cơ sở dữ liệu của bạn Paul Read, Giám đốc giới thiệu sản phẩm của IBM, EMC Tóm tắt: IBM® DB2® 9.5 cung cấp các tùy chọn mới để bảo đảm an toàn chặt chẽ hơn và cho phép các mức độ chi tiết và linh hoạt hơn trong việc quản trị cơ sở dữ liệu. Hướng dẫn này là phần đầu tiên trong hai hướng dẫn nói về các vai trò (roles) và các bối cảnh tin cậy. Hãy làm theo các bài tập trong hướng dẫn này, và tìm hiểu cách tận dụng các đặc tính mới là vai trò của DB2 trong việc phối hợp với các công nghệ e-business cốt yếu khác như các dịch vụ Web, máy chủ ứng dụng Web và máy chủ cơ sở dữ liệu DB2. Trước khi bạn bắt đầu Hướng dẫn Một bối cảnh tin cậy thiết lập một mối quan hệ tin cậy giữa DB2 và một thực thể ngoài, như một máy chủ Web, một máy chủ ứng dụng hay một máy chủ DB2 khác. Trong thời gian kết nối, máy chủ DB2 kiểm tra xem kết nối đã phù hợp với định nghĩa của một đối tượng bối cảnh tin cậy trong cơ sở dữ liệu chưa. Khi đã phù hợp, kết nối cơ sở dữ liệu này được nói là tin cậy. Việc sử dụng các bối cảnh tin cậy cung cấp khả năng kiểm soát lớn hơn, trong khi chỉ sử dụng các quyền ưu tiên nhạy cảm, có hạn chế. Nó cũng cho phép các máy chủ hay các ứng dụng lớp giữa xác định nhận dạng của người sử dụng với máy chủ cơ sở dữ liệu. Để biết thêm thông tin về các bối cảnh tin cậy, xem bài "Sử dụng bối cảnh tin cậy trong các ứng dụng khách của DB2" (developerWorks, 09. 2006). Về hướng dẫn này Hướng dẫn đưa bạn qua một loạt các bài tập để bạn tự làm quen với các bối cảnh tin cậy, một đặc tính mới của DB2 9.5. Hướng dẫn này tiếp theo Phần1 của loạt bài này, trong đó đã nói về các khái niệm và các đặc tính của các vai trò trong DB2. Nó trình diễn cách làm sao để lợi dụng đặc tính mới này của DB2 và cách làm sao để sử dụng các vai trò kết hợp với các
  2. công nghệ e-business cốt yếu khác như các dịch vụ Web, máy chủ ứng dụng Web, và máy chủ cơ sở dữ liệu DB2. Các mục tiêu Hướng dẫn này giúp bạn làm quen với các khái niệm và các đặc tính của các bối cảnh tin cậy trong DB2 9.5. Trong các bài tập này, hãy tìm hiểu: 1. Các khái niệm cơ bản về các bối cảnh tin cậy 2. Làm sao để tạo ra và quản lý một bối cảnh tin cậy 3. Làm sao để sử dụng các bối cảnh tin cậy trong một chương trình mẫu 4. Cơ sở về xác định vấn đề Các điều kiện cần có trước Hướng dẫn được viết cho các chuyên gia DB2 có kỹ năng và kinh nghiệm ở mức bắt đầu tới mức trung cấp. Bạn cần phải quen thuộc với việc sử dụng một d òng lệnh DB2, lập trình CLI, và có kiến thức thực tế về quản lý cơ sở dữ liệu. Các yêu cầu về hệ thống Để thực hiện các ví dụ trong hướng dẫn này, bạn cần có các chương trình: DB2 9.5 Express-C  Microsoft Windows 2003, XP hay Linux (môi trường đã hợp lệ)  Phiên bản Java® Runtime Environment 1.4.2 hoặc mới hơn 
  3. Ngoài ra bạn phải bảo đảm phần cứng của mình đáp ứng được các yêu cầu chạy DB2 9.5. (Xem trang Các yêu cầu hệ thống.) Bản tải về DB2 9.5 Express-C có sẵn trong đường liên kết ở trên. DB2 9.5 là một bản cài đặt đầy đủ, không phải là bản vá lỗi nâng cấp. Theo mặc định, DB2 sẽ tự động khởi động sau khi cài đặt trừ khi bạn cài đặt nó không khởi động tự động. Sử dụng các kịch bản lệnh và dữ liệu mẫu có trong tệp tin nén kèm theo (xem phần Tải về) để giải thích các khái niệm trong hướng dẫn này. Giải nén tệp tin, chứa các nội dung vào trong một thư mục con có tên là DB2Roles (C:\DB2Roles hay home/userid/DB2Roles). Thư mục này sẽ được nói đến với tên đơn giản là DB2Roles, xuyên suốt toàn bộ hướng dẫn này. Hướng dẫn này cũng giả thiết rằng bạn sử dụng các thư mục mặc định trong khi cài đặt DB2 và yêu cầu bạn tạo ra một số userid (tên nhận dạng người dùng) và tất cả các bài tập sẽ sử dụng các userid được tạo ra này. Định nghĩa một bối cảnh tin cậy Các bối cảnh tin cậy giới thiệu khái niệm về các quyền ưu tiên nhạy bối cảnh (context-sensitive). Các quyền ưu tiên cảm bối cảnh cho phép một tổ chức có quyền kiểm soát nhiều hơn về việc lúc nào (trong bối cảnh nào) một người sử dụng có một quyền ưu tiên nào đó. Ví dụ, một tổ chức có thể muốn một giám đốc chỉ có khả năng truy nhập vào bảng lương khi giám đốc kết nối tới cơ sở dữ liệu từ bên trong các văn phòng của công ty, nhưng không truy nhập được khi giám đốc kết nối từ nhà. Theo truyền thống, tất cả các tương tác với máy chủ cơ sở dữ liệu xảy ra thông qua một kết nối cơ sở dữ liệu được thiết lập bởi lớp giữa, sử dụng một tổ hợp gồm ID của người sử dụng và một sự uỷ nhiệm, chứng nhận lớp giữa đó với máy chủ cơ sở dữ liệu. Nói cách khác, máy chủ cơ sở dữ liệu sử dụng các quyền cơ sở dữ liệu gắn kết với ID người sử dụng lớp giữa, phục vụ mọi bước kiểm tra cấp phép và kiểm toán tài khoản phải thực hiện trong bất kỳ truy nhập cơ sở dữ liệu nào, bao gồm những truy nhập do lớp giữa thay mặt người sử dụng thực hiện. Hình 1 1 minh họa mô hình ứng dụng có 3 lớp. Mặc dù mô hình ứng dụng 3 lớp có nhiều lợi ích, thì việc tất cả các tương tác với máy chủ cơ sở dữ liệu (ví dụ, một yêu cầu của người sử dụng) xảy ra dưới ID cấp phép của lớp giữa gây ra một số quan ngại về an toàn..
  4. Hình 1. Mô hình ứng dụng có ba lớp Các khả năng về bối cảnh tin cậy của DB2 được thiết kế đặc biệt để giải quyết các mối quan ngại về an toàn này. Độ an toàn được tăng cường vì nó sử dụng nhận dạng và quyền ưu tiên thực tế của người sử dụng để thực hiện các hoạt động cơ sở dữ liệu. Hiệu năng có thể được nâng cao do không cần có kết nối mới khi bạn chuyển đổi người sử dụng; nếu người sử dụng mới cần phải được xác thực, thì sẽ không có quá tải vì xác thực người sử dụng mới tại máy chủ cơ sở dữ liệu: ID được cấp phép của hệ thống: Đây là ID được cấp phép, đại diện cho  người sử dụng thiết lập một kết nối cơ sở dữ liệu. Địa chỉ IP (hay tên miền): Là địa chỉ IP mà từ đó thiết lập kết nối cơ sở dữ  liệu . Mật mã hóa luồng dữ liệu: Đây là mức mật mã hóa (nếu có) được dùng để  mật mã hóa truyền dẫn dữ liệu giữa máy chủ cơ sở dữ liệu và người sử dụng kết nối đến. Khi một kết nối cơ sở dữ liệu được thiết lập, DB2 so sánh các thuộc tính của kết nối đó với các định nghĩa của từng đối tượng bối cảnh tin cậy trong cơ sở dữ liệu. Nếu các thuộc tính kết nối phù hợp với định nghĩa của một đối tượng bối cảnh tin cậy, kết nối đó được coi như là một kết nối tin cậy. Một kết nối tin cậy cho phép người khởi đầu kết nối đó nhận được các khả năng bổ sung thêm thường không có sẵn, nếu ở ngoài phạm vi kết nối tin cậy đó. Xây dựng môi trường Hướng dẫn này sử dụng khung công tác đã xây dựng trong Phần 1, "Hiểu các vai trò trong DB2 9.5" (developerWorks, 12.2007). N ếu bạn đã hoàn thành Phần 1,
  5. tiếp tục đi tới phần "Quản lý bối cảnh tin cậy". Nếu không, bạn cần xây dựng môi trường cơ sở theo chỉ dẫn sau đây. Phần này giới thiệu một số mã lệnh mẫu, có sẵn để tải xuống cùng với hướng dẫn này, để mô tả hành vi của các vai trò. (Xem phần Tải về .) Các mẫu dựa vào các đối tượng cơ sở dữ liệu có thể được bổ sung vào cơ sở dữ liệu SAMPLE. Tất cả các kịch bản lệnh cho phần này nằm trong thư mục con Section 2. Để chạy các kịch bản lệnh trong một cửa sổ lệnh DB2, sử dụng lệnh: db2 –tvf scriptname.sql Các hướng dẫn Đầu tiên, hãy đăng nhập vào hệ thống của bạn bằng userid của người quản trị/userid gốc, rồi tạo ra các userid sau: DB2SEC cho SECADM  MARK, ALLY, và SAUL sẽ là nhóm quản lý  ADAM, DEBS, PETE, YANG, MARY, và ANNE  ROSE, STAN, ALAN, LORI, EVAN, và KLEM  Các userid này không cần có bất kỳ các quyền hành động đặc biệt nào do chúng sẽ chỉ được sử dụng với cơ sở dữ liệu DB2; tất cả các quyền ưu tiên và quyền hành động cần thiết sẽ được phát ra bằng SQL. Bạn cũng cần một nhóm có tên là Pension_gp. Đặt Rose vào trong nhóm này. Không thiết lập bất kỳ các quyền hạn nhóm nào. Nếu sử dụng Windows, hãy chắc rằng những người sử dụng trên không nằm trong nhóm Administrators. Sơ đồ sau cho thấy sự phân cấp trong công ty và các vai trò sẽ được sử dụng trong các bài tập.: Hình 2. Cấu trúc của các vai trò
  6. Cần chú ý rằng một số tên xuất hiện trong hai hộp vì một số cá nhân có công việc ở cả hai ban và vì thế họ cần có nhiều hơn một role. KLEM là một người mới được tuyển dụng nên anh ta chưa được gán tới một role nào. Trong các bài tập sau đây, DB2inst1 được sử dụng như người quản trị cơ sở dữ liệu DB2 và cơ sở dữ liệu SAMPLE được dùng làm cơ sở dữ liệu. Tất cả các kịch bản lệnh đều sử dụng userid DB2inst1 và một mật khẩu là "password". Bạn phải soạn thảo các kịch bản lệnh khớp với hệ thống của mình nếu bạn sử dụng một cơ sở dữ liệu hay số ID quản trị cơ sở dữ liệu (DBA) khác. Xin kiểm tra xem cơ sở dữ liệu "Sample" hay cơ sở dữ liệu khả dụng khác đã tồn tại chưa. Nếu không, bạn cần sử dụng lệnh DB2SAMPL , để tạo ra cơ sở dữ liệu SAMPLE vì nó được sử dụng xuyên suốt các phần còn lại của hướng dẫn này. Bây giờ, hãy thêm những người sử dụng mới và các bảng mới vào cơ sở dữ liệu cho tập hợp các bài tập này: 1. Thêm những người sử dụng vào cơ sở dữ liệu. 2. Nối đến cơ sở dữ liệu như là DBA và cấp các quyền ưu tiên sau đây: Liệt kê lệnh 1. Cấp các quyền cho những ng ười sử dụng cơ sở dữ liệu GRANT CONNECT ON DATABASE TO USER MARK;
  7. GRANT CONNECT ON DATABASE TO USER ALLY; GRANT CONNECT ON DATABASE TO USER ADAM; GRANT CONNECT ON DATABASE TO USER DEBS; GRANT CONNECT ON DATABASE TO USER PETE; GRANT CONNECT ON DATABASE TO USER YANG; GRANT CONNECT ON DATABASE TO USER SAUL; GRANT CONNECT ON DATABASE TO USER MARY; GRANT CONNECT ON DATABASE TO USER ANNE; GRANT CONNECT ON DATABASE TO USER ROSE; GRANT CONNECT ON DATABASE TO USER STAN; GRANT CONNECT ON DATABASE TO USER ALAN; GRANT CONNECT ON DATABASE TO USER LORI; GRANT CONNECT ON DATABASE TO USER EVAN; GRANT SECADM ON DATABASE TO USER DB2SEC;
  8. 3. hoặc sử dụng kịch bản lệnh AddUsers.sql để bổ sung thêm những người sử dụng mới. 4. Tạo các bảng mới cho cơ sở dữ liệu SAMPLE bằng kịch bản lệnh luwebase.sql. Nó giả thiết rằng bạn đang đặt các bảng vào trong USERSPACE1. Phần sau đây bổ sung thêm các bảng cơ sở: Liệt kê lệnh 2. Bổ sung thêm các bảng cơ sở LE_DEPARTMENT LE_EMPLOYEE LE_EMP_PHOTO LE_EMP_RESUME LE_ORG LE_SALES LE_PENSIONS 5. 6. Nạp dữ liệu vào trong các bảng mới bằng kịch bản lệnh luweload.sql. Bạn phải soạn thảo kịch bản lệnh cho Linux hoặc khi bạn thay đổi các vị trí của các tệp nạp vào.
  9. 7. Hoàn thành công việc cài đặt, hãy chạy kịch bản lệnh luweplus.sql để tạo ra các khung nhìn, các chỉ mục và các đối tượng cơ sở dữ liệu khác bổ sung thêm. 8. Tạo vai trò cơ sở, sử dụng lệnh sau: Liệt kê lệnh 3. Tạo các vai trò cơ sở CREATE ROLE Sales; CREATE ROLE Mktg; CREATE ROLE Admin; CREATE ROLE Payroll; CREATE ROLE Pension; CREATE ROLE SalesMgr; CREATE ROLE AdminMgr; CREATE ROLE CEO; 9. hoặc sử dụng kịch bản lệnh CreateRoles.sql để bổ sung thêm vai trò mới. 10. Cấp quyền cho các vai trò bằng lệnh sau đây: Liệt kê lệnh 4. Cấp các quyền cho các vai trò
  10. GRANT SELECT ON TABLE db2inst1.le_org TO ROLE Sales; GRANT SELECT, UPDATE, INSERT ON TABLE db2inst1.le_sales TO ROLE Sales; GRANT SELECT ON TABLE db2inst1.le_org TO ROLE Mktg; GRANT SELECT ON TABLE db2inst1.le_sales TO ROLE Mktg; GRANT SELECT ON TABLE db2inst1.le_department TO ROLE Admin; GRANT SELECT ON TABLE db2inst1.le_employee TO ROLE Admin; GRANT SELECT ON TABLE db2inst1.le_org TO ROLE Admin; GRANT SELECT ON TABLE db2inst1.le_sales TO ROLE Admin; GRANT UPDATE ON TABLE db2inst1.le_department TO ROLE Admin; GRANT UPDATE ON TABLE db2inst1.le_employee TO ROLE Admin; GRANT SELECT ON TABLE db2inst1.le_department TO ROLE Payroll; GRANT SELECT ON TABLE db2inst1.le_emp_photo TO ROLE Payroll; GRANT SELECT ON TABLE db2inst1.le_emp_resume TO ROLE Payroll;
  11. GRANT SELECT ON TABLE db2inst1.le_pensions TO ROLE Payroll; GRANT UPDATE, INSERT, DELETE ON TABLE db2inst1.le_employee TO ROLE Payroll; GRANT SELECT, UPDATE, INSERT, DELETE, ALTER ON TABLE db2inst1.le_pensions TO ROLE Pension; 11. hoặc sử dụng kịch bản lệnh AssignRoles.sql để tạo các vai trò. 12. Bây giờ bạn cần đặt các cá nhân vào trong vai trò tương ứng với họ. Cấp tư cách thành viên của các vai trò, sử dụng lệnh sau: Liệt kê lệnh 5. Cấp tư cách thành viên của các vai trò GRANT ROLE SalesMgr, AdminMgr to ROLE CEO; GRANT ROLE CEO TO USER Mark; GRANT ROLE Admin, Payroll to ROLE AdminMgr; GRANT ROLE AdminMgr TO USER Ally; GRANT ROLE Sales, Mktg to ROLE SalesMgr; GRANT ROLE SalesMgr TO USER Saul; GRANT ROLE Admin TO USER Adam, Debs, Mary;
  12. GRANT ROLE Mktg TO USER Mary, Anne, Rose; GRANT ROLE Payroll TO USER Adam, Pete, Yang; GRANT ROLE Pension TO USER Yang; GRANT ROLE Sales TO USER Stan, Alan, Lori, Evan; 13. hoặc sử dụng kịch bản lệnh AssignUsers.sql để cấp tư cách thành viên của các vai trò. Xin hãy kiểm tra các lỗi và các cảnh báo khi bạn chạy các kịch bản lệnh SQL. Bạn có thể cũng muốn kiểm tra các đối tượng, sử dụng Trung tâm điều khiển hay công cụ khác để xác nhận xem bạn có các bảng và dữ liệu chưa. Quản lý bối cảnh tin cậy Cách dùng các bối cảnh tin cậy Xin chú ý rằng chỉ một bối cảnh tin cậy có thể được chỉ rõ cho một authid và bối cảnh tin cậy sẽ không làm việc trên một cơ sở dữ liệu tại chỗ. Trong DB2 9.5, bạn có thể tạo ra một đối tượng bối cảnh tin cậy trong cơ sở dữ liệu để định nghĩa một mối quan hệ tin cậy giữa cơ sở dữ liệu và máy chủ ứng dụng lớp giữa. Máy chủ ứng dụng lớp giữa sau đó có thể thiết lập một kết nối tin cậy tường minh (explicit) tới cơ sở dữ liệu, cho phép ứng dụng lớp giữa chuyển ID của người sử dụng hiện tại trên kết nối này sang một ID của người sử dụng khác, có hoặc không cần xác thực. Các bối cảnh tin cậy tạo ra một cơ chế mà nhờ đó việc nhận dạng người sử dụng thực tế và các quyền cơ sở dữ liệu của người đó, được dùng phục vụ các yêu cầu cơ sở dữ liệu do ứng dụng lớp giữa thay mặt người sử dụng thực hiện. Hơn nữa, các bối cảnh tin cậy cho phép bạn kiểm soát khi nào một quyền ưu tiên có hiệu lực với một người sử dụng cơ sở dữ liệu.
  13. Giả thiết tất cả các kịch bản lệnh và các chương trình nằm trong thư mục DB2TC. Nếu bạn thay đổi tên thư mục, bạn có thể phải biên tập lại các kịch bản lệnh. Thiết lập một cơ sở dữ liệu từ xa Để mô phỏng một cơ sở dữ liệu từ xa, bạn có thể sử dụng vòng phản hồi và định nghĩa cơ sở dữ liệu tại chỗ, hiểu các bối cảnh tin cậy như là từ xa. Một phương pháp để đạt được điều này là như sau: 1. Khởi động Trung tâm điều khiển DB2. 2. Nhấn chuột phải vào nút All Databases (tất cả cơ sở dữ liệu), và chọn Add... 3. Gõ hostname là 127.0.0.1, và chọn nút Search . 4. Chọn cơ sở dữ liệu SAMPLE, gõ nhập vào SAMPLER làm bí danh DB, và nhấp OK. 5. Nhấn chuột phải vào nút cơ sở dữ liệu SAMPLER, và chọn Connect. 6. Nhập vào userid và mật khẩu đã chọn của các bạn khi được nhắc kiểm tra kết nối. Chúng tôi khuyến cáo rằng bạn soạn thảo tệp tin Hosts của mình để tạo ra các mục cần thiết cho các bước thử này: Giao thức truyền thông các bối cảnh tin cậy Xin lưu ý rằng giao thức truyền thông duy nhất được bối cảnh tin cậy hỗ trợ là TCP/IP. Các địa chỉ có thể được chỉ rõ theo định dạng IPv4, IPv6, hay DNS. Chúng tôi khuyến cáo bạn sử dụng định dạng DNS để các địa chỉ không bị mã hoá cứng vào trong cơ sở dữ liệu. 127.0.0.1 localhost 192.168.73.134 host1.Admin.LUWent.com ở đây địa chỉ IP cho host1 là địa chỉ IP vật lý của máy bạn.
  14. Chúng ta hãy khám phá cách tạo, thay đổi, và loại bỏ các bối cảnh tin cậy: 1. Nối tới cơ sở dữ liệu bằng userid SECADM. (Nếu bạn sử dụng các userid từ Phần 1, thì đó là DB2SEC). Sau đó thử tạo ra bối cảnh tin cậy đầu tiên của bạn: Liệt kê lệnh 6. Tạo bối cảnh tin cậy đầu tiên CREATE TRUSTED CONTEXT MktgTrustedContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS 'qwerty', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg ENABLE; 2. hoặc sử dụng kịch bản lệnh MktgTCFail.sql. Kịch bản lệnh này thất bại với DB21034E vì địa chỉ đã cho là không hợp lệ. Liệt kê lệnh 7. Bối cảnh tin cậy đầu tiên thất bại CREATE TRUSTED CONTEXT MktgTrustedContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS 'qwerty', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg
  15. ENABLE DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL0644N Invalid value specified for keyword "ADDRESS" in statement "TRUSTED CONTEXT". SQLSTATE=42615 3. 4. Nối tới cơ sở dữ liệu bằng userid SECADM, và sau đó thử tạo ra bối cảnh tin cậy đầu tiên thành công của bạn. Lần này cung cấp một địa chỉ hợp lệ: Liệt kê lệnh 8. Tạo ra bối cảnh tin cậy hợp lệ CREATE TRUSTED CONTEXT MktgTruste dContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS 'localhost', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg ENABLE; 5. hoặc sử dụng kịch bản lệnh MktgTC.sql. Kịch bản lệnh này cần phải thành
  16. công. Liệt kê lệnh 9. Tạo ra bối cảnh tin cậy thành công CREATE TRUSTED CONTEXT MktgTrustedContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS '127.0.0.1', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg ENABLE DB20000I The SQL command completed successfully. 6. 7. Nối tới cơ sở dữ liệu bằng userid SECADM, và sau đó thử tạo ra một bối cảnh tin cậy thứ hai cho Ally. Điều này sẽ thất bại bởi vì bạn có thể chỉ có một bối cảnh tin cậy cho mỗi người sử dụng: Liệt kê lệnh 10. Tạo ra bối cảnh tin cậy thứ hai cho Ally CREATE TRUSTED CONTEXT DupTrustedContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS 'localhost', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg ENABLE;
  17. 8. hoặc sử dụng kịch bản lệnh DupTC.sql. Kịch bản lệnh này sẽ không thành công. Liệt kê lệnh 11. Tạo ra bối cảnh tin cậy thứ hai cho Ally thất bại CREATE TRUSTED CONTEXT DupTrustedContext BASED UPON CONNECTION USING SYSTEM AUTHID Ally ATTRIBUTES ( ADDRESS '127.0.0.1', ENCRYPTION 'HIGH') DEFAULT ROLE Mktg ENABLE DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: SQL20372N The trusted context "DUPTRUSTEDCONTEXT" specified authorization ID "ALLY " which is already specified for another trusted context. SQLSTATE=428GL 9. 10. Bây giờ, thay đổi bối cảnh tin cậy hiện tại cho Ally để cho phép cô ấy chuyển ID thành Stan mà không cần xác thực. Nối tới cơ sở dữ liệu bằng userid SECADM, và sau đó thay đổi MktgTrustedContext để thêm việc sử dụng cho Stan. ALTER TRUSTED CONTEXT MktgTrustedContext
  18. ADD USE FOR Stan WITHOUT AUTHENTICATION; 11. hoặc sử dụng kịch bản lệnh AltTC.sql. Kịch bản lệnh này cần phải thành công. Liệt kê lệnh 12. Kịch bản lệnh thành công ALTER TRUSTED CONTEXT MktgTrustedContext ADD USE FOR Stan WITHOUT AUTHENTICATION DB20000I The SQL command completed successfully. 12. 13. Đôi khi, bạn có thể muốn vô hiệu hóa một bối cảnh tin cậy để tạm thời ngăn không cho sử dụng nó. Nối tới cơ sở dữ liệu bằng userid SECADM , và sau đó thay đổi MktgTrustedContext để vô hiệu hóa bối cảnh tin cậy. ALTER TRUSTED CONTEXT MktgTrustedContext ALTER DISABLE; 14. hoặc sử dụng kịch bản lệnh AltTC.sql. Kịch bản lệnh này cần phải thành công. ALTER TRUSTED CONTEXT MktgTrustedContext ALTER DISABLE DB20000I The SQL command completed successfully.
  19. 15. 16. Cuối cùng, các bối cảnh tin cậy, giống như bất kỳ đối tượng cơ sở dữ liệu khác, có thể bị loại bỏ. Nối tới cơ sở dữ liệu bằng userid SECADM , và sau đó loại bỏ MktgTrustedContext. DROP TRUSTED CONTEXT MktgTrustedContext; 17. hoặc sử dụng kịch bản lệnh DropTC.sql. TKịch bản lệnh này cần phải thành công. DROP TRUSTED CONTEXT MktgTrustedContext DB20000I The SQL command completed successfully. Chuyển đổi Userid trong các kết nối tin cậy Cách dùng các bối cảnh tin cậy Xin chú ý rằng khả năng chuyển đổi chỉ có thể xảy ra thông qua hoặc một ứng dụng CLI DB2 hoặc một ứng dụng JDBC DB2. DB2 cho phép một kết nối tin cậy đã thiết lập được dùng dưới một ID được cấp phép khác. Để cho phép điều này, bối cảnh tin cậy phải được định nghĩa để sử dụng cho một ID cụ thể. Nếu chỉ rõ là PUBLIC, nó cho phép kết nối tin cậy được sử dụng bởi bất kỳ ID được cấp phép nào. Khi một kết nối tin cậy hiển được thiết lập, người khởi đầu kết nối tin cậy như vậy có được khả năng chuyển đổi ID được cấp phép của kết nối này sang một ID được cấp phép khác. Những người sử dụng chuyển đổi các bối cảnh tin cậy Sự chuyển đổi ID được cấp phép phải được tiến hành ngoài ranh giới một giao dịch, nếu không, bất kỳ giao dịch còn mở nào sẽ được cuộn ngược lại (roll back)
  20. và kết nối sẽ chấm dứt với một lỗi xuất hiện. Một thói quen tốt là hoàn thành tất cả các đơn vị công việc lôgic hay các giao dịch bằng một lệnh COMMIT WORK tường minh. Điều này thiết lập một ranh giới giao dịch và bảo đảm rằng bất kỳ công việc đang tiến hành nào cũng được hoàn thành trước khi chuyển đổi ID. Đối với mỗi đối tượng bối cảnh tin cậy, người quản trị an toàn có tùy chọn có hay không chỉ rõ danh sách của các ID mà được phép chuyển đổi tới, và có hay không cần xác thực khi tiến hành chuyển đổi. Người quản trị an toàn cũng có thể chỉ rõ một vai trò mặc định hay một vai trò thay thế cho mỗi ID cá thể. Chúng ta hãy khảo sát kỹ việc sử dụng các bối cảnh tin cậy và khả năng chuyển đổi người sử dụng: 1. Trước khi bạn tạo ra bối cảnh tin cậy cho Ally, hãy nối tới cơ sở dữ liệu SAMPLER với tư cách là Ally, và thử cập nhật bảng LE_PENSIONS: UPDATE DB2INST1.LE_PENSIONS SET BASE=BASE + 2500 WHERE EMPNO='012214' 2. hoặc sử dụng kịch bản lệnh UPDtab.sql, hoặc sử dụng kịch bản lệnh UPDtab.sql. Kịch bản lệnh này thất bại bởi vì Ally không có các quyền để thực hiện hoạt động này. Liệt kê lệnh 13. Kịch bản lệnh thất bại DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2