Aracılığıyla paylaş


Varsayılan çalışma alanı erişimini Tüketici erişimi olarak değiştirme

Önemli

Bu özellik Genel Önizleme aşamasındadır. Önizlemeler sayfasında önizleme kaydını onaylayabilirsiniz. Bkz. Azure Databricks önizlemelerini yönetme.

Bu sayfada, çalışma alanı yöneticilerinin grup kopyalama kullanarak yeni kullanıcılar için varsayılan çalışma alanı erişimini Tüketici erişimi olarak nasıl değiştirebileceği açıklanmaktadır. Bu özellik, yazma ayrıcalıklarına ihtiyaç duyan kullanıcılar için uygun erişim düzeylerini korurken, tüketici ekleme işlemini büyük ölçekte kolaylaştırmanıza yardımcı olur.

Genel Bakış

Varsayılan olarak, çalışma alanına eklenen her kullanıcı sistem users grubunun üyesi olur. Bu grup, genellikle kullanıcıların çalışma alanı nesneleri oluşturmasına ve değiştirmesine olanak tanıyan yazma yetkileri olan Çalışma Alanı erişimi veya Databricks SQL erişim yetkilerine sahiptir.

Kullanıcılara yalnızca görüntüleme modunda bir Tüketici deneyimi sağlamak için, users grubunun sadece Tüketici yetkisine sahip olması gerekir. Yetkilendirmeler eklenir, bu nedenle Tüketici erişimi yalnızca kullanıcıya atanan tek yetkilendirme olduğunda basitleştirilmiş salt görüntüleme deneyimi sağlar. Grup kopyalama, yazma ayrıcalıklarına ihtiyaç duyan mevcut kullanıcıları kesintiye uğratmadan bu değişikliği yapmanıza olanak tanır. Mevcut kullanıcılar için yeni bir grup oluşturur ve yeni kullanıcılar için varsayılan users grubu güncelleştirir.

Tüketici erişimi ve özellikleri hakkında daha fazla bilgi için bkz. Tüketici erişimi nedir?. Yetkilendirmeler hakkında daha fazla bilgi edinmek için bkz. Yetkilendirmeleri yönetme.

Bu özellik ne zaman kullanılır?

Şu durumlarda bu özelliği kullanın:

  • Yeni çalışma alanı kullanıcılarının varsayılan olarak yalnızca Tüketici erişimi olmasını istiyorsunuz.
  • Yazma ayrıcalıklarına (Workspace veya Databricks SQL erişimi) ihtiyaç duyan kullanıcıları yalnızca görüntüleme tüketicilerinden ayırmanız gerekir.
  • Tüketici katılım sürecini büyük ölçekte kolaylaştırmak istiyorsunuz.

Grup kopyalama nasıl çalışır?

Sistem users grubu Azure Databricks tarafından otomatik olarak yönetilir ve tüm çalışma alanı kullanıcılarını içerir. Bu grup silinemez. Sistem grupları hakkında daha fazla bilgi edinmek için bkz. Grup kaynakları.

Grubu kopyaladığınızda users :

  1. users grubunun şu anda sahip olduğu yetkilendirmelerle yeni bir grup oluşturulur.
  2. Tüm mevcut çalışma alanı kullanıcıları otomatik olarak kopyalanan gruba taşınır ve geçerli erişim düzeylerini korumalarını sağlar.
  3. Grup users yalnızca Tüketici yetkilendirmesine sahip olacak şekilde güncelleştirilir.
  4. Çalışma alanına eklenen gelecekteki kullanıcılar otomatik olarak grubun üyesi users olur ve yalnızca Tüketici yetkilendirmesi alır.

users Grup çok derin iç içe yerleştirilmiş gruplar içerdiğinde (diğer grupların üyesi olan gruplar), bunların nasıl işleneceğini seçebilirsiniz:

  • Tüm grup üyelerini doğrudan ekleme (Önerilen): İç içe grubun tüm üyelerini doğrudan kopyalanan gruba ekler. Bu, grup yapısını basitleştirir.
  • Dışla: İç içe grubu tamamen atlar. Dışlanan iç içe grubun üyeleri klonlanan gruba eklenmez.

Gereksinimler

Varsayılan çalışma alanı erişimini değiştirmek için çalışma alanı yöneticisi olmanız gerekir.

Kullanıcı arabirimini kullanarak varsayılan çalışma alanı erişimini değiştirme

Varsayılan çalışma alanı erişimini Tüketici erişimi olarak değiştirmek için:

  1. Çalışma alanı yöneticisi olarak Azure Databricks çalışma alanında oturum açın.

  2. Azure Databricks çalışma alanının üst çubuğunda kullanıcı adınıza tıklayın ve Ayarlar'ı seçin.

  3. Gelişmiş sekmesine tıklayın.

  4. Erişim denetimi altında, Varsayılan çalışma alanı erişimini tüketici erişimine değiştir'in yanındaki Aç'a tıklayın.

  5. İletişim kutusunda, kopyalanan grup için bir ad girin. Bu grup, geçerli yetkilendirmelerini koruması gereken tüm mevcut kullanıcıları içerir.

    Varsayılan erişimi tüketici erişimi olarak değiştirin.

  6. Grup oluştur ve kopyala'ya tıklayın.

    Sistem yeni grubu oluşturur ve kopyalama işlemini başlatır. Kopyalama işlemi devam ederken modal pencereyi kapatmayın.

  7. users Grup fazla derin iç içe yerleştirilmiş gruplar içeriyorsa, bunları işlemeniz istenir.

    • İç içe grubun tüm üyelerini doğrudan kopyalanan gruba ekleyerek grubu düzleştirmek için Tüm grup üyelerini doğrudan ekle (Önerilen) öğesini seçin.
    • bu iç içe grubu atlamak için Bu grubu dışla'yı seçin.
    • İsteğe bağlı olarak, bu işlem sırasında gelecekteki tüm iç içe geçmiş gruplar için seçiminizi kullanmak için bu kararı iç içe geçme derinliği sınırını aşan tüm gelecek gruplara uygula'yı seçin.
  8. Son adım: Yazma izinlerini taşıma ve varsayılan erişimi değiştirme bölümünde Son'a tıklayın.

    Sistem, grubu yalnızca Tüketici yetkilendirmesine sahip olacak şekilde güncelleştirir users ve özgün yetkilendirmeleri kopyalanan gruba atar.

  9. Özeti gözden geçirin ve Bitti'ye tıklayın.

    Varsayılan erişimi tüketici erişimi olarak değiştirin.

Değişiklikleri doğrulama

İşlemi tamamladıktan sonra değişikliklerin doğru uygulandığını doğrulayın:

  1. Çalışma alanı yöneticisi olarak Azure Databricks çalışma alanında oturum açın.
  2. Üst çubukta kullanıcı adınıza tıklayın ve Ayarlar'ı seçin.
  3. Kimlik ve erişim sekmesine tıklayın.
  4. Gruplar'ın yanında Yönet'e tıklayın.
  5. Aşağıdakileri doğrulayın:
    • Kopyalanan grup var ve özgün users grupla aynı sayıda kullanıcıya sahip.
    • Grup users artık yalnızca Tüketici yetkilendirmesine sahip.

Dikkat edilmesi gerekenler ve en iyi yöntemler

Varsayılan çalışma alanı erişimini değiştirirken aşağıdakileri göz önünde bulundurun:

  • Yeni kullanıcılar üzerindeki etki: Varsayılan erişimi değiştirdikten sonra, çalışma alanına eklenen tüm yeni kullanıcılar yalnızca Tüketici yetkilendirmesi alır. Panoları, Genie alanlarını ve bunlarla paylaşılan Databricks Uygulamalarını görüntüleyebilir ve bunlarla etkileşimde bulunabilir, ancak yeni çalışma alanı nesneleri oluşturamaz. Varsayılan Databricks giriş sayfası Databricks One sayfasıdır. Daha fazla bilgi için bkz. Tüketici erişimi nedir? ve Databricks One nedir?.

  • Yazma ayrıcalıkları verme: Yeni kullanıcılara daha yüksek ayrıcalıklar vermeniz gerektiğinde, bunları kopyalanan gruba el ile eklemeniz veya tek tek ek yetkilendirmeler atamanız gerekir. Grup üyeliğini yönetme yönergeleri için bkz. Grupları yönetme.

  • Değişiklikleri geri alma: Bu yapılandırmayı geri almanız gerekiyorsa Çalışma Alanı erişimi ve Databricks SQL erişim yetkilendirmelerini gruba geri verin users . Ardından yeni kullanıcılar bu yetkilendirmeleri varsayılan olarak alır. Kopyalanan grubu, kullanıcıları düzenlemek için hala ihtiyacınız olup olmadığına bağlı olarak koruyabilir veya silebilirsiniz.

  • Kimlik sağlayıcılarıyla koordinasyon: Kullanıcıları ve grupları eşitlemek için SCIM sağlama veya otomatik kimlik yönetimi kullanıyorsanız, bu değişikliği kimlik yönetimi süreçlerinizle koordine edin. Bkz. SCIM kullanarak Microsoft Entra ID'den kullanıcıları ve grupları eşitleme.

SDK kullanarak grup kopyalamayı otomatikleştirme

Birden çok çalışma alanında toplu işlemler veya otomasyon için Python için Databricks SDK'sını kullanarak grup kopyalama işlemini otomatikleştirebilirsiniz. Bu yöntem, aynı yapılandırmayı birden çok çalışma alanına uygulamanız veya grup kopyalamayı kod olarak altyapı iş akışlarıyla tümleştirmeniz gerektiğinde kullanışlıdır.

Aşağıdaki Python betiği, users grubunu çoğaltmayı otomatikleştirir ve uygun yetkilendirmeleri tanımlar. Python için Databricks SDK'sını kullanır ve hem hesap hem de çalışma alanı için OAuth kullanılarak kimliği doğrulanmış yönetici ayrıcalıklarına sahip bir hizmet sorumlusu gerektirir. Bkz. OAuth ile Azure Databricks'e kullanıcı erişimini yetkilendirme.

Önkoşullar

  • Yönetici haklarına sahip hizmet sorumlusu
  • Ortam değişkenleri kümesi:
    • DATABRICKS_ACCOUNT_ID (Hesap konsolu URL'sinden UUID)
    • DATABRICKS_WORKSPACE_ID (çalışma alanı URL'sinden sayısal kimlik)
    • DATABRICKS_CLIENT_ID (hizmet sorumlusu istemci kimliği)
    • DATABRICKS_CLIENT_SECRET (hizmet sorumlusu istemci gizli anahtarı)

Örnek betik


import os
import databricks.sdk as dbx
from databricks.sdk.service import iam

# Set the Databricks account host URL for your account's cloud
DATABRICKS_HOST = "https://accounts.azuredatabricks.net"

# Fetch credentials from environment variables
DATABRICKS_ACCOUNT_ID = os.getenv("DATABRICKS_ACCOUNT_ID")
DATABRICKS_WORKSPACE_ID = os.getenv("DATABRICKS_WORKSPACE_ID")
DATABRICKS_CLIENT_ID = os.getenv("DATABRICKS_CLIENT_ID")
DATABRICKS_CLIENT_SECRET = os.getenv("DATABRICKS_CLIENT_SECRET")

# Initialize Databricks account client
account_client = dbx.AccountClient(
    host=DATABRICKS_HOST,
    account_id=DATABRICKS_ACCOUNT_ID,
    client_id=DATABRICKS_CLIENT_ID,
    client_secret=DATABRICKS_CLIENT_SECRET,
)

print(f"Authenticated to Databricks account {DATABRICKS_ACCOUNT_ID}")

# Get workspace and initialize workspace client
workspace = account_client.workspaces.get(workspace_id=DATABRICKS_WORKSPACE_ID)
workspace_name = workspace.workspace_name
workspace_client = account_client.get_workspace_client(workspace)

print(f"Authenticated to Databricks workspace {DATABRICKS_WORKSPACE_ID}, '{workspace_name}'")

def get_workspace_group(group_name):
    """
    Fetches the workspace group with the given name.
    """
    group = list(workspace_client.groups.list(filter=f"displayName eq '{group_name}'"))[0]
    print(f"Found workspace group: {group.display_name}")
    print(f"Workspace {group.display_name} has {len(group.members)} members")
    return group

def clone_workspace_group_to_account(workspace_group_name, new_account_group_name):
    workspace_group = get_workspace_group(workspace_group_name)
    group = account_client.groups.create(
        display_name=new_account_group_name, members=workspace_group.members
    )
    print(f"Created account group: {new_account_group_name}")
    print(f"Cloned workspace group {workspace_group.display_name} to account group {group.display_name}")
    print(f"Account {group.display_name} has {len(group.members)} members")
    return group

def add_account_group_to_workspace(account_group, workspace):
    permissions = account_client.workspace_assignment.update(
        workspace_id=workspace.workspace_id,
        principal_id=account_group.id,
        permissions=[iam.WorkspacePermission.USER],
    )
    print(f"Added account group {account_group.display_name} to workspace {workspace.workspace_id}, {workspace.workspace_name}")
    return permissions

# Clone workspace 'users' group to new account group '{workspace_name}-contributors'
account_group = clone_workspace_group_to_account(
    "users", f"{workspace_name}-contributors"
)

# Add account group '{workspace_name}-contributors' to the workspace
permissions = add_account_group_to_workspace(account_group, workspace)

Mevcut gruplarınızı çoğaltmak ve izinleri yeniden atamak için betiği çalıştırdıktan sonra, yeni kullanıcılara otomatik olarak bu erişimin verilmesi için users grubuna Tüketici erişimi verin.

Uyarı

Kuruluşunuzun ilkeleri ve adlandırma kuralları için grup adlarını ve yetkilendirmelerini ayarlayın. Değişiklikleri geniş kapsamlı bir şekilde uygulamadan önce her zaman üretim dışı bir ortamda test edin.

Sırada ne var?

Varsayılan çalışma alanı erişimini değiştirdikten sonra şunları yapmak isteyebilirsiniz: