PostgreSQL için Azure SQL Veritabanı izinleri verme
Kullanıcıların PostgreSQL için Azure Veritabanı sunucunuzda barındırılan veritabanlarına erişmesine izin vermek için roller (kullanıcılar) oluşturmanız ve veritabanı nesnelerine ayrıcalıklar vermeli veya reddetmeniz gerekir.
PostgreSQL için Azure Veritabanı'de veritabanı kullanıcıları oluşturma
Azure Data Studio'da (veya tercih ettiğiniz istemci aracında), yönetici oturum açma kimlik bilgileriyle PostgreSQL için Azure Veritabanı sunucunuza bağlanın.
Geçerli veritabanı olarak ilgili veritabanıyla, yeni bir rol (kullanıcı) oluşturmak için ilgili seçeneklerle kullanın
CREATE ROLE.Örneğin, aşağıdaki sorgu:
- testdb adlı yeni bir veritabanı oluşturur.
- Güçlü bir parolayla yeni bir kullanıcı oluşturur.
- Testdb veritabanına bağlanma ayrıcalıkları verir.
CREATE DATABASE testdb; CREATE ROLE <db_user> WITH LOGIN NOSUPERUSER INHERIT CREATEDB NOCREATEROLE NOREPLICATION PASSWORD '<StrongPassword!>'; GRANT CONNECT ON DATABASE testdb TO <db_user>;Sorguyu denemek için yer tutucuları kullanıcı bilgilerinizle değiştirebilirsiniz.
Daha sonra veritabanındaki nesnelere daha fazla ayrıcalık vekleyebilirsiniz. Örneğin:
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
CREATE ROLE söz dizimi şöyledir:
CREATE ROLE name [ [ WITH ] option [ ... ] ]
WHERE seçeneği şu olabilir:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
İsteğe bağlı parametreler şunlardır:
- SUPERUSER | NOSUPERUSER - PostgreSQL için Azure Veritabanı içinde SUPERUSER ayrıcalıkları atayamazsınız. Belirtilmezse, NOSUPERUSER varsayılan değerdir.
- CREATEDB | NOCREATEDB - rolün veritabanları oluşturup oluşturamayacağı. Varsayılan değer NOCREATEDB'dir.
- CREATEROLE | NOCREATEROLE - rolün yeni roller oluşturup oluşturamayacağı, yani CREATE ROLE'yi yürütebileceği. CREATEROLE ayrıcalığı verilirse, rol diğer rolleri de değiştirebilir ve bırakabilir. NOCREATEROLE varsayılan değerdir.
- DEVRAL | NOINHERIT - Rolün doğrudan veya dolaylı üyesi olduğu rollerin ayrıcalıklarını devralıp devralmadığını belirler. INHERIT varsayılan değerdir.
- OTURUM AÇMA | NOLOGIN - Bir rolün oturum açmasına izin verilip verilmeyeceği. LOGIN özniteliğine sahip bir rol, veritabanı kullanıcısıdır. LOGIN özniteliği olmayan roller, veritabanı ayrıcalıklarını yönetmek için kullanılabilir. NOLOGIN varsayılan değerdir.
- ÇOĞALTMA | ÇOĞALTMA YOK - bir rolün çoğaltma rolü olup olmadığını belirler. Çoğaltma modunda sunucuya bağlanmak ve çoğaltma yuvaları oluşturmak veya bırakmak için bir rolün bu özniteliği olmalıdır. ÇOĞALTMA özniteliği, yalnızca çoğaltma için kullanılması gereken ayrıcalıklı bir roldür. NOREPLICATION varsayılan değerdir. Bu rolü oluşturmak için azure_pg_admin üyesi olmanız gerekir.
- BYPASSRLS | NOBYPASSRLS - Bir rolün her satır düzeyi güvenlik (RLS) ilkesini atlayıp atlamadığı.
- BAĞLANTI SINIRI connlimit - Bir rolün oturum açabilen kaç eşzamanlı bağlantı oluşturabileceğini belirtir. -1 varsayılan değerdir. Bu parametre eşzamanlı bağlantılara bir sınır yerleştirmez.
- [ ENCRYPTED ] PASSWORD 'password'| PASSWORD NULL - rolün parolasını ayarlar. Parola yalnızca LOGIN özniteliğine sahip roller tarafından kullanılır. Parola belirtilmezse, parola NULL olur ve parola kimlik doğrulaması başarısız olur. Alternatif olarak, PASSWORD NULL değerini açıkça belirtin.
- GEÇERLİLİK SÜRESİ SONUNA KADAR: 'tarih ve saat' - rolün parolasının artık geçerli olmadığı tarih ve saat. Atlanırsa, parolada zaman sınırı yoktur.
- IN ROLE role_name - Yeni rolün yeni üye olarak eklendiği bir veya birden fazla rol. Yönetici olarak yeni rol ekleme seçeneği yoktur; GRANT komutunu kullanın.
- IN GROUP role_name IN ROLE'ye eski bir alternatiftir.
- ROLE role_name - yeni rolün üyesi olarak bir veya daha fazla rol eklenir. (Bu değişiklik, yeni rolü bir gruba dönüştürür.)
- ADMIN role_name - ADMIN yan tümcesi ROLE gibidir, ancak adlandırılmış roller yeni role ADMIN OPTION ile eklenir ve bu, onlara bu rolde başkalarına üyelik verme hakkı tanır.
Not
ALTER ROLE ile bir rolün özniteliklerini değiştirebilir ve DROP ROLE ile bir rolü kaldırabilirsiniz.