2014-12-30 21 views
16

Diğer threads that are similar olduğunu biliyorum, ancak Postgres ile alakalı olup olmadığından emin değilim.Bir kullanıcı ve rol arasındaki fark nedir?

I am reading the PostgreSQL documentation which it reads as follows:

Not: Bölüm 20'de açıklandığı üzere, PostgreSQL aslında "rolleri" anlamında ayrıcalık yönetimini yapar. Bu bölümde, "LOGIN ayrıcalığına sahip rol" anlamına gelen veritabanı kullanıcısını sürekli olarak kullanıyoruz.

Bu, temel olarak bir veritabanı kullanıcısı rolü anlamına mı geliyor? Ya da bir rol ve kullanıcı arasında bir fark var mı? Roller, her zaman tam ayrıcalıklara sahip kullanıcılar iken, kullanıcılar tam ayrıcalıklara sahip olma potansiyeline sahip mi?

+0

[Kılavuzdan] (https://www.postgresql.org/docs/current/static/sql-createuser.html) "* CREATE USER artık CREATE ROLE için bir takma addır. komutu CREATE USER, LOGIN varsayılan olarak varsayılırken, komutun yazılmasında NOLOGIN varsayılır. CREATE ROLE * " –

cevap

15

Postgres'in ve diğer bazı DB sistemlerinin önceki sürümlerinde, "gruplara" (veritabanı nesnelerine erişim izni verilir) ve "kullanıcılar" ın (giriş yapabilen ve bir veya daha fazla grubun üyesi olan) ayrı kavramları vardır.

Postgres'in modern sürümlerinde, iki kavram birleştirildi: bir "rol", oturum açma yeteneğine, diğer rollerden "devralma" becerisine (bir grubun üyesi olan bir kullanıcı gibi) veya grup başka bir grubun üyesi olmak, ve veritabanı nesnelerine erişim.

Kolaylık sağlamak için, birçok araç ve kılavuz, yararlı ve yaygın bir uygulama olduğu için "kullanıcı" veya "oturum açma rolü" ve "grup" veya "grup rolü" olmaksızın oturum açma iznine sahip herhangi bir kullanıcıya başvurur. kabaca o yapıya devam etmek. Bu tamamen bir terminoloji sözleşmesidir ve izinleri anlamak için, sadece creating roles ve granting them access olduğunda mevcut olan seçenekleri anlamanız gerekir.

+0

Bunun eski bir soru olduğunu biliyorum, ancak kullanıcılar ve kullanıcılar Unix sistemlerinde olduğu gibi kullanıcılar ve gruplar olarak görülebilir mi? – KGCybeX

+1

@KGCybeX Eskiden "kullanıcılar" ve "gruplar" kavramı, Unix'teki aynı terimlere çok benzemektedir ve bu farkı korumak için * geleneksel * şeklindedir. Ancak, yeni sürümlerde bir "rol", bir kullanıcı ya da bir grup gibi davranabilir - ya da her ikisi de * - bu yüzden analoji yararlı değildir. Daha iyi bir benzetim, kalıtım hiyerarşisidir: bir rolle oturum açarsınız ve doğrudan bu role verilen herhangi bir izin, artı diğer rollerden miras aldığı izinler, artı diğer rollerden devraldığı izinler vb. – IMSoP

İlgili konular