Aracılığıyla paylaş


Depo dağıtımlarını özelleştirme (Genel Önizleme)

Depo içeriğinizin Microsoft Sentinel çalışma alanlarına dağıtımını özelleştirmenin iki birincil yolu vardır. Her yöntem farklı dosyalar ve söz dizimi kullanır, bu nedenle başlamak için bu örnekleri göz önünde bulundurun.

Özelleştirme yöntemi Ele alınan dağıtım seçenekleri
GitHub iş akışı
DevOps işlem hattı
Bağlantınızın dağıtım tetikleyicisini özelleştirme
Dağıtım yolunuzu özelleştirme
Akıllı dağıtımları etkinleştirme
Yapılandırma dosyaları İçerik dağıtımlarınızın öncelikli sırasını denetleme
Belirli içerik dosyalarını dağıtımların dışında tutmak için seçin
Parametre dosyalarını belirli içerik dosyalarıyla eşleyerek farklı çalışma alanları arasında dağıtımları ölçeklendirme

Önemli

Microsoft Sentinel Depoları özelliği şu anda ÖNİzLEME aşamasındadır. Beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha yasal koşullar için Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'na bakın.

Önkoşullar

Depo dağıtımlarını özelleştirmek için bir depo bağlantısı bulunmalıdır. Bağlantı oluşturma hakkında daha fazla bilgi için bkz . Deponuzdan özel içerik dağıtma. Bağlantı yapıldıktan sonra aşağıdaki önkoşullar geçerlidir:

  • GitHub deponuza ortak çalışan erişimi veya Azure DevOps deponuza Proje Yöneticisi erişimi
  • GitHub için etkinleştirilen eylemler ve Azure DevOps için etkinleştirilen İşlem Hatları
  • Çalışma alanlarınıza dağıtmak istediğiniz özel içerik dosyalarının desteklenen bir biçimde olduğundan emin olun. Desteklenen biçimler için bkz . Depo içeriğinizi planlama.

Dağıtılabilir içerik türleri hakkında daha fazla bilgi için bkz . İçeriğinizi doğrulama.

İş akışını veya işlem hattını özelleştirme

Varsayılan iş akışı yalnızca depoya yapılan işlemeleri temel alarak son dağıtımdan bu yana değiştirilen içeriği dağıtır. Farklı dağıtım tetikleyicilerini yapılandırmak veya içeriği yalnızca belirli bir kök klasörden dağıtmak için özelleştirin.

Bağlantı türünüze bağlı olarak aşağıdaki sekmelerden birini seçin:

GitHub dağıtım iş akışınızı özelleştirmek için:

  1. GitHub'da deponuza gidin ve iş akışınızı .github/workflows dizininde bulun.

    İş akışı dosyası, sentinel-deploy-xxxxx.yml ile başlayan YML dosyasıdır. Bu dosyayı açtığınızda iş akışı adı ilk satırda gösterilir ve aşağıdaki varsayılan adlandırma kuralına sahiptir: Deploy Content to <workspace-name> [<deployment-id>].

    Örneğin: name: Deploy Content to repositories-demo [xxxxx-dk5d-3s94-4829-9xvnc7391v83a]

  2. Sayfanın sağ üst kısmındaki kalem düğmesini seçerek dosyayı düzenlemek üzere açın ve dağıtımı aşağıdaki gibi değiştirin:

    • Dağıtım tetikleyicisini değiştirmek için koddaki iş akışının çalıştırılmasını tetikleyen olayı açıklayan bölümünü güncelleştirin on .

      Varsayılan olarak, bu yapılandırma olarak on: pushayarlanır. Bu, iş akışının hem mevcut içerikte yapılan değişiklikler hem de depoya yeni içerik eklemeleri de dahil olmak üzere bağlı dala yapılan herhangi bir gönderimde tetiklendiği anlamına gelir. Örneğin:

      on:
          push:
              branches: [ main ]
              paths:
              - `**`
              - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow
              - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
      

      Örneğin, iş akışını düzenli aralıklarla çalışacak şekilde zamanlamak veya farklı iş akışı olaylarını birlikte birleştirmek için bu ayarları değiştirin.

      Daha fazla bilgi için iş akışı olaylarını yapılandırmaya ilişkin GitHub belgelerine bakın.

    • Akıllı dağıtımları devre dışı bırakmak için: Akıllı dağıtım davranışı, ele alınan dağıtım tetikleyicisinden ayrıdır. jobs İş akışınızın bölümüne gidin. smartDeployment Varsayılan değeri olarak truefalsedeğiştirin. Bu değişiklik işlendikten sonra akıllı dağıtım işlevi kapatılır ve bu bağlantının gelecekteki tüm dağıtımları, deponun tüm ilgili içerik dosyalarını bağlı çalışma alanlarına yeniden dağıtılır.

    • Dağıtım yolunu değiştirmek için:

      Bölümü için on gösterilen varsayılan yapılandırmada, bölümün ilk satırındaki paths joker karakterler (**), dalın tamamının dağıtım tetikleyicileri yolunda olduğunu gösterir.

      Bu varsayılan yapılandırma, içeriğin dalın herhangi bir bölümüne gönderildiğinde bir dağıtım iş akışının tetiklendiğini gösterir.

      Dosyada daha sonra, jobs bölümü aşağıdaki varsayılan yapılandırmayı içerir: directory: '${{ github.workspace }}'. Bu satır, github dallarının tamamının, herhangi bir klasör yolu için filtreleme yapmadan içerik dağıtımı yolunda olduğunu gösterir.

      İçeriği yalnızca belirli bir klasör yolundan dağıtmak için hem hem de paths yapılandırmasına directory ekleyin. Örneğin, yalnızca adlı SentinelContentbir kök klasörden içerik dağıtmak için kodunuzu aşağıdaki gibi güncelleştirin:

      paths:
      - `SentinelContent/**`
      - `!.github/workflows/**` # this filter prevents other workflow changes from triggering this workflow
      - `.github/workflows/sentinel-deploy-<deployment-id>.yml`
      
      ...
          directory: '${{ github.workspace }}/SentinelContent'
      

Daha fazla bilgi için GitHub Actions ve GitHub iş akışlarını düzenleme ile ilgili GitHub belgelerine bakın.

Önemli

Hem GitHub'da hem de Azure DevOps'ta tetikleyici yolu ve dağıtım yolu dizinlerini tutarlı tuttuğunuzdan emin olun.

Dağıtımlarınızı parametre dosyalarıyla ölçeklendirme

İçerik dosyalarınızda parametreleri satır içi değerler olarak geçirmek yerine, bir Bicep parametre dosyası veya parametre değerlerini içeren bir JSON dosyası kullanmayı göz önünde bulundurun. Ardından, dağıtımlarınızı farklı çalışma alanlarında daha iyi ölçeklendirmek için bu parametre dosyalarını ilişkili Microsoft Sentinel içerik dosyalarıyla eşleyin.

Parametre dosyalarını içerik dosyalarıyla eşlemenin çeşitli yolları vardır. Bicep parametre dosyalarının yalnızca Bicep dosya şablonlarını desteklediğini, ancak JSON parametre dosyalarının ikisini de desteklediğini unutmayın. Depolar dağıtım işlem hattı, parametre dosyalarını aşağıdaki sırayla değerlendirir:

Parametre dosyası eşlemelerinin önceliğini gösteren diyagram.

  1. sentinel-deployment.config dosyasında eşleme var mı?
    Daha fazla bilgi için bkz. Bağlantı yapılandırmanızı özelleştirme.

  2. Çalışma alanına eşlenmiş bir parametre dosyası var mı? Evet, içerik dosyaları şu desenlerden biriyle eşleşen çalışma alanı eşlenmiş parametre dosyasıyla aynı dizindedir:
    .<WorkspaceID.bicepparam.parameters-WorkspaceID><
    >.json

  3. Varsayılan parametre dosyası var mı? Evet, içerik dosyaları şu desenlerden biriyle eşleşen bir parametre dosyasıyla aynı dizindedir:
    .bicepparam
    .parameters.json

Parametre dosyalarınızı yapılandırma dosyası üzerinden eşleyerek veya dosya adında çalışma alanı kimliğini belirterek birden çok çalışma alanı dağıtımıyla çakışmalardan kaçının.

Önemli

Eşleme önceliğine göre bir parametre dosyası eşleşmesi belirlendikten sonra işlem hattı kalan eşlemeleri yoksayar.

sentinel-deployment.config dosyasında listelenen eşlenmiş parametre dosyasının değiştirilmesi, eşleştirilmiş içerik dosyasının dağıtımını tetikler. Çalışma alanıyla eşlenen bir parametre dosyasının veya varsayılan parametre dosyasının eklenmesi veya değiştirilmesi, daha yüksek bir öncelik parametresi eşlemesi yapılmadığı sürece eşleştirilmiş içerik dosyalarının yeni değiştirilen parametrelerle birlikte dağıtımını da tetikler. Akıllı dağıtımlar özelliği iş akışı/işlem hattı tanım dosyasında hala etkin olduğu sürece diğer içerik dosyaları dağıtılmaz.

Bağlantı yapılandırmanızı özelleştirme

Depolar için dağıtım betiği, Temmuz 2022 itibarıyla her depo dalı için bir dağıtım yapılandırma dosyasının kullanımını destekler. Yapılandırma JSON dosyası, parametre dosyalarını ilgili içerik dosyalarıyla eşlemenize, dağıtımlardaki belirli içerikleri önceliklendirmenize ve belirli içerikleri dağıtımların dışında tutmanıza yardımcı olur.

  1. Deponuzun kökünde sentinel-deployment.config dosyasını oluşturun. Bu yapılandırma dosyasının eklenmesi, silinmesi veya değiştirilmesi, depodaki tüm içeriğin güncelleştirilmiş yapılandırmaya göre tam dağıtımını tetikler.

    Depo kök dizininin ekran görüntüsü. RepositoriesSampleContent, sentinel-deployment.config dosyasının konumuyla gösterilir.

  2. Yapılandırılmış içeriğinizi isteğe bağlı üç bölüme ekleyin: "prioritizedcontentfiles":, "excludecontentfiles":ve "parameterfilemappings":. Hiçbir bölüm dahil edilmezse veya .config dosyası atlanırsa, dağıtım işlemi çalışmaya devam eder. Geçersiz veya tanınmayan bölümler yoksayılır.

Aşağıda, geçerli bir sentinel-deployment.config dosyasının tüm içeriğinin bir örneği verilmiştır . Bu örnek, Microsoft Sentinel CICD depoları örneğinde de bulunabilir.

{
  "prioritizedcontentfiles": [
    "parsers/Sample/ASimAuthenticationAWSCloudTrail.json",
    "workbooks/sample/TrendMicroDeepSecurityAttackActivity_ARM.json",
    "Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.bicep"
  ], 
  "excludecontentfiles": [
     "Detections/Sample/PaloAlto-PortScanning.json",
     "parameters"
  ],
  "parameterfilemappings": {
    "879001c8-2181-4374-be7d-72e5dc69bd2b": {
      "Playbooks/PaloAlto-PAN-OS/Playbooks/PaloAlto-PAN-OS-BlockIP/azuredeploy.bicep": "parameters/samples/auzredeploy.bicepparam"
    },
    "9af71571-7181-4cef-992e-ef3f61506b4e": {
      "Playbooks/Enrich-SentinelIncident-GreyNoiseCommunity-IP/azuredeploy.json": "path/to/any-parameter-file.json"
    }
  },
  "DummySection": "This shouldn't impact deployment"
}

Not

İçerik yollarından hiçbirinde ters eğik çizgi "\" karakterini kullanmayın. Bunun yerine eğik çizgi "/" kullanın.

  • İçerik dosyalarına öncelik vermek için:

    Deponuzdaki içerik miktarı arttıkça dağıtım süreleri artabilir. Tetikleyici gerçekleştiğinde dağıtımına öncelik vermek için bu bölüme zamana duyarlı içerik ekleyin.

    Bölümüne tam yol adları "prioritizedcontentfiles": ekleyin. Joker karakter eşleştirme şu anda desteklenmiyor.

  • İçerik dosyalarını dışlamak için bölümü tek tek .json içerik dosyalarının tam yol adlarıyla değiştirin "excludecontentfiles": .

  • Parametreleri eşlemek için:

    Dağıtım betiği, Dağıtımlarınızı parametre dosyalarıyla ölçeklendirme bölümünde açıklandığı gibi üç eşleme parametresi yöntemini kabul eder. Sentinel-deployment.config aracılığıyla parametreleri eşlemek en yüksek önceliği alır ve belirli bir parametre dosyasının ilişkili içerik dosyalarıyla eşlendiğini garanti eder. "parameterfilemappings": Bölümü, hedef bağlantınızın çalışma alanı kimliği ve tek tek .json dosyalarının tam yol adları ile değiştirin.

Dağıtım yapılandırma dosyasını ve üç parametre eşleme yöntemini gösteren örnek bir depo mevcuttur. Daha fazla bilgi için bkz . Microsoft Sentinel CICD depoları örneği.