Unity Kataloğu'ndaki ayrıcalıkları yönetme

Bu makalede Unity Kataloğu'nda verilere ve diğer nesnelere erişimin nasıl denetlenecekleri açıklanmaktadır. Bu modelin Hive meta veri deposundaki erişim denetiminden nasıl farklı olduğunu öğrenmek için bkz . Unity Kataloğu ve eski Hive meta veri deposuyla çalışma.

Ayrıcalıkları kimler yönetebilir?

Başlangıçta, kullanıcıların meta veri deposundaki verilere erişimi yoktur. Azure Databricks hesap yöneticileri, çalışma alanı yöneticileri ve meta veri deposu yöneticileri Unity Kataloğu'nu yönetmek için varsayılan ayrıcalıklara sahiptir. Bkz. Unity Kataloğu'nda yönetici ayrıcalıkları.

Unity Kataloğu'ndaki tüm güvenli hale getirilebilir nesnelerin sahibi vardır. Nesne sahipleri, diğer sorumlulara ayrıcalık verme de dahil olmak üzere bu nesne üzerinde tüm ayrıcalıklara sahiptir. Bkz . Unity Kataloğu nesne sahipliğini yönetme.

Ayrıcalıklar meta veri deposu yöneticisi, nesnenin sahibi veya nesneyi içeren kataloğun ya da şemanın sahibi tarafından verilebilir. Hesap yöneticileri ayrıca doğrudan bir meta veri deposunda ayrıcalıklar verebilir.

Çalışma alanı kataloğu ayrıcalıkları

Çalışma alanınız Unity Kataloğu için otomatik olarak etkinleştirildiyse, çalışma alanı varsayılan olarak bir meta veri deposuna eklenir ve meta veri deposundaki çalışma alanınız için bir çalışma alanı kataloğu oluşturulur. Çalışma alanı yöneticileri, çalışma alanı kataloğunun varsayılan sahipleridir. Sahipler, çalışma alanı kataloğundaki ayrıcalıkları ve tüm alt nesneleri yönetebilir.

Tüm çalışma alanı kullanıcıları çalışma USE CATALOG alanı kataloğunda ayrıcalığı alır. Çalışma alanı kullanıcıları katalogdaki USE SCHEMAşemada default , CREATE TABLECREATE VOLUME, , CREATE MODEL, , CREATE FUNCTIONve CREATE MATERIALIZED VIEW ayrıcalıklarını da alır.

Daha fazla bilgi için bkz . Unity Kataloğu'nun otomatik olarak etkinleştirilmesi.

Devralma modeli

Unity Kataloğu'nda güvenliği sağlanabilir nesneler hiyerarşiktir ve ayrıcalıklar aşağı doğru devralınır. Ayrıcalıkların devralındığı en üst düzey nesne katalogdur. Başka bir deyişle, bir katalog veya şemada ayrıcalık verilmesi, katalog veya şema içindeki tüm geçerli ve gelecekteki nesnelere otomatik olarak ayrıcalık verir. Örneğin, bir kullanıcıya SELECT katalogda ayrıcalık verirseniz, o kullanıcı o katalogdaki tüm tabloları ve görünümleri seçebilir (okuyabilir). Unity Kataloğu meta veri deposunda verilen ayrıcalıklar devralınmaz.

Unity Kataloğu nesne hiyerarşisi

Bir nesnenin sahiplerine otomatik olarak bu nesnedeki tüm ayrıcalıklar verilir. Buna ek olarak, nesne sahipleri nesnenin kendisi ve tüm alt nesneleri üzerinde ayrıcalıklar verebilir. Bu, şema sahiplerinin şemadaki tablolarda otomatik olarak tüm ayrıcalıklara sahip olmadığı, ancak şemadaki tablolarda kendilerine ayrıcalıklar verebileceği anlamına gelir.

Not

Unity Kataloğu meta veri deponuzu genel önizleme sırasında oluşturduysanız (25 Ağustos 2022'den önce), geçerli devralma modelini desteklemeyen önceki bir ayrıcalık modelinde olabilirsiniz. Ayrıcalık devralmayı almak için Privilege Model sürüm 1.0'a yükseltebilirsiniz. Bkz . Ayrıcalık devralmaya yükseltme.

Ayrıcalıkları gösterme, verme ve iptal etme

META veri deposu nesnelerinin ayrıcalıklarını SQL komutlarını, Databricks CLI'yı, Databricks Terraform sağlayıcısını veya Katalog Gezgini'ni kullanarak yönetebilirsiniz.

Aşağıdaki SQL komutlarında şu yer tutucu değerlerini değiştirin:

  • <privilege-type> Bir Unity Kataloğu ayrıcalık türüdür. Bkz. Ayrıcalık türleri.
  • <securable-type>: veya TABLEgibi CATALOG güvenli hale getirilebilir nesnenin türü. Bkz. Güvenli hale getirilebilir nesneler
  • <securable-name>: Güvenli hale getirilebilen adı. Güvenli hale getirilebilir tür ise METASTORE, güvenli hale getirilebilir adı sağlamayın. Çalışma alanına bağlı meta veri deposu olduğu varsayılır.
  • <principal> bir kullanıcı, hizmet sorumlusu (applicationId değeriyle temsil edilir) veya grup. Kullanıcıları, hizmet sorumlularını ve backticks (` `) içinde özel karakterler içeren grup adlarını kapsamanız gerekir. Bkz. Sorumlu.

Unity Kataloğu meta veri deposundaki nesnelerde izinleri gösterme

Gerekli izinler:

  • Meta veri deposu yöneticileri, nesnenin sahibi veya nesneyi içeren kataloğun veya şemanın sahibi nesnedeki tüm izinleri görebilir.
  • Yukarıdaki izinlere sahip değilseniz nesne üzerinde yalnızca kendi izinlerinizi görüntüleyebilirsiniz.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog, şema, tablo veya görünüm gibi nesneyi seçin.
  3. İzinler sekmesine gidin.

SQL

Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın. Belirli bir sorumluda izinleri gösterebilir veya güvenli hale getirilebilir bir nesnedeki tüm izinleri gösterebilirsiniz.

  SHOW GRANTS [principal] ON  <securable-type> <securable-name>

Örneğin, aşağıdaki komut main adlı üst katalogda default adlı bir şemadaki tüm izinleri gösterir:

  SHOW GRANTS ON SCHEMA main.default;

Komut şunu döndürür:

  principal     actionType     objectType objectKey
  ------------- -------------  ---------- ------------
  finance-team   CREATE TABLE  SCHEMA     main.default
  finance-team   USE SCHEMA    SCHEMA     main.default

Unity Kataloğu meta veri deposundaki nesnelerde izinlerimi gösterme

Gerekli izinler: Nesne üzerinde her zaman kendi izinlerinizi görüntüleyebilirsiniz.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog, şema, tablo veya görünüm gibi nesneyi seçin.
  3. İzinler sekmesine gidin. Nesne sahibi veya meta veri deposu yöneticisi değilseniz nesnede yalnızca kendi izinlerinizi görüntüleyebilirsiniz.

SQL

Bir nesnedeki izinlerinizi göstermek için not defterinde veya SQL sorgu düzenleyicisinde aşağıdaki SQL komutunu çalıştırın.

  SHOW GRANTS `<user>@<domain-name>` ON  <securable-type> <securable-name>

Unity Kataloğu meta veri deposundaki nesneler üzerinde izinler verme

Gerekli izinler: Meta veri deposu yöneticisi, nesnenin sahibi veya nesneyi içeren kataloğun veya şemanın sahibi.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog, şema, tablo veya görünüm gibi nesneyi seçin.
  3. İzinler sekmesine gidin.
  4. Ver'e tıklayın.
  5. Bir kullanıcının e-posta adresini veya grubun adını girin.
  6. Vermek istediğiniz izinleri seçin.
  7. Tamam'a tıklayın.

SQL

Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın.

  GRANT <privilege-type> ON <securable-type> <securable-name> TO <principal>

Örneğin, aşağıdaki komut finance-team adlı bir gruba default adlı şemada main adlı üst katalogla tablolar oluşturması için erişim verir:

  GRANT CREATE TABLE ON SCHEMA main.default TO `finance-team`;
  GRANT USE SCHEMA ON SCHEMA main.default TO `finance-team`;
  GRANT USE CATALOG ON CATALOG main TO `finance-team`;

Kayıtlı modellerin bir işlev türü olduğunu unutmayın. Modelde ayrıcalık vermek için kullanmanız GRANT ON FUNCTIONgerekir. Örneğin, modelde prod.ml_team.iris_modelgruba ml-team-acme EXECUTE ayrıcalık vermek için şunları kullanırsınız:

  GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO `ml-team-acme`;

Unity Kataloğu meta veri deposundaki nesneler üzerindeki izinleri iptal etme

Gerekli izinler: Meta veri deposu yöneticisi, nesnenin sahibi veya nesneyi içeren kataloğun veya şemanın sahibi.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog, şema, tablo veya görünüm gibi nesneyi seçin.
  3. İzinler sekmesine gidin.
  4. Kullanıcıya, hizmet sorumlusuna veya gruba verilmiş bir ayrıcalık seçin.
  5. İptal Et'e tıklayın.
  6. Onaylamak için İptal Et'e tıklayın.

SQL

Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın.

  REVOKE <privilege-type> ON <securable-type> <securable-name> TO <principal>

Örneğin aşağıdaki komut, default adlı şemada main adlı üst katalogla tablolar oluşturmak için finance-team access adlı bir grubu iptal eder:

  REVOKE CREATE TABLE ON SCHEMA main.default TO `finance-team`;

Meta veri deposunda izinleri gösterme

gerekli izinler: Meta veri deposu yöneticisi veya hesap yöneticisi. Ayrıca, bir meta veri deposunda kendi izinlerinizi de görüntüleyebilirsiniz.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog Gezgini sayfa etiketinin yanındaki meta veri deposu adının yanındaki simgeye tıklayın.
  3. İzinler sekmesine gidin.

SQL

Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın. Belirli bir sorumluda izinleri gösterebilir veya tüm izinleri bir meta veri deposunda gösterebilirsiniz.

  SHOW GRANTS [principal] ON METASTORE

Meta veri deposu üzerinde izin verme

gerekli izinler: Meta veri deposu yöneticisi veya hesap yöneticisi.

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog Gezgini sayfa etiketinin yanındaki meta veri deposu adının yanındaki simgeye tıklayın.
  3. İzinler sekmesinde Ver'e tıklayın.
  4. Bir kullanıcının e-posta adresini veya grubun adını girin.
  5. Vermek istediğiniz izinleri seçin.
  6. Tamam'a tıklayın.

SQL

  1. Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın.

    GRANT <privilege-type> ON METASTORE TO <principal>;
    

    Bir meta veri deposu üzerinde ayrıcalıklar sağladığınızda, çalışma alanınıza eklenen meta veri deposu varsayıldığından meta veri deposu adını dahil etmeyin.

Meta veri deposu izinlerini iptal etme

gerekli izinler: Meta veri deposu yöneticisi veya hesap yöneticisi..

Katalog Gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayın Katalog simgesi .
  2. Katalog Gezgini sayfa etiketinin yanındaki meta veri deposu adının yanındaki simgeye tıklayın.
  3. İzinler sekmesinde bir kullanıcı veya grup seçin ve İptal Et'e tıklayın.
  4. Onaylamak için İptal Et'e tıklayın.

SQL

  1. Aşağıdaki SQL komutunu bir not defterinde veya SQL sorgu düzenleyicisinde çalıştırın.

    REVOKE <privilege-type> ON METASTORE FROM <principal>;
    

    Bir meta veri deposu üzerindeki ayrıcalıkları iptal ettiğinizde, çalışma alanınıza bağlı meta veri deposu varsayıldığından meta veri deposu adını dahil etmeyin.