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.
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 MANAGEizinleri 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
- Azure Databricks çalışma alanınızda İşlem gidin ve İşlemoluştur'a tıklayın.
- Gelişmiş bölümünü genişletin.
- 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.
- Tek kullanıcı veya grup alanında, bu kaynağa atanmasını istediğiniz grubu seçin.
- İ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_dirparametresini“/Workspace/Groups/<groupName>”olarak ayarlayın. -
dbutils.notebook.run: Grubun çalıştırılan not defteri üzerindeREADizni 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;
ö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:
- İş yükünü grup kümesinde çalıştıran kullanıcı
- 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_asparametresinin 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) veyaidentity_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) veyaidentity_metadata.run_by(kimlik doğrulayan kullanıcı) kaydedilmez. Kimlik meta verilerini görüntülemek içinsystem.access.audittablosunu 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.
-
%runNot 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. gibidbutils.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ığındafalsedö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çinis_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.