MSP-työkalut
Teidän RMM-järjestelmänne tekee jo API-kutsuja.
Clavitor tekee niistä turvallisia.
Teidän teknikkonne käyttävät Dattoa, N-ablea ja ConnectWisea päivittäin. Jokainen skripti, jokainen automaatio, jokainen ajoitettu tehtävä tarvitsee tunnistetietoja. Tänään ne ovat skriptimuuttujissa, mukautetuissa kentissä tai jaetussa holvissa, jota kaikki voivat lukea. Clavitor-välityspalvelin ja CLI muuttavat tämän muuttamatta työnkulkuja.
Välityspalvelinmalli RMM-järjestelmille
Aseta HTTPS_PROXY päätepisteeseen, ja olemassa olevat skriptinne toimivat muuttumattomina. Välityspalvelin sieppaa lähtevät HTTPS-pyynnöt, ratkaisee otsikoiden clavitor://-viittaukset ja injektoi todellisen tunnistetiedon. Skriptinne ei koskaan näe salaista tietoa. RMM-konsolinne ei koskaan kirjaa sitä.
# On the managed endpoint — one-time setup
$env:HTTPS_PROXY = "http://localhost:1983"
# Your existing automation scripts work unchanged
# The proxy resolves clavitor:// references in request headers
Invoke-RestMethod -Uri "https://api.openai.com/v1/models" `
-Headers @{ Authorization = "Bearer clavitor://OpenAI/key" }PowerShell
PowerShell on MSP:n päivittäinen kieli. Sekä CLI että välityspalvelin toimivat natiivisti.
CLI – yksittäiset arvot
# Resolve, use, scrub — the credential lives for one statement $cred = clavitor-cli get "Client-Acme/VPN" --field password Add-VpnConnection -Name "Acme" -ServerAddress "vpn.acme.com" -AuthenticationMethod MSChapv2 $secure = ConvertTo-SecureString $cred -AsPlainText -Force Set-VpnConnectionUsernamePassword -ConnectionName "Acme" -Password $secure Remove-Variable cred, secure
Renderöinti – konfiguraatiomallit
# Template with clavitor:// references (safe to store in your RMM) clavitor-cli render monitoring-config.json | ` Set-Content -Path "C:\ProgramData\Monitor\config.json"
Välityspalvelin – läpinäkyvä injektointi
$env:HTTPS_PROXY = "http://localhost:1983"
# Every Invoke-RestMethod and Invoke-WebRequest now resolves clavitor://
Invoke-RestMethod -Uri "https://api.datto.com/v1/devices" `
-Headers @{ Authorization = "Bearer clavitor://Datto API/key" }Atera
Atera korvaa mukautettujen kenttien paikkamerkit skriptiparametreihin ajon aikana käyttäen {[Atera.<level>.CustomField.<name>]}-syntaksia. Syötä Clavitor-tunnus kertaluonteiseen asennusskriptiin parametrina; myöhemmät skriptit kutsuvat CLI:tä päätepisteessä.
Asennus IT-automaatioprofiilin kautta
Luo Ateran skriptikirjastoon Asenna Clavitor -niminen PowerShell-skripti yhdellä parametrilla. Käytä sitä suorittavassa IT-automaatioprofiilissa asiakastason kentän paikkamerkin kanssa:
Install-Clavitor.ps1 -Token "{[Atera.Customer.CustomField.ClavitorToken]}"Atera korvaa arvot ennen kuin agentti lukee sen argumenttiluettelon. Skripti:
param([Parameter(Mandatory)][string]$Token) $Token | clavitor-cli init Remove-Variable Token
Tunnistetietojen ratkaisu ajon aikana
Kun päätepiste on rekisteröity, kaikki myöhemmät Atera-skriptit lukevat tunnistetiedot holvista – Atera pitää vain tunnusslottia:
$pass = clavitor-cli get "Client-Acme/SQL Server" --field password
$secure = ConvertTo-SecureString $pass -AsPlainText -Force
Invoke-Sqlcmd -ServerInstance "sql.acme.local" `
-Credential (New-Object PSCredential("sa", $secure)) -Query "SELECT 1"
Remove-Variable pass, secureConnectWise Automate
Automate korvaa Extra Data Field (EDF) -makrot skriptivaiheen argumentteihin käyttäen {%^el:FieldName^%}-syntaksia (tietokonetason EDF). CLI asennetaan Automate-skriptin avulla, joka lataa binäärin ja kutsuu PowerShell-vaiheen parametrina syötetyn tunnuksen kanssa – EDF-arvo korvataan ennen skriptivaiheen suorittamista.
Automate-skripti: asennus
Luo Automate-skriptieditorissa skripti kahdella vaiheella:
Step 1 File Download from LTShare clavitor-cli.exe → %windir%\Temp\
Step 2 Shell Execute (PowerShell) Install-Clavitor.ps1 -Token "{%^el:ClavitorToken^%}"{%^el:ClavitorToken^%}-makro korvataan tietokonetason EDF-arvolla ennen PowerShell-vaiheen suorittamista. Pidä tunnukset alle 255 merkkiä, jotta ne pysyvät LabReplace-korvausrajan sisällä. Itse skripti:
# Install-Clavitor.ps1 param([Parameter(Mandatory)][string]$Token) $Token | clavitor-cli init Remove-Variable Token
Automate-skripti: verkkotunnuksen tunnistetietojen rotaatio
Myöhemmät skriptit lukevat holvista ja kirjoittavat tilan takaisin EDF:ään kojelautaa varten:
$cred = clavitor-cli get "Client-Delta/Domain Admin" --field password
$secure = ConvertTo-SecureString $cred -AsPlainText -Force
Reset-ComputerMachinePassword `
-Credential (New-Object PSCredential("administrator", $secure))
# Push timestamp back to EDF "LastRotation" via Automate's ExtraData Set Value step
Write-Output (Get-Date -Format o)
Remove-Variable cred, secureDatto RMM
Datto RMM paljastaa sivusto- ja globaalit muuttujat PowerShell-komponenteille ympäristömuuttujina $env:-etuliitteellä; käyttäjän määrittämät kentät (UDF) paljastetaan $env:UDF_1 – $env:UDF_30. Yksi komponentti asentaa CLI:n; kaikki sen jälkeen lukee holvista.
Komponentti: asennus ja alustus
Määritä sivustomuuttuja ClavitorToken Dattokonsolissa – se näkyy komponentissa $env:ClavitorToken:
# Datto RMM component: bootstrap Clavitor CLI # Site variable "ClavitorToken" → $env:ClavitorToken at runtime $env:ClavitorToken | clavitor-cli init
Komponentti: API-monitori välityspalvelimen kautta
Myöhemmät komponentit kirjoittavat clavitor://-viittauksia pyyntöotsikoihin – välityspalvelin ratkaisee ne isännällä. Tunnistetieto ei koskaan pääse skriptin muistiin tai Dattokirjauksiin:
# Scheduled monitor — runs every 15 minutes
$env:HTTPS_PROXY = "http://localhost:1983"
$response = Invoke-RestMethod -Uri "https://api.client.com/v1/status" `
-Headers @{ Authorization = "Bearer clavitor://Client-Bravo/Monitoring API" }
# Push a status code back into UDF_5 for the Datto dashboard
New-ItemProperty -Path "HKLM:\SOFTWARE\CentraStage" `
-Name "Custom5" -Value $response.status -Force | Out-NullKaseya VSA
VSA-agenttitoimenpiteet korvaavat #variable#-makrot PowerShell-argumentteihin ajon aikana ja suorittavat sitten skriptin executePowershell-vaiheperheen kautta (executePowerShell64BitSystem jne.). Agenttitietueen mukautettu kenttä sisältää Clavitor-tunnuksen; toimenpide syöttää sen alustukseen stdin kautta.
Agenttitoimenpide: asennus
Lisää agentin mukautettu kenttä ClavitorToken (Audit → Edit Profile → Custom Fields) ja rakenna sitten toimenpide kahdella vaiheella:
Step 1 Get File from VSA Server clavitor-cli.exe → C:\Program Files\Clavitor\
Step 2 Execute PowerShell (64 Sys) "C:\Program Files\Clavitor\clavitor-cli.exe init" \
stdin = "#vAgentConfiguration.ClavitorToken#"#vAgentConfiguration.ClavitorToken#-makro korvataan mukautetun kentän arvolla ennen kuin VSA suorittaa komennon – tunnus ei näy VSA:n toimenpidelokissa.
Agenttitoimenpide: pääkäyttäjän tunnistetietojen rotaatio
Alustuksen jälkeen mikä tahansa myöhempi toimenpide lukee holvista:
# Executed via executePowerShell64BitSystem $cred = clavitor-cli get "Client-Hotel/Local Admin" --field password $secure = ConvertTo-SecureString $cred -AsPlainText -Force Set-LocalUser -Name "Administrator" -Password $secure Remove-Variable cred, secure
N-able N-central
Automaation yksikkö on AMP (Automation Manager Policy) – PowerShell-pohjainen käytäntö, joka on rakennettu Automation Managerissa. Organisaatio-, asiakas- tai sivustotasoiset mukautetut ominaisuudet voidaan syöttää Run PowerShell Script -objektiin syöttöparametreina.
AMP: asennus mukautetulla ominaisuudella syötteenä
Lisää asiakastason mukautettu ominaisuus ClavitorToken (Administration → Custom Properties). Luo Automation Managerissa AMP, jonka Run PowerShell Script -objekti sitoo syöttöparametrin Token kyseiseen mukautettuun ominaisuuteen. Skripti:
param([Parameter(Mandatory)][string]$Token) $Token | clavitor-cli init Remove-Variable Token
Mukautettu ominaisuusarvo virtaa sisään $Token. Se ei koskaan näy AMP:n viedyssä XML:ssä tai N-centralin auditlokissa.
Skriptirepositorio: hae tunnistetieto ajon aikana
Skriptirepositorion (Configuration → Repository → Scripts/Software) kautta lähetetyille ad-hoc-skripteille päätepiste on jo alustettu – skripti kutsuu vain CLI:tä:
$dbPass = clavitor-cli get "Client-Bcme/SQL Server" --field password
$secure = ConvertTo-SecureString $dbPass -AsPlainText -Force
Invoke-Sqlcmd -ServerInstance "sql.bcme.com" `
-Credential (New-Object PSCredential("sa", $secure)) -Query "SELECT 1"
Remove-Variable dbPass, secureN-able N-sight
N-sight (aiemmin SolarWinds RMM) käyttää samaa Automation Manager -moottoria kuin N-central, sekä Script Manageria .ps1, AMP-, batch- ja muihin skriptityyppeihin. Malli peilaa N-centralia: AMP syöttöparametrilla tunnukselle, sitten kaikki muu ratkeaa ajon aikana.
Script Manager: asennus automaattisen tehtävän kautta
Lataa Install-Clavitor.ps1 asetuksiin → Script Manager parametrilla tunnukselle. Liitä se automaattiseksi tehtäväksi päätepisteeseen; syötä tunnus skriptin argumenttina laitetason asetuksesta:
param([Parameter(Mandatory)][string]$Token) $Token | clavitor-cli init Remove-Variable Token
Automaattinen tehtävä: ajoitettu varmuuskopiointi holvin tunnistetiedoilla
Kun ajoitetut tehtävät on alustettu, ne hakevat tunnistetiedot holvista. Mikä tahansa tavallinen tuloste enintään 255 merkkiä näkyy takaisin N-sight-kojelaudassa:
$pass = clavitor-cli get "Client-India/SQL Backup" --field password
$secure = ConvertTo-SecureString $pass -AsPlainText -Force
Backup-SqlDatabase -ServerInstance "sql.india.com" -Database "AppDB" `
-Credential (New-Object PSCredential("backup-svc", $secure))
Write-Output "backup OK $(Get-Date -Format o)"
Remove-Variable pass, secureNinjaOne
Päätepisteessä suoritettavat NinjaOne-skriptit voivat lukea ja kirjoittaa mukautettuja kenttiä sisäänrakennetuilla cmdlet-komennoilla: Ninja-Property-Get <name> palauttaa arvon, Ninja-Property-Set <name> <value> kirjoittaa sen takaisin. Tallenna Clavitor-tunnus organisaation mukautettuun kenttään (tyyppi Secure, jotta se on kirjoitussuojattu konsolista); asennusskripti lukee sen kerran.
Asennusskripti: lue tunnus mukautetusta kentästä
Lisää Administration → Library → Custom Fields -kohdassa organisaatiokenttä clavitorToken tyyppiä Secure. Suorita sitten asennusskripti:
$token = Ninja-Property-Get clavitorToken $token | clavitor-cli init Remove-Variable token
Mukautettu toiminto: API-kutsu välityspalvelimen kautta
Kun automaatiot on asennettu, ne kutsuvat ulkoisia API-rajapintoja välityspalvelimen kautta – tunnistetietoa ei koskaan kopioida skriptimuuttujaan:
$env:HTTPS_PROXY = "http://localhost:1983"
$response = Invoke-RestMethod -Uri "https://api.client-echo.com/v1/status" `
-Headers @{ Authorization = "Bearer clavitor://Client-Echo/Monitoring API" }
# Push the result back to a device custom field for dashboarding
Ninja-Property-Set lastApiStatus $response.statusSyncro
Syncro paljastaa resurssien mukautetut kentät ja tagit Platform-skriptimuuttujina käyttäen {{asset_custom_field_<name>}}-kaksois-aaltosulkeiden syntaksia. Määritä alustan tyyppinen skriptimuuttuja ja sido se kenttään – Syncro korvaa arvon PowerShell-parametrilla skriptin suoritusajankohtana.
Syncro-skripti: asennus
Luo resurssin mukautettu kenttä clavitor_token. Määritä skriptieditorissa muuttuja Token tyyppiä Platform, joka on sidottu {{asset_custom_field_clavitor_token}}; syötä se PowerShell-parametriin skriptin rungossa:
param([Parameter(Mandatory)][string]$Token) $Token | clavitor-cli init Remove-Variable Token
Syncro-skriptieditorin jokaisen paneelin alareunassa oleva Quick Help -paneeli listaa kaikki saatavilla olevat alustan muuttujat resurssin, asiakkaan ja tiketin kontekstissa.
Syncro-skripti: yhdistä VPN holvin tunnistetiedoilla
Asennuksen jälkeen skriptit ja automaattiset korjaukset ratkaisevat tunnistetiedot holvista ja käyttävät niitä suoraan:
$pass = clavitor-cli get "Client-Golf/VPN" --field password $secure = ConvertTo-SecureString $pass -AsPlainText -Force Add-VpnConnection -Name "Golf" -ServerAddress "vpn.golf.com" ` -AuthenticationMethod MSChapv2 -Force Set-VpnConnectionUsernamePassword -ConnectionName "Golf" -Password $secure # Write status back to asset for Syncro dashboard Rmm-Alert -Category "vpn-status" -Body "Golf connected $(Get-Date -Format o)" Remove-Variable pass, secure
Miksi tämä on tärkeää MSP:ille
Jokainen RMM-alusta tallentaa tunnistetiedot johonkin – mukautetut ominaisuudet, sivustomuuttujat, lisätietokentät, skriptiparametrit. Jokainen teknikkö, jolla on konsolikäyttö, voi nähdä ne. Jokainen RMM-konsolin tietomurto paljastaa jokaisen asiakkaan tunnistetiedot.
Clavitor siirtää tunnistetiedot pois RMM-järjestelmästä. RMM tallentaa vain agenttitunnuksen (yksi per asiakas). Tunnus antaa rajatun pääsyn kyseisen asiakkaan holviin. RMM-konsolin tietomurto paljastaa tunnuksia, ei tunnistetietoja – ja jokainen tunnus on IP-rajoitettu päätepisteeseen, johon se on otettu käyttöön.
Rajattu per asiakas
Jokaisella asiakkaan holvilla on oma agenttitunnus. Teknikon pääsyä hallitaan rajauksen perusteella, ei sen perusteella, "kuka voi kirjautua RMM-konsoliin."
Auditoitu per skripti
Jokainen tunnistetietojen käyttö kirjataan – mikä skripti, mikä päätepiste, mikä tunnistetieto, milloin. Asiakkaanne voivat nähdä auditlokin. Voitte todistaa, kuka käytti mitäkin.
Peruutettu yhdellä napsautuksella
Asiakas lähtee? Peruuta heidän agenttitunnuksensa. Jokainen päätepiste lopettaa tunnistetietojen ratkaisemisen välittömästi. Ei salasanoja vaihdettavaksi, ei mukautettuja ominaisuuksia tyhjennettäväksi 200 koneelta.
Lopeta tunnistetietojen tallentaminen RMM-järjestelmään.
Yksi CLI. Jokainen asiakas. Jokainen tunnistetieto rajattu, auditoitu ja peruutettavissa.