Bagikan melalui


[Tidak digunakan lagi] Membuat konektor tanpa kode warisan untuk Microsoft Azure Sentinel

Penting

Pengumpulan log dari banyak appliance dan perangkat sekarang didukung oleh Common Event Format (CEF) melalui AMA, Syslog melalui AMA, atau Log Kustom melalui konektor data AMA di Microsoft Sentinel. Untuk informasi selengkapnya, lihat Menemukan konektor data Microsoft Azure Sentinel Anda.

Penting

Ada versi Platform Konektor Tanpa Kode (CCP) yang lebih baru. Untuk informasi selengkapnya tentang CCP baru, lihat Membuat konektor tanpa kode (Pratinjau).

Referensikan dokumen ini jika Anda perlu memelihara atau memperbarui konektor data berdasarkan versi lama CCP ini.

CCP menyediakan mitra, pengguna tingkat lanjut, dan pengembang dengan kemampuan untuk membuat konektor kustom, menghubungkannya, dan menyerap data ke Microsoft Azure Sentinel. Konektor yang dibuat melalui CCP dapat disebarkan melalui API, templat ARM, atau sebagai solusi dalam hub konten Microsoft Sentinel.

Konektor yang dibuat menggunakan CCP sepenuhnya SaaS, tanpa persyaratan apa pun untuk penginstalan layanan, dan juga menyertakan pemantauan kesehatan dan dukungan penuh dari Microsoft Sentinel.

Buat konektor data Anda dengan mendefinisikan konfigurasi JSON, dengan pengaturan tentang bagaimana halaman konektor data di Microsoft Azure Sentinel terlihat bersama dengan pengaturan polling yang menentukan bagaimana fungsi koneksi.

Penting

Versi Platform Konektor Tanpa Kode (CCP) ini dalam PRATINJAU, tetapi juga dianggap Warisan. Ketentuan Tambahan Pratinjau Azure mencakup persyaratan hukum tambahan yang berlaku untuk fitur Azure yang masih dalam versi beta, pratinjau, atau belum dirilis ke ketersediaan umum.

Gunakan langkah-langkah berikut ini untuk membuat konektor CCP Anda dan menyambungkan ke sumber data Anda dari Microsoft Sentinel:

  • Mengonfigurasi antarmuka pengguna konektor
  • Mengonfigurasi pengaturan polling konektor
  • Menyebarkan konektor Anda ke ruang kerja Microsoft Sentinel Anda
  • Menyambungkan Microsoft Sentinel ke sumber data Anda dan memulai penyerapan data

Artikel ini menguraikan sintaks yang digunakan dalam konfigurasi dan prosedur CCP JSON untuk menyebarkan konektor Anda melalui API, templat ARM, atau solusi Microsoft Sentinel.

Prasyarat

Sebelum membangun konektor, kami sarankan Anda memahami bagaimana sumber data Anda berperilaku dan persis bagaimana Microsoft Sentinel perlu terhubung.

Misalnya, Anda harus mengetahui jenis titik akhir autentikasi, penomoran halaman, dan API yang diperlukan agar koneksi berhasil.

Membuat file konfigurasi JSON konektor

Konektor CCP kustom Anda memiliki dua bagian JSON utama yang diperlukan untuk penyebaran. Isi area ini untuk menentukan bagaimana konektor Anda ditampilkan di portal Azure dan bagaimana konektor menghubungkan Microsoft Azure Sentinel ke sumber data Anda.

Kemudian, jika Anda menyebarkan konektor tanpa kode melalui ARM, Anda akan membungkus bagian ini di templat ARM untuk konektor data.

Tinjau konektor data CCP lainnya sebagai contoh atau unduh contoh templat, DataConnector_API_CCP_template.json (Pratinjau).

Mengonfigurasi antarmuka pengguna konektor Anda

Bagian ini menjelaskan opsi konfigurasi yang tersedia untuk menyesuaikan antarmuka pengguna halaman konektor data.

Gambar berikut menunjukkan halaman konektor data sampel, disorot dengan angka yang sesuai dengan area penting antarmuka pengguna:

Cuplikan layar halaman konektor sampel data.

  1. Judul. Judul yang ditampilkan untuk konektor data Anda.
  2. Logo. Ikon yang ditampilkan untuk konektor data Anda. Menyesuaikan ini hanya dimungkinkan saat menyebarkan sebagai bagian dari solusi.
  3. Status. Menunjukkan apakah konektor data Anda tersambung ke Microsoft Azure Sentinel atau tidak.
  4. Bagan data. Menampilkan kueri yang relevan dan jumlah data yang terserap dalam dua minggu terakhir.
  5. Tab Instruksi. Menyertakan bagian Prasyarat , dengan daftar validasi minimal sebelum pengguna dapat mengaktifkan konektor, dan Instruksi, untuk memandu pengaktifan pengguna konektor. Bagian ini dapat berisi teks, tombol, formulir, tabel, dan widget umum lainnya untuk menyederhanakan proses.
  6. Tab langkah selanjutnya. Menyertakan informasi yang berguna dalam memahami cara menemukan data dalam log peristiwa, seperti kueri sampel.

Berikut adalah bagian dan sintaksis yang connectorUiConfig diperlukan untuk mengonfigurasi antarmuka pengguna:

Nama Properti Tipe Deskripsi
ketersediaan {
"status": 1,
"isPreview": Boolean
}

status: 1 Menunjukkan konektor umumnya tersedia untuk pelanggan.
isPreview Menunjukkan apakah akan menyertakan akhiran (Pratinjau) ke nama konektor.
connectivityCriteria {
"type": SentinelKindsV2,
"value": APIPolling
}
Objek yang menentukan cara memverifikasi apabila konektor sudah ditentukan dengan benar. Gunakan nilai yang ditunjukkan di sini.
dataTypes dataTypes[] Daftar dari semua jenis data untuk konektor Anda, dan kueri untuk mengambil waktu dari peristiwa terakhir bagi setiap jenis data.
descriptionMarkdown String Deskripsi untuk konektor dengan kemampuan untuk menambahkan bahasa markdown untuk meningkatkannya.
graphQueries graphQueries[] Kueri yang menyajikan penyerapan data selama dua minggu terakhir di panel Bagan data.

Menyediakan salah satu kueri untuk seluruh jenis data milik konektor data, atau kueri yang berbeda untuk setiap jenis data.
graphQueriesTableName String Menentukan nama dari tabel Analitik Log tempat asal penarikan data untuk kueri Anda.

Nama tabel bisa berupa string apa pun, tetapi harus berakhir di _CL. Misalnya: TableName_CL
instructionsSteps instructionSteps[] Array dari bagian widget yang menjelaskan cara memasang konektor, yang ditampilkan pada tab Instruksi.
metadata metadata Metadata ditampilkan di bawah deskripsi konektor.
izin permissions[] Informasi yang ditampilkan di bawah bagian Prasyarat UI yang Mencantumkan izin yang diperlukan untuk mengaktifkan atau menonaktifkan konektor.
penerbit String Ini adalah teks yang ditampilkan di bagian Penyedia .
sampleQueries sampleQueries[] Kueri sampel bagi pelanggan untuk memahami cara menemukan data dalam log peristiwa, yang akan ditampilkan pada tab Langkah berikutnya.
title String Judul yang ditampilkan dalam halaman konektor data.

Menggabungkan semua potongan-potongan ini rumit. Gunakan alat validasi pengalaman pengguna halaman konektor untuk menguji komponen yang Anda satukan.

dataTypes

Nilai Array Tipe Deskripsi
nama String Deskripsi yang bermaknalastDataReceivedQuery untuk, termasuk dukungan untuk variabel.

Contoh: {{graphQueriesTableName}}
lastDataReceivedQuery String Kueri KQL yang mengembalikan satu baris, dan menunjukkan terakhir kali data diterima, atau tidak ada data jika tidak ada data yang relevan.

Contoh: {{graphQueriesTableName}}\n | summarize Time = max(TimeGenerated)\n | where isnotempty(Time)

graphQueries

Menentukan kueri yang menyajikan penyerapan data selama dua minggu terakhir dalam panel Bagan data.

Menyediakan salah satu kueri untuk seluruh jenis data milik konektor data, atau kueri yang berbeda untuk setiap jenis data.

Nilai Array Tipe Deskripsi
metricName String Nama yang bermakna untuk grafik Anda.

Contoh: Total data received
legenda String String yang muncul pada legenda ke sebelah kanan bagan, termasuk referensi variabel.

Contoh: {{graphQueriesTableName}}
baseQuery String Kueri yang memfilter peristiwa yang relevan, termasuk referensi variabel.

Contoh: TableName_CL | where ProviderName == "myprovider" atau {{graphQueriesTableName}}

instructionSteps

Bagian ini menyediakan parameter yang menentukan set instruksi yang muncul pada halaman konektor data Anda dalam Microsoft Sentinel.

Properti Array Tipe Deskripsi
title String Opsional. Menentukan judul untuk instruksi.
description String Opsional. Menentukan deskripsi yang bermakna untuk instruksi Anda.
innerSteps Array Opsional. Menentukan array dari langkah instruksi dalam.
instruksi Array instruksi Harus diisi. Menentukan array instruksi dari jenis parameter tertentu.
bottomBorder Boolean Opsional. Ketika true, menambahkan batas bawah ke area instruksi pada halaman konektor dalam Microsoft Sentinel
isComingSoon Boolean Opsional. Ketika true, menambahkan judul Segera hadir pada halaman konektor dalam Microsoft Sentinel

petunjuk

Menampilkan sekelompok instruksi, dengan berbagai opsi sebagai parameter dan kemampuan untuk menumpuk lebih banyak instruksiSteps dalam grup.

Parameter Properti array Deskripsi
APIKey APIKey Tambahkan tempat penampung ke file konfigurasi JSON konektor Anda.
CopyableLabel CopyableLabel Memperlihatkan bidang teks dengan tombol salin di akhir. Saat tombol dipilih, nilai bidang disalin.
InfoMessage InfoMessage Menentukan pesan informasi sebaris.
InstructionStepsGroup InstructionStepsGroup Menampilkan sekelompok instruksi, secara opsional diperluas atau dapat diciutkan, di bagian instruksi terpisah.
InstallAgent InstallAgent Menampilkan tautan ke bagian lain Azure untuk mencapai berbagai persyaratan penginstalan.

APIKey

Anda mungkin ingin membuat templat file konfigurasi JSON, dengan parameter tempat penampung, untuk digunakan kembali di beberapa konektor, atau bahkan untuk membuat konektor dengan data yang saat ini tidak Anda miliki.

Untuk membuat parameter tempat penampung, tentukan array tambahan yang dinamai userRequestPlaceHoldersInput pada bagian Instruksi file konfigurasi JSON CCP Anda, menggunakan sintaks berikut:

"instructions": [
                {
                  "parameters": {
                    "enable": "true",
                    "userRequestPlaceHoldersInput": [
                      {
                        "displayText": "Organization Name",
                        "requestObjectKey": "apiEndpoint",
                        "placeHolderName": "{{placeHolder}}"
                      }
                    ]
                  },
                  "type": "APIKey"
                }
              ]

Parameter userRequestPlaceHoldersInput mencakup atribut berikut:

Nama Tipe Deskripsi
Teks Tampilan String Menentukan nilai tampilan kotak teks, yang ditampilkan kepada pengguna saat tersambung.
RequestObjectKey String Menentukan ID di bagian permintaan dari pollingConfig untuk mengganti nilai tempat penampung dengan nilai yang disediakan pengguna.

Jika Anda tidak menggunakan atribut ini, gunakan atribut PollingKeyPathssebagai gantinya.
PollingKeyPaths String Menentukan array objek JsonPath yang mengarahkan panggilan API ke mana saja dalam templat, untuk mengganti nilai tempat penampung dengan nilai pengguna.

Contoh: "pollingKeyPaths":["$.request.queryParameters.test1"]

Jika Anda tidak menggunakan atribut ini, gunakan atribut RequestObjectKeysebagai gantinya.
PlaceHolderName String Menentukan nama parameter tempat penampung dalam file templat JSON. Ini bisa menjadi nilai yang unik, seperti {{placeHolder}}.

CopyableLabel

Contoh:

Cuplikan layar tombol salin nilai dalam suatu bidang.

Kode sampel:

{
    "parameters": {
        "fillWith": [
            "WorkspaceId",
            "PrimaryKey"
            ],
        "label": "Here are some values you'll need to proceed.",
        "value": "Workspace is {0} and PrimaryKey is {1}"
    },
    "type": "CopyableLabel"
}
Nilai Array Tipe Deskripsi
fillWith ENUM Opsional. Array dari variabel lingkungan digunakan untuk mengisi tempat penampung. Pisahkan beberapa tempat penampung dengan koma. Misalnya: {0},{1}

Nilai yang didukung: workspaceId, workspaceName, primaryKey, MicrosoftAwsAccount, subscriptionId
label String Tentukan teks untuk label di atas kotak teks.
value String Menentukan nilai yang akan ditampilkan dalam kotak teks, mendukung tempat penampung.
baris Baris Opsional. Menentukan baris dalam area antarmuka pengguna. Secara default, set ke 1.
wideLabel Boolean Opsional. Menentukan label lebar untuk string panjang. Secara default, set ke false.

InfoMessage

Berikut adalah contoh pesan informasi sebaris:

Cuplikan layar pesan informasi sebaris.

Sebaliknya, gambar berikut menunjukkan pesan informasi tidak-sebaris:

Cuplikan layar pesan informasi tidak-sebaris.

Nilai Array Tipe Deskripsi
text String Menentukan teks yang akan ditampilkan dalam pesan.
dapat dilihat Boolean Menentukan apakah pesan ditampilkan.
inline Boolean Menentukan cara pesan informasi ditampilkan.

- true: (Direkomendasikan) Menampilkan pesan informasi yang disematkan dalam instruksi.
- false: Menambahkan latar belakang biru.

InstructionStepsGroup

Berikut adalah contoh grup instruksi yang dapat diperluas:

Cuplikan layar grup instruksi tambahan yang dapat diperluas.

Nilai Array Tipe Deskripsi
title String Menentukan judul untuk langkah instruksi.
canCollapseAllSections Boolean Opsional. Menentukan apabila bagian tersebut adalah akordeon yang dapat diciutkan atau tidak.
noFxPadding Boolean Opsional. Jika true, mengurangi lapisan ketinggian untuk menghemat ruang.
diperluas Boolean Opsional. Jika true menampilkan sebagai diperluas secara default.

Untuk contoh terperinci, lihat konfigurasi JSON untuk konektor DNS Windows.

InstallAgent

Beberapa jenis InstallAgent muncul sebagai tombol, yang lain akan muncul sebagai tautan. Berikut adalah contoh keduanya:

Cuplikan layar link yang ditambahkan sebagai tombol.

Cuplikan layar link yang ditambahkan sebagai teks sebaris.

Nilai Array Tipe Deskripsi
linkType ENUM Menentukan jenis tautan, sebagai salah satu nilai berikut:

InstallAgentOnWindowsVirtualMachine
InstallAgentOnWindowsNonAzure
InstallAgentOnLinuxVirtualMachine
InstallAgentOnLinuxNonAzure
OpenSyslogSettings
OpenCustomLogsSettings
OpenWaf
OpenAzureFirewall OpenMicrosoftAzureMonitoring
OpenFrontDoors
OpenCdnProfile
AutomaticDeploymentCEF
OpenAzureInformationProtection
OpenAzureActivityLog
OpenIotPricingModel
OpenPolicyAssignment
OpenAllAssignmentsBlade
OpenCreateDataCollectionRule
policyDefinitionGuid String Diperlukan saat menggunakan LinkType OpenPolicyAssignment . Untuk konektor berbasis kebijakan, menentukan GUID dari definisi kebijakan bawaan.
assignMode ENUM Opsional. Untuk konektor berbasis kebijakan, mendefinisikan mode penetapan, sebagai salah satu nilai berikut: Initiative, Policy
dataCollectionRuleType ENUM Opsional. Untuk konektor berbasis DCR, menentukan jenis aturan pengumpulan data sebagai salah satu jenis berikut: SecurityEvent, ForwardEvent

metadata

Bagian ini menyediakan metadata di UI konektor data di bawah area Deskripsi .

Nilai Koleksi Tipe Deskripsi
jenis String Menentukan jenis templat ARM yang Anda buat. Selalu gunakan dataConnector.
sumber String Menjelaskan sumber data Anda, menggunakan sintaks berikut:
{
"kind":tali
"name":tali
}
pembuat String Menjelaskan penulis konektor data, menggunakan sintaks berikut:
{
"name":tali
}
support String Jelaskan dukungan yang disediakan untuk konektor data menggunakan sintaks berikut:
{
"tier":tali
"name":tali
"email":tali
"link":String URL
}

permissions

Nilai array Tipe Deskripsi
kustom String Menjelaskan izin kustom apa pun yang diperlukan untuk koneksi data Anda, dalam sintaks berikut:
{
"name":tali,
"description":tali
}

Contoh: Nilai kustom ditampilkan di bagian Prasyarat Microsoft Azure Sentinel dengan ikon informasi biru. Dalam contoh GitHub, ini berkorelasi dengan baris Kunci token pribadi GitHub API: Anda memerlukan akses ke token pribadi GitHub...
lisensi ENUM Menentukan lisensi yang diperlukan, sebagai salah satu dari nilai berikut: OfficeIRM, OfficeATP, Office365, AadP1P2, Mcas, Aatp, Mdatp, Mtp, IoT

Contoh: Nilai lisensi ditampilkan dalam Microsoft Sentinel sebagai: Lisensi: Diperlukan Azure AD Premium P2
resourceProvider resourceProvider Menjelaskan prasyarat untuk sumber daya Azure Anda.

Contoh: Nilai resourceProvider ditampilkan di bagian Prasyarat Microsoft Azure Sentinel sebagai:
Ruang kerja: diperlukan izin baca dan tulis.
Kunci: izin baca untuk kunci bersama ke ruang kerja yang diperlukan.
penyewa array nilai ENUM
Contoh:

"tenant": [
"GlobalADmin",
"SecurityAdmin"
]
Menentukan izin yang diperlukan, sebagai satu atau lebih dari nilai-nilai berikut: "GlobalAdmin", "SecurityAdmin", "SecurityReader", "InformationProtection"

Contoh: menampilkan nilai penyewa di Microsoft Azure Sentinel sebagai: Izin Penyewa: Memerlukan Global Administrator atau Security Administrator pada penyewa ruang kerja

resourceProvider

nilai sub array Tipe Deskripsi
penyedia ENUM Menjelaskan penyedia sumber daya, dengan salah satu nilai berikut:
- Microsoft.OperationalInsights/workspaces
- Microsoft.OperationalInsights/solutions
- Microsoft.OperationalInsights/workspaces/datasources
- microsoft.aadiam/diagnosticSettings
- Microsoft.OperationalInsights/workspaces/sharedKeys
- Microsoft.Authorization/policyAssignments
providerDisplayName String Item daftar di bawah Prasyarat yang akan menampilkan tanda centang merah "x" atau hijau saat requiredPermissions divalidasi di halaman konektor. Contoh "Workspace"
permissionsDisplayText String Menampilkan teks untuk izin Baca, Tulis, atau Baca dan Tulis yang harus sesuai dengan nilai yang dikonfigurasi dalam requiredPermissions
requiredPermissions {
"action":Boolean,
"delete":Boolean,
"read":Boolean,
"write":Boolean
}
Menjelaskan izin minimum yang diperlukan untuk konektor.
cakupan ENUM Menjelaskan cakupan konektor data, sebagai salah satu nilai berikut: "Subscription", "ResourceGroup", "Workspace"

sampleQueries

nilai array Tipe Deskripsi
description String Deskripsi yang bermakna untuk kueri sampel.

Contoh: Top 10 vulnerabilities detected
query String Kueri sampel digunakan untuk mengambil data tentang jenis data.

Contoh: {{graphQueriesTableName}}\n | sort by TimeGenerated\n | take 10

Untuk menentukan tautan sebaris menggunakan markdown, gunakan contoh berikut. Di sini tautan disediakan dalam deskripsi instruksi:

{
   "title": "",
   "description": "Make sure to configure the machine's security according to your organization's security policy\n\n\n[Learn more >](https://aka.ms/SecureCEF)"
}

Untuk menentukan link sebagai templat ARM, gunakan contoh berikut sebagai panduan:

{
   "title": "Azure Resource Manager (ARM) template",
   "description": "1. Click the **Deploy to Azure** button below.\n\n\t[![Deploy To Azure](https://aka.ms/deploytoazurebutton)]({URL to custom ARM template})"
}

Memvalidasi pengalaman pengguna halaman konektor data

Ikuti langkah-langkah ini untuk merender dan memvalidasi pengalaman pengguna konektor.

  1. Utilitas pengujian dapat diakses oleh URL ini - https://aka.ms/sentineldataconnectorvalidateurl
  2. Buka Microsoft Azure Sentinel -> Konektor Data
  3. Klik tombol "impor" dan pilih file json yang hanya berisi bagian connectorUiConfig konektor data Anda.

Untuk informasi selengkapnya tentang alat validasi ini, lihat panduan Build instruksi konektor di build GitHub kami.

Catatan

Karena parameter instruksi APIKey khusus untuk konektor tanpa kode, hapus sementara bagian ini untuk menggunakan alat validasi, atau akan gagal.

Mengonfigurasi pengaturan polling konektor Anda

Bagian ini menjelaskan konfigurasi untuk cara data dipilih dari sumber data Anda untuk konektor data tanpa kode.

Kode berikut menampilkan sintaks dari bagian pollingConfig file konfigurasi CCP.

"pollingConfig": {
    "auth": {
    },
    "request": {
    },
    "response": {
    },
    "paging": {
    }
 }

Bagian pollingConfig ini mencakup properti berikut:

Nama Tipe Deskripsi
Auth String Menjelaskan properti autentikasi untuk polling data. Untuk informasi selengkapnya, lihat konfigurasi autentikasi.
auth.authType String Wajib. Menentukan jenis autentikasi, bertumpuk di dalam objek auth, sebagai salah satu nilai berikut: Basic, APIKey, OAuth2
Permintaan JSON berlapis Wajib. Menjelaskan payload permintaan untuk polling data, seperti titik akhir API. Untuk informasi selengkapnya, lihat konfigurasi permintaan.
respons JSON berlapis Wajib. Menjelaskan objek respons dan pesan berlapis yang dikembalikan dari API ketika melakukan polling data. Untuk informasi selengkapnya, lihat konfigurasi respons.
penomoran JSON berlapis Opsional. Menjelaskan payload penomoran halaman saat melakukan polling data. Untuk informasi selengkapnya, lihat konfigurasi penomoran halaman.

Untuk informasi selengkapnya, lihat Sampel kode pollingConfig.

konfigurasi autentikasi

auth Bagian konfigurasi pollingConfig mencakup parameter berikut, tergantung pada jenis yang ditentukan dalam elemen authType:

Parameter authType dasar

Nama Tipe Deskripsi
Username String Wajib. Menentukan nama pengguna.
Password String Wajib. Menentukan kata sandi pengguna.

Parameter authType APIKey

Nama Tipe Deskripsi
APIKeyName String Opsional. Menentukan nama kunci API Anda, sebagai salah satu nilai berikut:

- XAuthToken
- Authorization
IsAPIKeyInPostPayload Boolean Menentukan tempat kunci API Anda didefinisikan.

True: Kunci API didefinisikan dalam payload permintaan POST
Salah: Kunci API ditentukan di dalam header
APIKeyIdentifier String Opsional. Menentukan nama pengidentifikasi untuk kunci API.

Misalnya, tempat otorisasi ditentukan sebagai "Authorization": "token <secret>", parameter ini ditentukan sebagai: {APIKeyIdentifier: “token”})

Parameter authType OAuth2

Platform Konektor Tanpa Kode mendukung pemberian kode otorisasi OAuth 2.0.

Jenis pemberian Kode Otorisasi digunakan oleh klien rahasia serta publik untuk menukar kode otorisasi dengan token akses.

Setelah pengguna kembali ke klien melalui URL pengalihan, aplikasi akan mendapatkan kode otorisasi dari URL dan menggunakannya untuk meminta token akses.

Nama Tipe Deskripsi
FlowName String Wajib. Menentukan alur OAuth2.

Nilai yang didukung: AuthCode - memerlukan alur otorisasi
AccessToken String Opsional. Menentukan token akses OAuth2, relevan saat token akses tidak kedaluwarsa.
AccessTokenPrepend String Opsional. Menentukan prepend token akses OAuth2. Defaultnya adalah Bearer.
RefreshToken String Wajib untuk jenis autentikasi OAuth2. Menentukan token refresh OAuth2.
TokenEndpoint String Wajib untuk jenis autentikasi OAuth2. Menentukan titik akhir layanan token OAuth2.
AuthorizationEndpoint String Opsional. Menentukan titik akhir layanan otorisasi OAuth2. Hanya digunakan selama onboarding atau saat memperbarui token refresh.
RedirectionEndpoint String Opsional. Menentukan titik akhir pengalihan selama onboarding.
AccessTokenExpirationDateTimeInUtc String Opsional. Menentukan tanggal waktu kedaluwarsa token akses, dalam format UTC. Relevan ketika token akses tidak kedaluwarsa, dan oleh karena itu memiliki tanggal waktu yang besar dalam UTC, atau ketika token akses memiliki tanggal waktu kedaluwarsa yang besar.
RefreshTokenExpirationDateTimeInUtc String Wajib untuk jenis autentikasi OAuth2. Menentukan tanggal waktu kedaluwarsa token refresh dalam format UTC.
TokenEndpointHeaders Dictionary<string, object> Opsional. Menentukan header saat memanggil titik akhir layanan token OAuth2.

Menentukan string dalam format dictionary<string, string> yang diserialisasi: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }
AuthorizationEndpointHeaders Dictionary<string, object> Opsional. Menentukan header saat memanggil titik akhir layanan otorisasi OAuth2. Hanya digunakan selama onboarding atau saat memperbarui token refresh.

Menentukan string dalam format dictionary<string, object> yang diserialisasi: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
AuthorizationEndpointQueryParameters Dictionary<string, object> Opsional. Menentukan parameter kueri saat memanggil titik akhir layanan otorisasi OAuth2. Hanya digunakan selama onboarding atau saat memperbarui token refresh.

Menentukan string dalam format dictionary<string, object> yang diserialisasi: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
TokenEndpointQueryParameters Dictionary<string, object> Opsional. Menentukan parameter kueri saat memanggil titik akhir layanan token OAuth2.

Menentukan string dalam format dictionary<string, object> yang diserialisasi: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ... }
IsTokenEndpointPostPayloadJson Boolean Opsional, default adalah false. Menentukan apakah parameter kueri berada dalam format JSON dan diatur dalam payload POST permintaan.
IsClientSecretInHeader Boolean Opsional, default adalah false. Menentukan apakah nilai client_id dan client_secret didefinisikan dalam header, seperti yang dilakukan dalam skema Autentikasi dasar, alih-alih dalam payload POST.
RefreshTokenLifetimeinSecAttributeName String Opsional. Menentukan nama atribut dari respons titik akhir token, menentukan masa hidup token refresh, dalam hitungan detik.
IsJwtBearerFlow Boolean Opsional, default adalah false. Menentukan apakah Anda menggunakan JWT atau tidak.
JwtHeaderInJson Dictionary<string, object> Opsional. Menentukan header JWT dalam format JSON.

Menentukan string dalam format dictionary<string, object> yang diserialisasi: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>...}
JwtClaimsInJson Dictionary<string, object> Opsional. Mendefinisikan klaim JWT dalam format JSON.

Menentukan string dalam format dictionary<string, object> yang diserialisasi: {'<attr_name>': <serialized val>, '<attr_name>': <serialized val>, ...}
JwtPem String Opsional. Menentukan kunci rahasia, dalam format PEM Pkcs1: '-----BEGIN RSA PRIVATE KEY-----\r\n{privatekey}\r\n-----END RSA PRIVATE KEY-----\r\n'

Pastikan untuk mempertahankan kode '\r\n'.
RequestTimeoutInSeconds Bilangan bulat Opsional. Menentukan batas waktu dalam detik saat memanggil titik akhir layanan token. Default adalah 180 detik

Berikut contoh bagaimana konfigurasi OAuth 2 mungkin terlihat:

"pollingConfig": {
    "auth": {
        "authType": "OAuth2",
        "authorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent",
        "redirectionEndpoint": "https://portal.azure.com/TokenAuthorize",
        "tokenEndpoint": "https://oauth2.googleapis.com/token",
        "authorizationEndpointQueryParameters": {},
        "tokenEndpointHeaders": {
            "Accept": "application/json"
        },
        "TokenEndpointQueryParameters": {},
        "isClientSecretInHeader": false,
        "scope": "https://www.googleapis.com/auth/admin.reports.audit.readonly",
        "grantType": "authorization_code",
        "contentType": "application/x-www-form-urlencoded",
        "FlowName": "AuthCode"
    },

Parameter authType sesi

Nama Tipe Deskripsi
QueryParameters Dictionary<string, object> Opsional. Daftar parameter kueri, dalam format serial dictionary<string, string> :

{'<attr_name>': '<val>', '<attr_name>': '<val>'... }
IsPostPayloadJson Boolean Opsional. Menentukan apakah parameter kueri ada di dalam format JSON.
Header Dictionary<string, object> Opsional. Menentukan header yang digunakan saat memanggil titik akhir untuk mendapatkan ID sesi, dan saat memanggil API titik akhir.

Menentukan string dalam dictionary<string, string> format {'<attr_name>': '<val>', '<attr_name>': '<val>'... } serial:
SessionTimeoutInMinutes String Opsional. Menentukan batas waktu sesi, dalam hitungan menit.
SessionIdName String Opsional. Menentukan nama ID untuk sesi.
SessionLoginRequestUri String Opsional. Menentukan URI permintaan login sesi.

Konfigurasi permintaan

request Bagian konfigurasi pollingConfig mencakup parameter berikut:

Nama Tipe Deskripsi
apiTitik akhir String Wajib. Menentukan titik akhir asal penarikan data.
httpMethod String Wajib. Menentukan metode API: GET atau POST
queryTimeFormat String, atau UnixTimestamp atau UnixTimestampInMills Wajib. Menentukan format yang digunakan untuk menentukan waktu kueri.

Nilai ini bisa berupa string, atau dalam format UnixTimestamp atau UnixTimestampInMills untuk menunjukkan waktu mulai dan akhir kueri dalam UnixTimestamp.
startTimeAttributeName String Opsional. Menentukan nama dari atribut yang menentukan waktu mulai kueri.
endTimeAttributeName String Opsional. Menentukan nama dari atribut yang menentukan waktu akhir kueri.
queryTimeIntervalAttributeName String Opsional. Menentukan nama dari atribut yang menentukan interval waktu kueri.
queryTimeIntervalDelimiter String Opsional. Menentukan pemisah interval waktu kueri.
queryWindowInMin Bilangan bulat Opsional. Menentukan jendela kueri yang tersedia, dalam hitungan menit.

Nilai minimum: 5
queryParameters Dictionary<string, object> Opsional. Menentukan parameter yang dilalui dalam kueri pada jalur eventsJsonPaths.

Menentukan string dalam format dictionary<string, string> yang diserialisasi: {'<attr_name>': '<val>', '<attr_name>': '<val>'... }.
queryParametersTemplate String Opsional. Menentukan templat parameter kueri yang akan digunakan saat meneruskan parameter kueri dalam skenario lanjutan.

Misalnya: "queryParametersTemplate": "{'cid': 1234567, 'cmd': 'reporting', 'format': 'siem', 'data': { 'from': '{_QueryWindowStartTime}', 'to': '{_QueryWindowEndTime}'}, '{_APIKeyName}': '{_APIKey}'}"

{_QueryWindowStartTime} dan {_QueryWindowEndTime} hanya didukung dalam parameter permintaan queryParameters dan queryParametersTemplate.

{_APIKeyName} dan {_APIKey} hanya didukung dalam parameter permintaan queryParametersTemplate.
isPostPayloadJson Boolean Opsional. Menentukan apakah payload POST berada dalam format JSON.
rateLimitQPS Laju Opsional. Menentukan jumlah panggilan atau kueri yang diizinkan dalam hitungan detik.
timeoutInSeconds Bilangan bulat Opsional. Menentukan batas waktu permintaan, dalam hitungan detik.
retryCount Bilangan bulat Opsional. Menentukan jumlah permintaan mencoba ulang untuk mencoba jika dibutuhkan.
header Dictionary<string, object> Opsional. Menentukan nilai header permintaan, dalam dictionary<string, object>format serial: {'<attr_name>': '<serialized val>', '<attr_name>': '<serialized val>'... }

Konfigurasi respons

response Bagian konfigurasi pollingConfig mencakup parameter berikut:

Nama Tipe Deskripsi
eventsJsonPaths Daftar untai(karakter) Wajib. Menentukan jalur ke pesan dalam JSON respons.

Ekspresi jalur JSON menentukan jalur ke elemen, atau satu set elemen, dalam struktur JSON
successStatusJsonPath String Opsional. Menentukan jalur ke pesan berhasil dalam JSON respons.
successStatusValue String Opsional. Menentukan jalur ke nilai pesan berhasil dalam JSON respons
isGzipCompressed Boolean Opsional. Menentukan apakah respons dikompresi dalam file gzip.

Kode berikut menunjukkan contoh nilai eventsJsonPaths untuk pesan tingkat atas:

"eventsJsonPaths": [
              "$"
            ]

Konfigurasi penomoran halaman

paging Bagian konfigurasi pollingConfig mencakup parameter berikut:

Nama Tipe Deskripsi
pagingType String Wajib. Menentukan jenis penomoran untuk digunakan dalam hasil, sebagai salah satu nilai berikut: None, LinkHeader, NextPageToken, NextPageUrl, Offset
linkHeaderTokenJsonPath String Opsional. Menentukan jalur JSON untuk menautkan header di JSON respons, jika LinkHeader tidak ditentukan dalam header respons.
nextPageTokenJsonPath String Opsional. Menentukan jalur ke JSON token halaman berikutnya.
hasNextFlagJsonPath String Opsional. Menentukan jalur ke HasNextPage atribut bendera.
nextPageTokenResponseHeader String Opsional. Menentukan nama header token halaman berikutnya dalam respons.
nextPageParaName String Opsional. Menentukan nama halaman berikutnya dalam permintaan.
nextPageRequestHeader String Opsional. Menentukan nama header halaman berikutnya dalam permintaan.
nextPageUrl String Opsional. Menentukan URL halaman berikutnya, jika berbeda dari URL permintaan awal.
nextPageUrlQueryParameters String Opsional. Menentukan parameter kueri URL halaman berikutnya jika berbeda dari URL permintaan awal.

Menentukan string dalam dictionary<string, object> format {'<attr_name>': <val>, '<attr_name>': <val>... } serial:
offsetParaName String Opsional. Menentukan nama dari parameter offset.
pageSizeParaName String Opsional. Menentukan nama parameter ukuran halaman.
PageSize Bilangan bulat Menentukan ukuran penomoran halaman.

Sampel kode pollingConfig

Kode berikut menunjukkan contoh pollingConfig bagian dari file Konfigurasi CCP:

"pollingConfig": {
    "auth": {
        "authType": "APIKey",
        "APIKeyIdentifier": "token",
        "APIKeyName": "Authorization"
     },
     "request": {
        "apiEndpoint": "https://api.github.com/../{{placeHolder1}}/audit-log",
        "rateLimitQPS": 50,
        "queryWindowInMin": 15,
        "httpMethod": "Get",
        "queryTimeFormat": "yyyy-MM-ddTHH:mm:ssZ",
        "retryCount": 2,
        "timeoutInSeconds": 60,
        "headers": {
           "Accept": "application/json",
           "User-Agent": "Scuba"
        },
        "queryParameters": {
           "phrase": "created:{_QueryWindowStartTime}..{_QueryWindowEndTime}"
        }
     },
     "paging": {
        "pagingType": "LinkHeader",
        "pageSizeParaName": "per_page"
     },
     "response": {
        "eventsJsonPaths": [
          "$"
        ]
     }
}

Menyebarkan konektor Anda dalam Microsoft Sentinel dan mulai menyerap data

Setelah membuat file konfigurasi JSON Anda, termasuk antarmuka pengguna dan konfigurasi polling, maka sebarkan konektor pada ruang kerja Microsoft Sentinel Anda.

  1. Gunakan salah satu dari opsi berikut untuk menyebarkan konektor data Anda.

    Tip

    Keuntungan menyebarkan melalui templat Azure Resource Manager (ARM) adalah bahwa beberapa nilai sudah terpasang tetap di templat, dan Anda tidak perlu menentukannya secara manual dalam panggilan API.

    Bungkus koleksi konfigurasi JSON Anda dalam templat ARM untuk menyebarkan konektor Anda. Untuk memastikan bahwa konektor data Anda disebarkan ke ruang kerja yang benar, pastikan untuk menentukan ruang kerja di templat ARM, atau pilih ruang kerja saat menyebarkan templat ARM.

    1. Siapkan file JSON templat ARM untuk konektor Anda. Misalnya, lihat file JSON templat ARM berikut:

    2. Pada portal Azure, cari Sebarkan templat kustom.

    3. Pada halaman Penyebaran kustom, pillih Buat templat Anda sendiri di >File muatan editor. Telusuri dan pilih templat ARM lokal Anda, lalu simpan perubahannya.

    4. Pilih grup langganan dan sumber daya Anda, kemudian masukkan ruang kerja Analitik Log tempat Anda ingin menyebarkan konektor kustom.

    5. Pilih Tinjau + buat untuk menyebarkan konektor kustom Anda ke Microsoft Sentinel.

    6. Dalam Microsoft Sentinel, buka halaman Konektor data, cari konektor baru Anda. Konfigurasikan untuk mulai menyerap data.

    Untuk informasi selengkapnya, lihat Menyebarkan templat lokal dalam dokumentasi Azure Resource Manager.

  2. Konfigurasikan konektor data Anda untuk menyambungkan sumber data Anda dan mulai menyerap data ke Microsoft Sentinel. Anda dapat tersambung ke sumber data Anda baik melalui portal, seperti dengan konektor data out-of-the-box, atau melalui API.

    Saat Anda menggunakan portal Azure untuk tersambung, data pengguna dikirim secara otomatis. Saat Anda tersambung melalui API, Anda harus mengirim parameter autentikasi yang relevan dalam panggilan API.

    Pada halaman konektor data Microsoft Sentinel, ikuti petunjuk yang disediakan untuk menyambungkan ke konektor data Anda.

    Halaman konektor data di Microsoft Azure Sentinel dikontrol oleh konfigurasi InstructionSteps dalam connectorUiConfig elemen file konfigurasi CCP JSON. Jika Anda memiliki masalah dengan koneksi antarmuka pengguna, pastikan Anda memiliki konfigurasi yang benar untuk jenis autentikasi Anda.

  3. Dalam Microsoft Sentinel, buka halaman Log dan verifikasi bahwa Anda melihat log dari sumber data yang mengalir masuk ke ruang kerja Anda.

Jika Anda tidak melihat data mengalir masuk ke Microsoft Sentinel, maka periksalah dokumentasi sumber data dan sumber daya pemecahan masalah, periksa detail konfigurasi, dan periksa konektivitas. Untuk info selengkapnya, lihat Memantau kesehatan konektor data Anda.

Memutuskan sambungan konektor Anda

Jika Anda tidak lagi memerlukan data konektor, putuskan sambungan konektor untuk menghentikan aliran data.

Pilih salah satu metode berikut:

  • Portal Azure: Pada halaman konektor data Microsoft Sentinel Anda, pilih Putuskan Sambungan.

  • API: Gunakan API PUTUSKAN SAMBUNGAN untuk mengirim panggilan PUT tanpa isi ke URL berikut:

    https://management.azure.com /subscriptions/{{SUB}}/resourceGroups/{{RG}}/providers/Microsoft.OperationalInsights/workspaces/{{WS-NAME}}/providers/Microsoft.SecurityInsights/dataConnectors/{{Connector_Id}}/disconnect?api-version=2021-03-01-preview
    

Langkah berikutnya

Jika Anda belum melakukannya, bagikan konektor data baru tanpa kode dengan komunitas Microsoft Sentinel! Buat solusi untuk konektor data Anda dan bagikan dalam Marketplace Microsoft Sentinel.

Untuk informasi selengkapnya, lihat