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:
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]
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: push
ayarlanı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 olaraktrue
false
değ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ındakipaths
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ınadirectory
ekleyin. Örneğin, yalnızca adlıSentinelContent
bir 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:
sentinel-deployment.config dosyasında eşleme var mı?
Daha fazla bilgi için bkz. Bağlantı yapılandırmanızı özelleştirme.Ç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><
>.jsonVarsayı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.
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.
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.
İlgili içerik
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.