DBAtlas · Veritabanı operasyon atlası

Kullanıcı oluştur ve yetki ver (grant)

Oracle

CREATE USER app IDENTIFIED BY "Guclu#Parola1";
GRANT CREATE SESSION TO app;
GRANT SELECT, INSERT, UPDATE ON hr.calisan TO app;

CREATE SESSION olmadan kullanıcı bağlanamaz. Kota için: ALTER USER app QUOTA 100M ON users;

PostgreSQL

CREATE ROLE app LOGIN PASSWORD 'Guclu#Parola1';
GRANT CONNECT ON DATABASE veritabani TO app;
GRANT USAGE ON SCHEMA public TO app;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO app;

Gelecekte oluşturulacak tablolar için: ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO app;

MySQL

CREATE USER 'app'@'%' IDENTIFIED BY 'Guclu#Parola1';
GRANT SELECT, INSERT, UPDATE ON veritabani.* TO 'app'@'%';

'%' her host'tan bağlanmaya izin verir; güvenlik için mümkünse belirli IP/host verin. CREATE USER/GRANT anında etkilidir; FLUSH PRIVILEGES yalnızca grant tablolarına doğrudan DML yapıldıysa gerekir.

SQL Server

CREATE LOGIN app WITH PASSWORD = 'Guclu#Parola1';
USE veritabani;
CREATE USER app FOR LOGIN app;
GRANT SELECT, INSERT, UPDATE ON SCHEMA::dbo TO app;

Login sunucu geneli, user her veritabanında ayrı oluşturulur. Rol için ALTER ROLE db_datareader ADD MEMBER app;

MongoDB

db.createUser({
  user: "app",
  pwd: "Guclu#Parola1",
  roles: [ { role: "readWrite", db: "veritabani" } ]
})

Kullanıcı hangi db'de oluşturulursa auth db o olur. Yerleşik roller: read, readWrite, dbAdmin, clusterAdmin...

Redis

ACL SETUSER app on >Guclu#Parola1 ~app:* +@read +@write
# Kalıcı olması için: aclfile tanımlıysa ACL SAVE, değilse CONFIG REWRITE (kullanıcılar redis.conf'a yazılır)

on = etkin, >parola parola ekler, ~app:* anahtar deseni, +@read/+@write komut kategorileri. Kalıcı hale getirilmezse restart'ta kaybolur: ACL SAVE yalnızca aclfile yapılandırılmışsa çalışır, aksi halde hata verir; bu durumda CONFIG REWRITE kullanılır.

DBAtlas'ta aç →