ต่อไปนี้เป็นรายการของคำสั่งที่ดูเหมือนว่าจะทำงานเพื่อสร้างผู้ใช้ใหม่ (เข้าสู่ระบบ) และให้สิทธิ์การเข้าถึงแบบอ่านอย่างเดียวสำหรับหนึ่งตารางที่ระบุบน PostgreSQL
สมมติว่าคำสั่งเหล่านี้จะถูกดำเนินการในการเข้าสู่ระบบด้วยสิทธิ์ที่เพียงพอ (เช่นการpostgresเข้าสู่ระบบในการติดตั้งเริ่มต้น)
CREATE ROLE user_name NOSUPERUSER NOCREATEDB
NOCREATEROLE NOINHERIT LOGIN PASSWORD 'pwd' VALID UNTIL 'infinity';
ตอนนี้ฉันต้องการอนุญาตselectบนโต๊ะtab_abcในฐานข้อมูลdb_xyzดังนั้นที่นี่มันไป (ฐานข้อมูลdb_xyzถูกเลือกเป็นปัจจุบันผ่าน PgAdmin หรืออะไรทำนองนั้น):
grant select on tab_abc to user_name;
คำถามคือ: นี่คือเพียงพอหรือควรจะมีเงินทุนมากขึ้น (ฐานข้อมูลconnect, usageอาจจะ)?
คำสั่งเหล่านี้ดูเหมือนจะใช้งานได้สำหรับฉัน แต่การติดตั้งเริ่มต้นของฉันมีการตั้งค่าความปลอดภัยเริ่มต้น ฉันควรเพิ่มอะไรเพิ่มเติมหากผู้ดูแลระบบเซิร์ฟเวอร์กำหนดค่าความปลอดภัยที่สูงขึ้น
มันดูเหมือนว่าฉันไม่ต้องการที่จะให้connectหรือusage- จะ implicite ว่าในขณะที่การอนุญาตให้select? เป็นเช่นนั้นเสมอหรือไม่