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.
Jupyter not defterleri, Microsoft Sentinel veri gölündeki ve federasyon tablolarındaki verileri keşfetmek, çözümlemek ve görselleştirmek için etkileşimli bir ortam sağlar. Not defterleriyle kod yazıp yürütebilir, iş akışınızı belgeleyebilir ve sonuçları tek bir yerden görüntüleyebilirsiniz. Bu hepsi bir arada dizüstü bilgisayar ortamı, veri keşfini kolaylaştırıyor, gelişmiş analitik çözümler geliştiriyor ve başkalarıyla içgörüler paylaşıyor. Not defterleri, Visual Studio Code içinde Python ve Apache Spark'ı kullanarak ham güvenlik verilerini eyleme dönüştürülebilir zekaya dönüştürmenize yardımcı olur.
Bu makalede, Visual Studio Code jupyter not defterlerini kullanarak data lake verilerini keşfetme ve bunlarla etkileşim kurma işlemleri gösterilmektedir.
Önkoşullar
Microsoft Sentinel veri gölüne dahil etme
Microsoft Sentinel veri gölünde notebook'ları kullanabilmek için önce veri gölüne kaydolmanız gerekir. Sentinel veri gölüne geçiş yapmadıysanız bkz. Microsoft Sentinel veri gölüne geçiş yapma. Veri gölünü kullanmaya kısa süre önce başladıysanız, not defterlerini kullanarak anlamlı analizler oluşturabilmeniz için yeterli miktarda veri içe aktarılana kadar biraz zaman geçmesi gerekebilir.
Veri gölü notebookları için gerekli izinler
Microsoft Entra ID rolleri, veri gölündeki tüm çalışma alanları arasında geniş erişim sağlar. Alternatif olarak, Azure RBAC rollerini kullanarak tek tek çalışma alanlarına erişim vekleyebilirsiniz. Microsoft Sentinel çalışma alanları için Azure RBAC izinlerine sahip kullanıcılar, not defterlerini data lake katmanındaki bu çalışma alanlarında çalıştırabilir. Daha fazla bilgi için bkz. Microsoft Sentinel'de roller ve izinler.
İsteğe bağlı olarak, Microsoft Sentinel kapsam belirleme veya satır düzeyi RBAC, çalışma alanı içinde veri erişimini daha fazla kısıtlamak için yapılandırılabilir. Etkinleştirildiğinde, satır düzeyi kapsam belirleme sorgular tarafından döndürülen verileri kullanıcının atanan kapsamına göre sınırlar. Satır düzeyi kapsam belirleme yapılandırılmamışsa, mevcut çalışma alanı düzeyi izin modeli değişmeden uygulanır. Daha fazla bilgi için bkz. Microsoft Sentinel kapsamını yapılandırma (satır düzeyi RBAC) (önizleme).
Analiz katmanında yeni özel tablolar oluşturmak için veri gölü yönetilen kimliğine Log Analytics çalışma alanında Log Analytics Contributor rolü atanmalıdır.
Rolü atamak için aşağıdaki adımları izleyin:
- Azure portal, rolü atamak istediğiniz Log Analytics çalışma alanına gidin.
- Sol gezinti bölmesinde Erişim denetimi (IAM) öğesini seçin.
- Rol ataması ekle'yi seçin.
- Rol tablosunda Log Analytics Contributor öğesini seçin, ardından İleri öğesini seçin
- Yönetilen kimlik'i ve ardından Üye seç'i seçin.
- Veri gölünüzün yönetilen kimliği, adı
msg-resources-<guid>olan sistem tarafından atanan bir yönetilen kimliktir. Yönetilen kimliği ve ardından Seç'i seçin. - Gözden geçir ve ata seçin.
Yönetilen kimliklere rol atama hakkında daha fazla bilgi için bkz. Azure portal kullanarak Azure rolleri atama.
Visual Studio Code ve Microsoft Sentinel uzantısını yükleme
Henüz Visual Studio Code yoksa Mac, Linux veya Windows için Visual Studio Code indirip yükleyin.
Visual Studio Code (VS Code) için Microsoft Sentinel uzantısı uzantı marketinden yüklenir. Uzantıyı yüklemek için şu adımları izleyin:
- Sol araç çubuğunda Uzantılar Marketi'ni seçin.
- Sentinel arayın.
- Microsoft Sentinel uzantısını ve ardından Yükle'yi seçin.
- Uzantı kurulduktan sonra, Microsoft
simgesinde görünür.
Not defterlerinde kod tamamlama ve önerileri etkinleştirmek için Visual Studio Code için GitHub Copilot uzantısını yükleyin.
- Uzantılar Marketi'nde GitHub Copilot arayın ve yükleyin.
- Yüklemeden sonra GitHub hesabınızı kullanarak GitHub Copilot oturum açın.
Veri gölü katman tablolarını keşfedin
Microsoft Sentinel uzantısını yükledikten sonra data lake tier tablolarını keşfetmeye ve verileri analiz etmek için Jupyter not defterleri oluşturmaya başlayabilirsiniz.
Microsoft Sentinel uzantısında oturum açın
Microsoft Sentinel uzantısında oturum açmak için şu adımları izleyin:
Sol araç çubuğundaki
simgesini seçin."Microsoft Sentinel" uzantısı Microsoft'u kullanarak oturum açmak istiyor metnini içeren bir iletişim kutusu görüntülenir. İzin Ver'i seçin.
Oturum açma işlemini tamamlamak için hesap adınızı seçin.
Oturum açma bilgilerinizle ilişkilendirilmiş birden çok konuk hesabınız varsa hesaplar arasında sorunsuz bir şekilde geçiş yapabilirsiniz. Hesaplar arasında geçiş yapmak için Visual Studio Code penceresinin sol alt kısmındaki hesap adını seçin. Aynı anda yalnızca bir hesap seçilebilir.
Önemli
Hesaplar arasında geçiş yapmak, etkin pyspark oturumlarının bağlantısını keser.
Data Lake tablolarını ve işlerini görüntüleme
Oturum açtığınızda, Sentinel uzantısı sol bölmede Lake tabloları ve İşler listesini görüntüler. Tablolar veritabanına ve kategoriye göre gruplandırılır. Federasyon tabloları, Sistemtabloları altındaki Federasyon tabloları kategorisi altında görüntülenir. Sütun tanımlarını görmek için bir tablo seçin.
Defter işleri planlama hakkında bilgi için, bu makaledeki defter işleri ve programlarını Oluştur ve yönet bölümüne bakabilirsiniz. Federasyon tabloları hakkında daha fazla bilgi için bkz. Microsoft Sentinel veri gölünde federasyon tablolarını kullanma.
Yeni not defteri oluşturma
Visual Studio Code'ta yeni bir Jupyter defteri oluşturmak için şu adımları izleyin:
Yeni bir not defteri oluşturmak için aşağıdaki yöntemlerden birini kullanın.
Arama kutusuna girin > veya Ctrl+Shift+P tuşlarına basın ve ardından Yeni Jupyter Notebook Oluştur yazın.
Dosya > Yeni Dosya'yı seçin, ardından açılır listeden Jupyter Notebook'u seçin.
Yeni not defterinde aşağıdaki kodu ilk hücreye yapıştırın.
from sentinel_lake.providers import MicrosoftSentinelProvider data_provider = MicrosoftSentinelProvider(spark) table_name = "EntraGroups" df = data_provider.read_table(table_name) df_filtered = df.select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId").show(100, truncate=False) # Transform the dataframe df_transformed = df.filter(df.mail.isNotNull()).select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId") write_options = { 'mode': 'overwrite' } # Save to a new table data_provider.save_as_table(df_transformed, "EntraGroups_Processed_SPRK", write_options=write_options)Editör, hem
MicrosoftSentinelProvidersınıfı hem de veri gölündeki tablo adları için IntelliSense kod tamamlama sağlar.Kodu not defterinde yürütmek için Çalıştır üçgenini seçin. Sonuçlar, kod hücresinin altındaki çıkış bölmesinde görüntülenir.
Çalışma zamanı havuzları listesi için listeden Microsoft Sentinel seçin.
Not defterini orta büyüklükteki çalışma zamanı havuzunda çalıştırmak için Orta'ya tıklayın. Farklı çalışma zamanları hakkında daha fazla bilgi için bkz. Uygun çalışma zamanı havuzunu seçme.
Not
Çekirdeğin seçilmesi Spark oturumunu başlatır ve kodu not defterinde çalıştırır. Havuzu seçtikten sonra oturumun başlaması 3-5 dakika sürebilir. Oturum zaten etkin olduğundan, sonraki çalıştırmalar daha hızlıdır.
Oturum başlatıldığında, not defterindeki kod çalışır ve sonuçlar kod hücresinin altındaki çıkış bölmesinde görüntülenir; örneğin:
Microsoft Sentinel veri gölüyle nasıl etkileşim kurulduğunu gösteren örnek not defterleri için bkz. Microsoft Sentinel data lake için örnek not defterleri.
Durum çubuğundan not defteri durumunu izleme
Not defterinin altındaki durum çubuğu, not defterinin geçerli durumu ve Spark oturumu hakkında bilgi sağlar. Durum çubuğu aşağıdaki bilgileri içerir:
Seçili Spark havuzu için sanal çekirdek kullanım yüzdesi. Kullanılan vCore sayısını ve havuzda kullanılabilen toplam vCore sayısını görmek için yüzdenin üzerine gelin. Yüzdeler, oturum açılan hesap için etkileşimli ve toplu iş iş yüklerindeki mevcut kullanımı temsil eder.
Spark oturumunun bağlantı durumu, örneğin
Connecting,ConnectedveyaNot Connected.
Oturum zaman aşımlarını ayarlama
Etkileşimli not defterleri için oturum zaman aşımı ve zaman aşımı uyarılarını ayarlayabilirsiniz. Bu ayarlar, oturumlar arasında korunmaları için uzantı ayarlarında kalıcı hale gelir.
Zaman aşımını değiştirmek için not defterinin altındaki durum çubuğunda bağlantı durumunu seçin. Aşağıdaki seçeneklerden birini belirleyin:
Oturum zaman aşımı süresini ayarlama: Oturum zaman aşımına uğramadan önce dakika cinsinden süreyi ayarlar. Varsayılan değer 30 dakikadır.
Oturum zaman aşımı süresini sıfırla: Oturum zaman aşımını varsayılan değer olan 30 dakikaya sıfırlar.
Oturum zaman aşımı uyarı süresini ayarla: Zaman aşımından birkaç dakika önce oturumun zaman aşımına uğramak üzere olduğunu belirten bir uyarı görüntülenir. Varsayılan değer 5 dakikadır.
Oturum zaman aşımı uyarı süresini sıfırla: Oturum zaman aşımı uyarısını varsayılan 5 dakika değerine sıfırlar.
Not defterlerinde GitHub Copilot kullanma
Not defterlerine kod yazmanıza yardımcı olması için GitHub Copilot kullanın. GitHub Copilot, kodunuzun bağlamını temel alan kod önerileri ve otomatik tamamlama sağlar. GitHub Copilot kullanmak için Visual Studio Code'da GitHub Copilot uzantısının yüklü olduğundan emin olun.
Microsoft Sentinel data lake için örnek not defterlerinden kod kopyalayın ve GitHub Copilot bağlamı sağlamak için not defterleri klasörünüzde kaydedin. GitHub Copilot daha sonra not defterinizin bağlamını temel alarak kod tamamlamaları önerebilir.
Aşağıdaki örnek, GitHub Copilot’un bir kod incelemesi oluşturduğunu gösterir.
Microsoft Sentinel Provider sınıfını kullanın
Microsoft Sentinel veri gölüne bağlanmak için sınıfını MicrosoftSentinelProvider kullanın.
MicrosoftSentinelProvider sınıfı modülün sentinel_lake.providers bir parçasıdır ve veri gölüyle etkileşime geçmek için yöntemler sağlar. Spark notebookunuzu Microsoft Sentinel veri gölü tablolarına bağlamak için sınıfı içe aktarın ve bir spark oturum kullanarak bir örnek oluşturun. Aşağıdaki kod, Sentinel Lake veri sağlayıcısını başlatır ve böylece defter Spark'tan Microsoft Sentinel tablolarını sorgulayabilir:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Kullanılabilir yöntemler hakkında daha fazla bilgi için Microsoft Sentinel Sağlayıcı sınıfı başvurusuna bakın.
Uygun çalışma zamanı havuzunu seçin
Microsoft Sentinel uzantısında Jupyter not defterlerinizi çalıştırmak için kullanılabilecek üç çalışma zamanı havuzu vardır. Her havuz farklı iş yükleri ve performans gereksinimleri için tasarlanmıştır. Çalışma zamanı havuzu seçimi Spark işlerinizin performansını, maliyetini ve yürütme süresini etkiler.
| Çalışma Zamanı Havuzu | Önerilen Kullanım Örnekleri | Özellikler |
|---|---|---|
| Küçük | Geliştirme, test ve basit keşif analizi. Basit dönüştürmelerle küçük iş yükleri. Maliyet verimliliği önceliklendirildi. |
Küçük iş yükleri için uygundur Basit dönüştürmeler. Daha düşük maliyet, daha uzun yürütme süresi. |
| Orta | Birleştirmeler, toplamalar ve ML modeli eğitimi içeren ETL işleri. Karmaşık dönüşümler içeren orta düzey iş yükleri. |
Small'a göre geliştirilmiş performans. Paralel işlemleri ve orta düzeyde bellek yoğun işlemleri işler. |
| Büyük | Derin öğrenme ve ML iş yükleri. Kapsamlı veri karıştırma, büyük birleştirmeler veya gerçek zamanlı işleme. Kritik çalıştırma süresi. |
Yüksek bellek ve işlem gücü. Çok az gecikme. Büyük, karmaşık veya zamana duyarlı iş yükleri için en iyi yöntemdir. |
Not
İlk erişildiğinde çekirdek seçeneklerinin yüklenmesi yaklaşık 30 saniye sürebilir.
Çalışma zamanı havuzunu seçtikten sonra oturumun başlatılması 3-5 dakika sürebilir.
İletileri, günlükleri ve hataları görüntüleme
İleti günlükleri ve hata iletileri Visual Studio Code üç alanda görüntülenir.
Çıkış bölmesi.
- Çıkış bölmesinde, açılan listeden Microsoft Sentinel seçin.
- Ayrıntılı günlük girdilerini eklemek için Hata Ayıklama seçeneğini seçin.
Not defterindeki satır içi iletiler, kod hücrelerinin yürütülmesi hakkında geri bildirim ve bilgi sağlar. Bu iletiler yürütme durumu güncelleştirmelerini, ilerleme göstergelerini ve önceki hücredeki kodla ilgili hata bildirimlerini içerir
Visual Studio Code’un sağ alt köşesinde bulunan ve bildirim iletisi olarak da bilinen bildirim açılır penceresi, not defteri ile Spark oturumundaki işlemlerin durumu hakkında gerçek zamanlı uyarılar ve güncellemeler sağlar. Bu bildirimler arasında iletiler, uyarılar ve spark oturumuna başarılı bağlantı gibi hata uyarıları ve zaman aşımı uyarıları yer alır.
Not defteri işlerini ve zamanlamalarını oluşturma ve yönetme
Visual Studio Code için Microsoft Sentinel uzantısını kullanarak işleri belirli zamanlarda veya aralıklarla çalışacak şekilde zamanlayabilirsiniz. İşler, Microsoft Sentinel veri gölündeki verileri özetlemek, dönüştürmek veya analiz etmek için veri işleme görevlerini otomatikleştirmenize olanak tanır. İşler ayrıca verileri işlemek ve sonuçları data lake katmanı veya analiz katmanındaki özel tablolara yazmak için de kullanılır. İşleri oluşturma ve yönetme hakkında daha fazla bilgi için bkz. Jupyter not defteri işlerini oluşturma ve yönetme.
VS Code Notebook'ları için hizmet parametreleri ve sınırları
Aşağıdaki bölümde, VS Code Not Defterleri kullanılırken Microsoft Sentinel veri gölü için hizmet parametreleri ve sınırları listelanmaktadır.
| Kategori | Parametre/sınır |
|---|---|
| Analiz katmanındaki özel tablo | Analiz katmanındaki özel tablolar not defterinden silinemez; Bu tabloları silmek için Log Analytics'i kullanın. Daha fazla bilgi için bkz. Azure İzleyici Günlüklerinde tablo ve sütun ekleme veya silme |
| Ağ geçidi web yuvası zaman aşımı | 2 saat |
| Etkileşimli sorgu zaman aşımı | 2 saat |
| Etkileşimli oturum etkinlik dışı zaman aşımı | 20 dakika |
| Dil | Python |
| Graf sorgusu zaman aşımı | 7,5 dakika |
| Notebook görevi zaman aşımı | 8 saat |
| En fazla eşzamanlı not defteri görevi | 3, izleyen işler kuyruğa alınır |
| Etkileşimli sorgulamada maksimum eşzamanlı kullanıcı sayısı | Büyük havuzda 8-10 |
| Oturum başlatma zamanı | Spark işlem oturumlarının başlatılması yaklaşık 5-6 dakika sürer. Oturumun durumunu VS Code not defterinizin alt kısmında görüntüleyebilirsiniz. |
| Desteklenen kitaplıklar | Data Lake'i sorgulamak için yalnızca 3.4 Azure Synapse kitaplıkları ve soyutlanmış işlevler için Microsoft Sentinel Sağlayıcısı kitaplığı desteklenir. Pip yüklemeleri veya özel kitaplıklar desteklenmez. |
| VS Code UX’te kayıt görüntüleme sınırı | 100.000 satır |
Sorun giderme
Not defterleriyle çalışırken sık karşılaşılan hatalar ve çözümler için bkz. Microsoft Sentinel veri gölündeki not defterlerinde sorun giderme.
İlgili içerik
- Microsoft Sentinel data lake'te not defterleriyle ilgili sorunları giderme
- Not defteri işleri oluşturma ve yönetme
- Microsoft Sentinel data lake için örnek not defterleri
- Microsoft Sentinel Sağlayıcısı sınıfı başvurusu
- Microsoft Sentinel veri gölüne genel bakış
- Microsoft Sentinel data lake rolleri ve izinleri