[DB2] ตรวจสอบ Privileges, Authorities and Authorizations ของฐานข้อมูล

บทความนี้จริงๆ คิดจะเขียนมานานและ แต่ลีมเขียน Draft ไว้ วันนี้พอดีลองเอา DB ของระบบเดิมมาขึ้น เพื่อมา Port ออกมาเป็นระบบใหม่บน .Net แต่ดันติดเรื่องสิทธิ์ใน Database ของระบบเก่า ในเมื่อได้โอกาสอันควรมาแล้ว ก็มาเริ่มอธิบายกันเลยครับ เดี๋ยวลืมไปอีก โดยก่อนที่เรามารู้เรื่องสิทธิ โดยคำว่าสิทธ์เนี่ยเป็นคำกว่าๆครับ เรามารู้จักคำที่เจาะจงไปกว่านี้ ดีกว่าครับ รู้จักสามคำนี้แล้ว สิ่งที่เราต้องรู้ คือ ความสัมพันธ์ของ 3 คำนี้ครับ โดยเราเข้าไปจัดการ Database ได้นี่ ต้องมี user ที่ได้รับการให้อำนาจ(Authorizations) ให้มีสิทธิการในการจัดการ(Privileges) และมีอำนาจในการจัดการ(Authorities) ครับ สำหรับ View (หรือ อาจจะเรียกว่าเป็น Catalog) ที่เกี่ยวกับ Privileges, Authorities and Authorizations มี ดังนี้ครับ SYSTEM CATALOG คำอธิบาย SYSCAT.DBAUTH แสดงสิทธิต่างๆใน Database SYSCAT.TABAUTH แสดงสิทธิต่างๆใน Table และ View SYSCAT.COLAUTH แสดงสิทธิต่างๆใน Column SYSCAT.PACKAGEAUTH แสดงสิทธิต่างๆใน Package SYSCAT.INDEXAUTH แสดงสิทธิต่างๆใน Index SYSCAT.SCHEMAAUTH แสดงสิทธิต่างๆใน Schema SYSCAT.PASSTHRUAUTH แสดงสิทธิต่างๆใน Server SYSCAT.ROUTINEAUTH แสดงสิทธิต่างๆในงานที่เป็น routine ได้แก่ Function, Method และ Store Procedures สำหรับ Field ในแต่ละ Catalog สามารถดูได้จาก Command ดังนี้ และท้ายที่สุดครับ คือ Query สำหรับตรวจสอบสิทธิของแต่ละ User ใน Catalog ครับ หมายเหตุ: Column…



