Aracılığıyla paylaş


Ayrılmış işlem grubu erişimi

Bu makalede, Ayrılmış erişim modunu kullanarak bir gruba atanmış işlem kaynağının nasıl oluşturulacağı açıklanmaktadır.

Ayrılmış grup erişim modu, kullanıcıların standart erişim modu kümesinin işletimsel verimliliğini elde etmesini sağlarken, ml için Databricks Runtime, RDD API'leri ve R gibi standart erişim modu tarafından desteklenmeyen dilleri ve iş yüklerini de güvenli bir şekilde destekler.

Gereksinimler

Ayrılmış grup erişim modunu kullanmak için:

  • Unity Kataloğu için çalışma alanının etkinleştirilmesi gerekir.
  • Databricks Runtime 15.4 veya üzerini kullanmanız gerekir.
  • Atanan grubun not defterlerini, ML denemelerini ve grup kümesi tarafından kullanılan diğer çalışma alanı yapıtlarını tutabileceği bir çalışma alanı klasöründe CAN MANAGE izinleri olmalıdır.

Ayrılmış erişim modu nedir?

Ayrılmış erişim modu, tek kullanıcılı erişim modunun en son sürümüdür. Ayrılmış erişimle, bir işlem kaynağı tek bir kullanıcıya veya gruba atanabilir ve yalnızca atanan kullanıcıların işlem kaynağını kullanmasına izin verilir.

Bir kullanıcı bir gruba (grup kümesine) ayrılmış bir işlem kaynağına bağlandığında, kullanıcının izinleri otomatik olarak grubun izinlerine göre daraltılır ve kullanıcının kaynağı grubun diğer üyeleriyle güvenli bir şekilde paylaşmasına olanak tanır.

Gruba ayrılmış bir işlem kaynağı oluşturma

  1. Azure Databricks çalışma alanınızda İşlem gidin ve İşlemoluştur'a tıklayın.
  2. Gelişmiş bölümünü genişletin.
  3. Erişim modualtında, El ile'e tıklayın ve ardından açılan menüden Ayrılmış (eski adı: Tek kullanıcı) seçin.
  4. Tek kullanıcı veya grup alanında, bu kaynağa atanmasını istediğiniz grubu seçin.
  5. İstenen diğer işlem ayarlarını yapılandırın, ardından Oluştur'a tıklayın.

Grup kümelerini yönetmek için en iyi yöntemler

Grup kümeleri kullanılırken kullanıcı izinlerinin kapsamı gruba göre belirlendiğinden Databricks, grup kümesiyle kullanmayı planladığınız her grup için bir /Workspace/Groups/<groupName> klasörü oluşturmanızı önerir. Ardından, klasördeki CAN MANAGE izinleri gruba atayın. Bu, grupların izin hatalarından kaçınmasını sağlar. Grubun tüm not defterleri ve çalışma alanı varlıkları grup klasöründe yönetilmelidir.

Grup kümelerinde çalışmak için aşağıdaki iş yüklerini de değiştirmeniz gerekir:

  • MLflow: Not defterini grup klasöründen çalıştırdığınızdan veya mlflow.set_tracking_uri("/Workspace/Groups/<groupName>")çalıştırdığınızdan emin olun.
  • AutoML: AutoML çalıştırmalarınız için isteğe bağlı experiment_dir parametresini “/Workspace/Groups/<groupName>” olarak ayarlayın.
  • dbutils.notebook.run: Grubun çalıştırılan not defteri üzerinde READ izni olduğundan emin olun.

Grup kümelerinde izin davranışı

Bir grup kümesinde gerçekleştirilen tüm komutlar, sorgular ve diğer eylemler, tek tek kullanıcıya değil, gruba atanan izinleri kullanır.

Tüm grup üyelerinin Spark API'lerine ve paylaşılan işlem ortamına tam erişimi olduğundan tek tek kullanıcı izinleri zorunlu kılınamaz. Kullanıcı tabanlı izinler uygulandıysa, bir üye kısıtlanmış verileri sorgulayabilir ve erişimi olmayan başka bir üye paylaşılan ortam üzerinden sonuçları almaya devam edebilir. Bu nedenle, grubun üyesi olan kullanıcının değil grubun kendisi, eylemi başarıyla gerçekleştirmek için gerekli izinlere sahip olmalıdır.

Örneğin, grubun bir tabloyu sorgulamak, gizli dizi kapsamına veya gizli diziye erişmek, Unity Kataloğu bağlantı kimlik bilgilerini kullanmak, git klasörüne erişmek veya çalışma alanı nesnesi oluşturmak için açık izne ihtiyacı vardır.

Örnek grup izinleri

Grup kümesini kullanarak bir veri nesnesi oluşturduğunuzda, grup nesnenin sahibi olarak atanır.

Örneğin, bir grup kümesine bağlı bir not defteriniz varsa ve aşağıdaki komutu çalıştırın:

use catalog main;
create schema group_cluster_group_schema;

Ardından şemanın sahibini denetlemek için şu sorguyu çalıştırın:

describe schema group_cluster_group_schema;

Grup şeması örnek açıklaması

Denetim grubu özelleşmiş hesaplama etkinliği

Grup kümesi bir iş yükü çalıştırdığında iki anahtar kimlik söz konusu olur:

  1. İş yükünü grup kümesinde çalıştıran kullanıcı
  2. gerçek iş yükü eylemlerini gerçekleştirmek için izinleri kullanılan grup

denetim günlüğü sistem tablosu bu kimlikleri aşağıdaki parametreler altında kaydeder:

  • identity_metadata.run_by: Eylemi gerçekleştiren kimlik doğrulaması yapan kullanıcı
  • identity_metadata.run_as: Eylem için izinleri kullanılan yetkilendirme grubu.

Aşağıdaki örnek sorgu, grup kümesiyle gerçekleştirilen bir eylem için kimlik meta verilerini çeker:

select action_name, event_time, user_identity.email, identity_metadata
from system.access.audit
where user_identity.email = "uc-group-cluster-group" AND service_name = "unityCatalog"
order by event_time desc limit 100;

Daha fazla örnek sorgu için denetim günlüğü sistem tablolarına başvurun. bkz. Denetim günlüğü sistem tablosuna.

Bilinen sınırlamalar

Ayrılmış grup erişimi aşağıdaki sınırlamalara sahiptir:

  • API ve SDK kullanılarak oluşturulan işlere grup erişimi atanamaz. Bunun nedeni, işin run_as parametresinin yalnızca tek bir kullanıcı veya hizmet sorumlusunu desteklemesidir.
  • git deposunu kullanıma almak için kullanılan geçici dizin yazılabilir olmadığından Git kullanan işler başarısız olur. Bunun yerine Git klasörlerini kullanın.
  • Köken sistemi tabloları, bir grup kümesinde çalışan iş yükleri için identity_metadata.run_as (yetkilendirme grubu) veya identity_metadata.run_by (kimlik doğrulama kullanıcısını) kaydetmez.
  • Müşteri depolamasına teslim edilen denetim günlükleri, grup kümesinde çalışan iş yükleri için identity_metadata.run_as (yetkilendirme grubu) veya identity_metadata.run_by (kimlik doğrulayan kullanıcı) kaydedilmez. Kimlik meta verilerini görüntülemek için system.access.audit tablosunu kullanmanız gerekir.
  • Bir grup kümesine eklendiğinde, Katalog Gezgini yalnızca grup tarafından erişilebilen varlıklara göre filtre uygulamaz.
  • Grup üyesi olmayan grup yöneticileri grup kümelerini oluşturamaz, düzenleyemez veya silemez. Bunu yalnızca çalışma alanı yöneticileri ve grup üyeleri yapabilir.
  • Bir grup yeniden adlandırılırsa, grup adına başvuran tüm işlem ilkelerini el ile güncelleştirmeniz gerekir.
  • Çalışma alanı ACL'leri devre dışı bırakıldığında güvenlik ve veri erişim denetimlerinin olmaması nedeniyle grup kümeleri, ACL'lerin devre dışı bırakıldığı çalışma alanları (isWorkspaceAclsEnabled == false) için desteklenmez.
  • %run Not defteri bağlamında yürütülen komut ve diğer eylemler her zaman grubun izinleri yerine kullanıcının izinlerini kullanır. Bunun nedeni, bu eylemlerin kümenin ortamı tarafından değil not defteri ortamı tarafından işlenmesidir. gibi dbutils.notebook.run() alternatif komutlar kümede çalıştırılır ve bu nedenle grubun izinlerini kullanır.
  • is_member(<group>) işlevi, bir grup kümesi üzerinde çağrıldığında false döndürür çünkü grup kendi üyesi değildir. Hem grup kümeleri hem de diğer erişim modlarında üyeliği doğru şekilde denetlemek için is_member(<group>) OR current_user() == <group>kullanın.
  • Uç noktaları sunan model oluşturma ve bunlara erişme desteklenmez.
  • Vektör arama uç noktalarını veya dizinlerini oluşturma ve bunlara erişme desteklenmez.
  • Dosya ve klasör silme işlemi grup kümelerinde desteklenmez.
  • Dosya yükleme kullanıcı arabirimi grup kümelerini desteklemez.