Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Proje oluşturduğunuzda, Lakebase projede birkaç Postgres rolü oluşturur:
- Proje sahibinin Azure Databricks kimliği (örneğin,
user@databricks.com) için varsayılandatabricks_postgresveritabanına sahip olan bir Postgres rolü - Yönetici
databricks_superuserrolü
Bu rollerin her ikisi de projenizi ilk açtığınızda Roller ve Veritabanları sekmesinde görünür.
Veritabanı databricks_postgres oluşturulur, böylece proje oluşturulduktan hemen sonra Lakebase'e bağlanıp deneyebilirsiniz.
Sistem tarafından yönetilen birkaç rol de oluşturulur. Bunlar Azure Databricks hizmetleri tarafından yönetim, izleme ve veri işlemleri için kullanılan iç rollerdir.
Uyarı
Postgres rolleri veritabanı erişimini denetler (verileri sorgulayabilirler). Proje izinleri (altyapıyı yönetebilecek kişiler) için bkz. Proje izinleri. Her ikisini de ayarlama öğreticisi için bkz . Öğretici: Yeni bir kullanıcıya proje ve veritabanı erişimi verme.
Bkz. Önceden oluşturulmuş roller ve Sistem rolleri.
Postgres rolleri oluşturma
Lakebase, veritabanı erişimi için iki tür Postgres rolünü destekler:
-
Azure Databricks kimlikleri için OAuth rolleri: Bunları Lakebase kullanıcı arabirimini, SQL ile uzantıyı
databricks_authveya Python SDK ve REST API'sini kullanarak oluşturun. Azure Databricks kimliklerinin (kullanıcılar, hizmet sorumluları ve gruplar) OAuth belirteçlerini kullanarak bağlanmasına olanak tanır. - Yerel Postgres parola rolleri: Bunları Lakebase kullanıcı arabirimini, SQL'i veya Python SDK'sını ve REST API'sini kullanarak oluşturun. Parola kimlik doğrulaması ile geçerli bir rol adı kullanın.
Kullanılacak rolün türünü seçme konusunda rehberlik için bkz. Kimlik doğrulamasına genel bakış. Her biri farklı kullanım örnekleri için tasarlanmıştır.
Azure Databricks kimlikleri için OAuth rolü oluşturma
Azure Databricks kimliklerinin (kullanıcılar, hizmet sorumluları veya gruplar) OAuth belirteçleri kullanarak bağlanmasına izin vermek için Lakebase kullanıcı arabirimini, SQL ile uzantıyı databricks_auth veya REST API'yi kullanarak bir OAuth rolü oluşturun.
OAuth belirteçlerini alma hakkında ayrıntılı yönergeler için bkz. Kullanıcıdan makineye akışta OAuth belirteci alma ve Makineden makineye akıştaOAuth belirteci alma.
Kullanıcı Arayüzü (UI)
- Roller ve Veritabanları>Rol> ekleOAuth sekmesinde veritabanı erişimi vermek için kullanıcı, hizmet sorumlusu veya grubu seçin.
- Rolü oluşturduktan sonra uygun veritabanı ayrıcalıklarını verin. Nasıl yapılacağını öğrenin: İzinleri yönetme
SQL
Ön koşullar:
- Veritabanında
CREATEveCREATE ROLEizinlerine sahip olmalısınız - Azure Databricks kimliğinizle geçerli bir OAuth belirteci kullanarak kimlik doğrulaması yapılmış olmanız gerekir.
- Yerel Postgres kimliği doğrulanmış oturumlar OAuth rolleri oluşturamıyor
databricks_authuzantısını oluşturun. Her Postgres veritabanının kendi uzantısı olmalıdır.CREATE EXTENSION IF NOT EXISTS databricks_auth;İşlevi
databricks_create_rolekullanarak Azure Databricks kimliği için bir Postgres rolü oluşturun:SELECT databricks_create_role('identity_name', 'identity_type');Azure Databricks kullanıcısı için:
SELECT databricks_create_role('myuser@databricks.com', 'USER');Azure Databricks hizmet sorumlusu için:
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');Azure Databricks grubu için:
SELECT databricks_create_role('My Group Name', 'GROUP');Grup adı büyük/küçük harfe duyarlıdır ve Azure Databricks çalışma alanınızdaki haliyle birebir aynı olmalıdır. Bir grup için Postgres rolü oluşturduğunuzda, bu Databricks grubunun herhangi bir doğrudan veya dolaylı üyesi (kullanıcı veya hizmet sorumlusu), tek tek OAuth belirtecini kullanarak grup rolü olarak Postgres'te kimlik doğrulaması yapabilir. Bu grup düzeyinde izin modeli, tek tek kullanıcılar için izinleri korumak yerine Postgres'te izinleri yönetmenize olanak tanır.
Yeni oluşturulan role veritabanı izinleri verin.
İşlev, yalnızca databricks_create_role() izniyle bir Postgres rolü oluşturur. Rolü oluşturduktan sonra, kullanıcının erişmesi gereken belirli veritabanları, şemalar veya tablolar üzerinde uygun veritabanı ayrıcalıkları ve izinleri vermelisiniz. Nasıl yapılacağını öğrenin: İzinleri yönetme
Python SDK'sı
identity_type, USER, veya SERVICE_PRINCIPAL olarak ayarlayın GROUP. Sırasıyla kimliğin e-posta adresine, uygulama kimliğine (UUID) veya grup görünen adına ayarlayın postgres_role . Bu değer Postgres rol adı olur ve bağlantı dizelerinde ve GRANT deyimlerinde kullandığınız değerdir.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import Role, RoleIdentityType, RoleRoleSpec
w = WorkspaceClient()
operation = w.postgres.create_role(
parent="projects/my-project/branches/production",
role=Role(
spec=RoleRoleSpec(
identity_type=RoleIdentityType.USER,
postgres_role="user@example.com"
)
)
)
role = operation.wait()
print(f"Created role: {role.name}")
Rolü oluşturduktan sonra uygun veritabanı ayrıcalıklarını verin. Nasıl yapılacağını öğrenin: İzinleri yönetme
CLI
identity_type, USER, veya SERVICE_PRINCIPAL olarak ayarlayın GROUP. Sırasıyla kimliğin e-posta adresine, uygulama kimliğine (UUID) veya grup görünen adına ayarlayın postgres_role . Bu değer Postgres rol adı olur ve bağlantı dizelerinde ve GRANT deyimlerinde kullandığınız değerdir.
Azure Databricks kullanıcısı için:
databricks postgres create-role projects/my-project/branches/production \
--role-id my-user-role \
--json '{"spec": {"identity_type": "USER", "postgres_role": "user@example.com"}}'
Azure Databricks hizmet sorumlusu için:
databricks postgres create-role projects/my-project/branches/production \
--role-id my-sp-role \
--json '{"spec": {"identity_type": "SERVICE_PRINCIPAL", "postgres_role": "8c01cfb1-62c9-4a09-88a8-e195f4b01b08"}}'
Azure Databricks grubu için:
databricks postgres create-role projects/my-project/branches/production \
--role-id my-group-role \
--json '{"spec": {"identity_type": "GROUP", "postgres_role": "My Group Name"}}'
Komut işlemin tamamlanmasını bekler ve oluşturulan rolü döndürür. Hemen dönmek için --no-wait kullanın ve databricks postgres get-operation ile ayrı ayrı yoklama yapın.
Rolü oluşturduktan sonra uygun veritabanı ayrıcalıklarını verin. Nasıl yapılacağını öğrenin: İzinleri yönetme
Kıvrım
identity_type, USER, veya SERVICE_PRINCIPAL olarak ayarlayın GROUP. Sırasıyla kimliğin e-posta adresine, uygulama kimliğine (UUID) veya grup görünen adına ayarlayın postgres_role . Bu değer Postgres rol adı olur ve bağlantı dizelerinde ve GRANT deyimlerinde kullandığınız değerdir.
curl -X POST "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"spec": {
"identity_type": "USER",
"postgres_role": "user@example.com"
}
}' | jq
Uç nokta uzun süren bir işlem döndürür. olana donekadar true yoklayın ve ardından sonraki API çağrıları için rolün name alanını kullanın. Bkz. Uzun süre çalışan işlemler.
Rolü oluşturduktan sonra uygun veritabanı ayrıcalıklarını verin. Nasıl yapılacağını öğrenin: İzinleri yönetme
Grup tabanlı kimlik doğrulaması
Azure Databricks grubu için Postgres rolü oluşturduğunuzda, grup tabanlı kimlik doğrulamasını etkinleştirirsiniz. Bu, Azure Databricks grubunun herhangi bir üyesinin grubun rolünü kullanarak Postgres'de kimlik doğrulaması yapmasına olanak sağlayarak izin yönetimini basitleştirir.
Nasıl çalışır:
- bir Azure Databricks grubu için Postgres rolü oluşturun.
- Postgres'te grup rolüne veritabanı izinleri verin. Bkz. İzinleri yönetme.
- Azure Databricks grubunun herhangi bir doğrudan veya dolaylı üyesi (kullanıcı veya hizmet sorumlusu), tek tek OAuth belirtecini kullanarak Postgres'e bağlanabilir.
- Bağlanırken, üye grup rolü olarak kimlik doğrulaması yapar ve bu role vermiş olduğunuz tüm izinleri devralır.
Kimlik doğrulama akışı:
Bir grup üyesi bağlandığında, grubun Postgres rol adını kullanıcı adı olarak ve kendi OAuth belirtecini parola olarak belirtir:
export PGPASSWORD='<OAuth token of a group member>'
export GROUP_ROLE_NAME='<pg-case-sensitive-group-role-name>'
psql -h $HOSTNAME -p 5432 -d databricks_postgres -U $GROUP_ROLE_NAME
Önemli noktalar:
- Grup üyeliği doğrulaması: Grup üyeliği yalnızca kimlik doğrulama zamanında doğrulanır. Bağlantı kurulduktan sonra bir üye Azure Databricks grubundan kaldırılırsa, bağlantı etkin kalır. Kaldırılan üyelerden gelen yeni bağlantı girişimleri reddedilir.
- Çalışma alanı kapsamı: Grup tabanlı kimlik doğrulaması için yalnızca projeyle aynı Azure Databricks çalışma alanına atanan gruplar desteklenir. Çalışma alanına grup atamayı öğrenmek için bkz. Grupları yönetme.
-
Büyük/küçük harf duyarlılığı: içinde
databricks_create_role()kullanılan grup adı, büyük/küçük harf de dahil olmak üzere Azure Databricks çalışma alanınızda göründüğü şekilde grup adıyla tam olarak eşleşmelidir. - İzin yönetimi: Postgres'te grup düzeyinde izinleri yönetmek, tek tek kullanıcı izinlerini yönetmekten daha verimlidir. Grup rolüne izinler verdiğinizde, tüm geçerli ve gelecekteki grup üyeleri bu izinleri otomatik olarak devralır.
- Kimlik Yeniden Adlandırma: Bir kullanıcının e-posta veya grup görünen adı Azure Databricks'te değişirse, kimlik doğrulama ve mevcut veritabanı izinleri bozulur. Eski rolü bırakın, güncelleştirilmiş adla yeni bir rol oluşturun ve bağlantı dizelerini ve vermelerini güncelleştirin.
Uyarı
Rol adları 63 karakteri aşamaz ve bazı adlara izin verilmez. Daha fazla bilgi edinin: Rolleri yönetme
Yerel bir Postgres şifre rolü oluşturun
Parola bağlantıları proje veya işlem düzeyinde devre dışı bırakılabilir. Bkz . Parola bağlantılarını engelleme.
Kullanıcı Arayüzü (UI)
- **
Roller ve Veritabanları>Rol Ekle>Parola sekmesinde bir rol adı girin ve isteğe bağlı olarak rol veya sistem özniteliklerini (
databricks_superuser,CREATEDB,CREATEROLE,BYPASSRLS) verin. - Oluşturulan parolayı kopyalayın ve kullanıcıya güvenli bir şekilde sağlayın. Yeniden gösterilmez.
SQL
CREATE ROLE role_name WITH LOGIN PASSWORD 'your_secure_password';
Parolada küçük harf, büyük harf, sayı ve simge karakterlerinin karışımıyla en az 12 karakter olmalıdır. Kullanıcı tanımlı parolalar, 60 bit entropiyi doğrulamak için oluşturma zamanında doğrulanır.
Python SDK'sı
Parola rolü oluşturmak için identity_type öğesini çıkar. İşlem, create_role şifre alanı olmayan bir Role nesne döndürür. SDK, oluşturulan şifreyi döndürmez. Kullanılabilir bir şifre elde etmek için Şifre nasıl alınır'a bakınız.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import Role, RoleRoleSpec
w = WorkspaceClient()
operation = w.postgres.create_role(
parent="projects/my-project/branches/production",
role=Role(
spec=RoleRoleSpec(
postgres_role="my-app-role"
)
)
)
role = operation.wait()
print(f"Created role: {role.name}")
CLI
Parola rolü oluşturmak için identity_type öğesini çıkar. Komut, şifre alanı olmayan bir Role nesne döndürür. CLI, oluşturulan şifreyi döndürmez. Kullanılabilir bir şifre elde etmek için Şifre nasıl alınır'a bakınız.
databricks postgres create-role projects/my-project/branches/production \
--role-id my-app-role \
--json '{"spec": {"postgres_role": "my-app-role"}}'
Komut işlemin tamamlanmasını bekler ve oluşturulan rolü döndürür.
Kıvrım
Parola rolü oluşturmak için identity_type öğesini çıkar. Uç nokta uzun süren bir işlem döndürür.
done oluncaya kadar true sorgulama. İşlem sonucu ise şifre alanı olmayan bir Role nesnedir. API, oluşturulan şifreyi döndürmez. Kullanılabilir bir şifre elde etmek için Şifre nasıl alınır'a bakınız.
curl -X POST "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"spec": {
"postgres_role": "my-app-role"
}
}' | jq
Uyarı
Yerel Postgres parola rolleri yerleşik bağlantı havuzu oluşturucuyu destekler. Bkz. Bağlantı havuzunu kullanma.
Şifre nasıl alınır?
Python SDK, REST API ve CLI oluşturma rolü işlemleri oluşturulan şifreyi döndürmez. Yerel Postgres şifre rolü için şifre almak amacıyla aşağıdaki yöntemlerden birini kullanın:
-
SQL ile oluşturulma sırasında kendi şifrenizi belirleyin: OAuth SQL bağlantısı üzerinde çalıştır
CREATE ROLE role_name WITH LOGIN PASSWORD 'your_secure_password';. Bu,CREATEROLEayrıcalığını gerektirir. Yerel Postgres şifre rolü oluşturma altındaki SQL sekmesine bakınız. - Arayüzün şifresini sıfırlayın: Python SDK, REST API, CLI veya Terraform ile oluşturulan bir rol için, Lakebase Uygulaması'ndaki Reset şifre akışını kullanarak yeni bir şifre oluşturun. Şifreyi sıfırla.
Uyarı
Python SDK, REST API veya Terraform ile oluşturulan roller, dahili bir kontrol düzlemi rolüne aittir. Müşteri yöneticileri, bu rollerin şifrelerini SQL ile değiştiremez, çünkü Postgres 16, rolde şifreyi değiştirme seçeneğini gerektirir ADMIN . Bunun yerine UI Reset şifre akışını kullanın.
Yerel parola rolleri nasıl depolanır?
Yerel bir Postgres parola rolü oluşturduğunuzda, parolası hiçbir zaman düz metin olarak depolanmaz. Hesaplama düğümünün Postgres çekirdeği, sunucu tarafında hesaplanan bir SCRAM-SHA-256 doğrulama değerini depolar (hesaplama düğümü varsayılanı password_encryption = scram-sha-256'dır). Lakebase sizin için şifreyi oluşturduğunda (UI, Python SDK, REST API ve CLI yolları), kontrol düzlemi ayrıca kimlik bilgilerinin KMS şifreli bir kopyasını saklar; bu da arayüzün daha sonra şifreyi göstermesini veya sıfırlamasını sağlar. SQL ile ayarladığınız şifreler bu şekilde saklanmaz: sadece doğrulayıcı saklanır.
- UI: Azure Databricks, sunucu tarafında şifre oluşturur, doğrulayıcıyı hesaplar ve oluşturulan şifreyi bir kez gösterir. Öyleyse kopyalayın, çünkü tekrar gösterilmeyecek.
- Python SDK, REST API ve CLI: Azure Databricks, sunucu tarafında şifre oluşturur ve doğrulayıcıyı hesaplar, ancak yanıtta şifreyi geri döndürmez. Kullanılabilir bir parola elde etmek için, oluşturma sırasında SQL'i veya kullanıcı arayüzündeki Parolayı sıfırla akışını kullanın. Şifre nasıl alınırsa bkz. Bu yollar, sağladığınız bir parolayı kabul etmemektedir.
-
SQL:
CREATE ROLE role_name WITH LOGIN PASSWORD 'your_secure_password';'i (veyapsql'nin\password'ünü) çalıştırdığınızda düz metni sağlarsınız ve sunucu bunun karmasını alarak doğrulayıcıyı oluşturur.
Bir parolayı hiçbir zaman kendiniz hashlemeniz gerekmez.
Postgres rollerini görüntüleme
Kullanıcı Arayüzü (UI)
Projenizdeki tüm Postgres rollerini görüntülemek için Lakebase Uygulamasında dalınızın Roller ve Veritabanları sekmesine gidin. Sistem rolleri dışında dalda oluşturulan tüm roller listelenir. Kimlik doğrulama türü sütunu, her rolün OAuth veya Parola kimlik doğrulaması kullanıp kullanmadığını gösterir.
PostgreSQL
Komutla \du tüm rolleri görüntüleyin:
Herhangi bir Postgres istemcisinden (örneğin) veya Lakebase SQL düzenleyicisinden meta komutunu kullanarak \du sistem rolleri de dahil olmak üzere tüm Postgres psql görüntüleyebilirsiniz:
\du
List of roles
Role name | Attributes
-----------------------------+------------------------------------------------------------
cloud_admin | Superuser, Create role, Create DB, Replication, Bypass RLS
my.user@databricks.com | Create role, Create DB, Bypass RLS
databricks_control_plane | Superuser
databricks_gateway |
databricks_monitor |
databricks_reader_12345 | Create role, Create DB, Replication, Bypass RLS
databricks_replicator | Replication
databricks_superuser | Create role, Create DB, Cannot login, Bypass RLS
databricks_writer_12345 | Create role, Create DB, Replication, Bypass RLS
Python SDK'sı
Tüm rolleri listele:
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
roles = w.postgres.list_roles(parent="projects/my-project/branches/production")
for role in roles:
print(f"{role.status.postgres_role} ({role.status.identity_type or 'PASSWORD'}): {role.name}")
Belirli bir rol alın:
role = w.postgres.get_role(
name="projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx"
)
print(role)
CLI
Tüm rolleri listele:
databricks postgres list-roles projects/my-project/branches/production
Belirli bir rol alın:
databricks postgres get-role projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx
Çıktı, name güncelleştirme ve silme çağrıları için gereken alanı (örneğin, rol-xxxx-xxxxxxxxxx) içerir.
Kıvrım
Tüm rolleri listele:
curl -X GET "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq
Belirli bir rol alın:
curl -X GET "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq
Yanıt, güncelleştirme ve silme çağrıları name için gereken alanı (örneğin, rol-xxxx-xxxxxxxxxx) içerir.
Rolü güncelleştirme
Bir rolün kullanıcı arabirimindeki özniteliklerini güncelleştirmek için Roller ve Veritabanları sekmesindeki rol menüsünden Rolü düzenle'yi seçin.
Bir rolün sistem rollerini veya özniteliklerini güncelleştirmek için API veya CLI kullanın. Yalnızca güncelleştirme maskesinde belirtilen alanlar değişir.
Uyarı
Güncelleştirme ve silme çağrılarında kullanılacak rolün kaynak adını almak için liste rolleri uç noktasını kullanın. Rol kaynak adları, oluşturma sırasında sağlanan değeri değil, sistem tarafından oluşturulan tanımlayıcıyı rol-xxxx-xxxxxxxxxx (örneğin, postgres_role) kullanır.
CLI
Güncelleştirme maskesi desenini kullanarak bir rolü güncelleştirin. Güncelleştirme maskesi, kaynak adından sonraki ikinci konumsal bağımsız değişkendir.
güncelleştirirken spec.attributes, üç öznitelik alanının tümünü (createdb, createrole, bypassrls) sağlamanız gerekir; API, öznitelik nesnesinin tamamının yerini alır:
databricks postgres update-role \
projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx \
"spec.attributes" \
--json '{
"spec": {
"attributes": {"createdb": true, "createrole": false, "bypassrls": false}
}
}'
Üyelik rollerini de güncelleştirmek için güncelleştirme maskesine ekleyin spec.membership_roles :
databricks postgres update-role \
projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx \
"spec.membership_roles" \
--json '{"spec": {"membership_roles": ["DATABRICKS_SUPERUSER"]}}'
Öğeyi kaldırmak için databricks_superuser boş bir dizi geçirin: "membership_roles": [].
Kıvrım
curl -X PATCH "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx?update_mask=spec.membership_roles%2Cspec.attributes.createdb" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx",
"spec": {
"membership_roles": ["DATABRICKS_SUPERUSER"],
"attributes": { "createdb": true }
}
}' | jq
Öğeyi kaldırmak için databricks_superuser boş bir dizi geçirin: "membership_roles": [].
Postgres rolünü bırakma
Hem kimlik tabanlı rolleri hem de yerleşik Postgres parola rollerini Azure Databricks bırakabilirsiniz.
Kullanıcı Arayüzü (UI)
Lakebase Uygulamasında dalınızın Roller ve Veritabanları sekmesine gidin.
Bırakmak istediğiniz rolün menüsüne tıklayın ve Bırak'ı seçin.
Onay iletişim kutusunda, isteğe bağlı olarak Sahip olunan nesneleri yeniden ata seçeneğini etkinleştirin.
Tablolar, görünümler veya şemalar gibi veritabanı nesneleri varsa Postgres rolü bırakılamaz. Etkinleştirildiğinde, Sahipliği yeniden ata açılır listesi görüntülenir. Silme işleminden önce nesnelerin sahipliğini devralacak rolü seçin. Bırakılan role verilen izinler gibi yeniden atanamayan nesneler, yeniden atama tamamlandıktan sonra otomatik olarak bırakılır. Devre dışı bırakıldığında, rol herhangi bir nesnenin sahibi ise silme işlemi başarısız olur.
Onayla'yı tıklatın.
Rolü bırakmak kalıcıdır ve geri alınamaz.
PostgreSQL
Standart Postgres komutlarını kullanarak herhangi bir Postgres rolünü bırakabilirsiniz. Ayrıntılar için rolleri bırakma hakkında PostgreSQL belgelerine bakın.
Rolü silin:
DROP ROLE role_name;
Azure Databricks kimlik tabanlı rol bırakıldıktan sonra, yeni bir rol oluşturulana kadar bu kimlik artık OAuth belirteçlerini kullanarak Postgres'de kimlik doğrulaması yapamaz.
CLI
databricks postgres delete-role \
projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx
Rol veritabanı nesnelerine sahipse, silmeden önce sahipliği başka bir role aktarmak için kullanın --reassign-owned-to :
databricks postgres delete-role \
projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx \
--reassign-owned-to projects/my-project/branches/production/roles/rol-yyyy-yyyyyyyyyy
Python SDK'sı
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
operation = w.postgres.delete_role(
name="projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx"
)
operation.wait()
Kıvrım
curl -X DELETE "$WORKSPACE/api/2.0/postgres/projects/my-project/branches/production/roles/rol-xxxx-xxxxxxxxxx" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}" | jq
Önceden oluşturulmuş roller
Bir proje oluşturulduktan sonra Azure Databricks, proje yönetimi ve kullanmaya başlamak için otomatik olarak Postgres rolleri oluşturur.
| Rol | Description | Devralınan ayrıcalıklar |
|---|---|---|
<project_owner_role> |
Proje oluşturucusunun Azure Databricks kimliği (örneğin, my.user@databricks.com). Bu rol varsayılan databricks_postgres veritabanına sahiptir ve oturum açıp projeyi yönetebilir. |
Üyesi databricks_superuser |
databricks_superuser |
bir iç yönetim rolü. Proje genelinde erişimi yapılandırmak ve yönetmek için kullanılır. Bu role geniş ayrıcalıklar verilir. |
pg_read_all_data, pg_write_all_data ve pg_monitor'den devralır. |
Bu rollerin belirli özellikleri ve ayrıcalıkları hakkında daha fazla bilgi edinin: Önceden oluşturulmuş rol özellikleri
Azure Databricks tarafından oluşturulan sistem rolleri
Azure Databricks, iç hizmetler için gereken aşağıdaki sistem rollerini oluşturur. Veya \dupsql bir komut vererek bu rolleri görüntüleyebilirsiniz.
| Rol | Amaç |
|---|---|
cloud_admin |
Bulut altyapısı yönetimi için kullanılan süper kullanıcı rolü |
databricks_control_plane |
Yönetim işlemleri için iç Databricks bileşenleri tarafından kullanılan süper kullanıcı rolü |
databricks_monitor |
İç ölçüm toplama hizmetleri tarafından kullanılır |
databricks_replicator |
Veritabanı çoğaltma işlemleri için kullanılır |
databricks_writer_<dbid> |
Eşitlenen tabloları oluşturmak ve yönetmek için kullanılan veritabanı başına rol |
databricks_reader_<dbid> |
Unity Kataloğu'nda kayıtlı tabloları okumak için kullanılan veritabanı başına rol |
databricks_gateway |
Yönetilen veri sunma hizmetleri için iç bağlantılar için kullanılır |
Postgres'te rollerin, ayrıcalıkların ve rol üyeliklerinin nasıl çalıştığını öğrenmek için Postgres belgelerinde aşağıdaki kaynakları kullanın: