ต่อไปนี้เป็นรายการของคำสั่งที่ดูเหมือนว่าจะทำงานเพื่อสร้างผู้ใช้ใหม่ (เข้าสู่ระบบ) และให้สิทธิ์การเข้าถึงแบบอ่านอย่างเดียวสำหรับหนึ่งตารางที่ระบุบน 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
? เป็นเช่นนั้นเสมอหรือไม่