Logg inn Gratis for alltid Kom i gang

MSP-verktøy

Din RMM utfører allerede API-kall. Clavitor gjør dem trygge.

Teknikerne dine bruker Datto, N-able og ConnectWise hver dag. Hvert skript, hver automatisering, hver planlagte oppgave trenger påloggingsinformasjon. I dag er de i skriptvariabler, egendefinerte felt eller et delt hvelv alle kan lese. Clavitor-proxyen og CLI-en endrer det uten å endre arbeidsflytene dine.

Proxy-mønsteret for RMM

Sett HTTPS_PROXY på endepunktet, og dine eksisterende skript fungerer uendret. Proxyen avskjærer utgående HTTPS-forespørsler, løser clavitor://-referanser i headere og injiserer den ekte påloggingsinformasjonen. Skriptet ditt ser aldri hemmeligheten. RMM-konsollen din logger den aldri.

# 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 er MSP-ens daglige språk. Både CLI-en og proxyen fungerer naturlig.

CLI — enkeltverdier

# 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

Gjengi — konfigurasjonsmaler

# Template with clavitor:// references (safe to store in your RMM)
clavitor-cli render monitoring-config.json | `
  Set-Content -Path "C:\ProgramData\Monitor\config.json"

Proxy — transparent injeksjon

$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 erstatter egendefinerte felt-plassholdere i skriptparametere ved kjøretid, ved å bruke {[Atera.<level>.CustomField.<name>]}-syntaksen. Send Clavitor-tokenet til et engangsinstallasjonsskript som en parameter; senere skript sheller ut til CLI-en på endepunktet.

Installer via IT Automation-profil

I Atera-skriptbiblioteket, opprett et Installer Clavitor PowerShell-skript med én parameter. I IT Automation-profilen som kjører det, kall med kundennivåets feltplassholder:

Install-Clavitor.ps1 -Token "{[Atera.Customer.CustomField.ClavitorToken]}"

Atera erstatter verdien før agenten leser argumentlisten sin. Skriptet:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Løs påloggingsinformasjon ved kjøretid

Når endepunktet er registrert, leser alle senere Atera-skript påloggingsinformasjon fra hvelvet — Atera holder kun token-sporet:

$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, secure

ConnectWise Automate

Automate erstatter Extra Data Field (EDF) makroer i skripttrinnargumenter ved å bruke {%^el:FieldName^%}-syntaksen (EDF på datamaskin-nivå). CLI-en installeres via et Automate-skript som laster ned binærfilen og kaller et PowerShell-trinn med tokenet sendt som en parameter — EDF-verdien erstattes før skripttrinnet utføres.

Automate-skript: installer

I Automate-skripteditoren, opprett skriptet med to trinn:

Step 1  File Download from LTShare       clavitor-cli.exe → %windir%\Temp\
Step 2  Shell Execute (PowerShell)       Install-Clavitor.ps1 -Token "{%^el:ClavitorToken^%}"

{%^el:ClavitorToken^%}-makroen erstattes med EDF-verdien på datamaskin-nivå før PowerShell-trinnet kjører. Hold tokens under 255 tegn for å holde deg innenfor LabReplace's substitusjonsgrense. Selve skriptet:

# Install-Clavitor.ps1
param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Automate-skript: roter en domene-påloggingsinformasjon

Etterfølgende skript leser fra hvelvet og skriver en status tilbake til EDF for dashbordvisning:

$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, secure

Datto RMM

Datto RMM eksponerer nettsteds- og globale variabler til PowerShell-komponenter som miljøvariabler med $env:-prefikset; brukerdefinerte felt (UDF-er) eksponeres som $env:UDF_1 til $env:UDF_30. Én komponent installerer CLI-en; alt etterpå leser fra hvelvet.

Komponent: installer og initialiser

Definer en nettsteds-variabel ClavitorToken i Datto-konsollen — den vises inne i komponenten som $env:ClavitorToken:

# Datto RMM component: bootstrap Clavitor CLI
# Site variable "ClavitorToken" → $env:ClavitorToken at runtime
$env:ClavitorToken | clavitor-cli init

Komponent: API-monitor via proxyen

Etterfølgende komponenter skriver clavitor://-referanser i forespørselsheadere — proxyen løser dem på verten. Påloggingsinformasjonen kommer aldri inn i skriptets minne eller Dattos logger:

# 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-Null

Kaseya VSA

VSA agentprosedyrer erstatter #variable#-makroer i PowerShell-argumenter ved kjøretid, og utfører deretter skriptet via executePowershell-trinnfamilien (executePowerShell64BitSystem, etc.). Et egendefinert felt på agentoppføringen inneholder Clavitor-tokenet; prosedyren sender det til init via stdin.

Agentprosedyre: installer

Legg til et egendefinert agentfelt ClavitorToken (Audit → Edit Profile → Custom Fields), og bygg deretter en prosedyre med to trinn:

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#-makroen erstattes med verdien fra egendefinert felt før VSA utfører kommandoen — tokenet vises ikke i VSAs prosedyrehistorikk.

Agentprosedyre: roter en privilegert påloggingsinformasjon

Når initialisert, leser enhver senere prosedyre fra hvelvet:

# 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

Automatiseringsenheten er en AMP (Automation Manager Policy) — en PowerShell-basert policy bygget i Automation Manager. Egendefinerte egenskaper på organisasjons-, kunde- eller nettstedsnivå kan sendes til et Run PowerShell Script-objekt som Input Parameters.

AMP: installer med egendefinert egenskap som input

Legg til en egendefinert egenskap ClavitorToken på kundenivå (Administration → Custom Properties). I Automation Manager, opprett en AMP hvis Run PowerShell Script-objekt binder Input Parameter Token til den egendefinerte egenskapen. Skriptet:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Verdien av egendefinert egenskap flyter inn som $Token. Den vises aldri i AMP-ens eksporterte XML eller i N-centrals revisjonslogg.

Skriptarkiv: hent en påloggingsinformasjon ved kjøretid

For ad-hoc-skript sendt via Skriptarkivet (Configuration → Repository → Scripts/Software), er endepunktet allerede initialisert — skriptet kaller bare CLI-en:

$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, secure

N-able N-sight

N-sight (tidligere SolarWinds RMM) kjører samme Automation Manager-motor som N-central, pluss en Script Manager for .ps1, AMP, batch og andre skripttyper. Mønsteret speiler N-central: AMP med en Input Parameter for tokenet, deretter løses alt annet ved kjøretid.

Script Manager: installer via Automated Task

Last opp et Install-Clavitor.ps1 til Settings → Script Manager med en parameter for tokenet. Fest det som en Automated Task på endepunktet; send tokenet som et skriptargument fra enhetsnivåinnstillingen:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Automated Task: planlagt sikkerhetskopi med hvelv-påloggingsinformasjon

Når planlagte oppgaver er initialisert, henter de påloggingsinformasjon fra hvelvet. All standard utdata opptil 255 tegn vises tilbake til N-sight-dashbordet:

$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, secure

NinjaOne

NinjaOne-skript som kjører på endepunktet kan lese og skrive egendefinerte felt gjennom innebygde cmdlets: Ninja-Property-Get <name> returnerer verdien, Ninja-Property-Set <name> <value> skriver den tilbake. Lagre Clavitor-tokenet i et organisasjonsegendefinert felt (type Secure slik at det kun er skrivbart fra konsollen); installasjonsskriptet leser det én gang.

Installasjonsskript: les token fra egendefinert felt

I Administration → Library → Custom Fields, legg til et organisasjonsfelt clavitorToken av typen Secure. Kjør deretter et installasjonsskript:

$token = Ninja-Property-Get clavitorToken
$token | clavitor-cli init
Remove-Variable token

Custom Action: API-kall via proxyen

Når automasjoner er installert, kaller de eksterne API-er via proxyen — påloggingsinformasjonen kopieres aldri inn i en skriptvariabel:

$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.status

Syncro

Syncro eksponerer asset egendefinerte felt og tagger som Platform skriptvariabler ved bruk av {{asset_custom_field_<name>}} dobbel-krøllsyntaks. Definer en skriptvariabel av typen Platform og bind den til feltet — Syncro erstatter verdien i en PowerShell-parameter ved skriptkjøring.

Syncro-skript: installer

Opprett et asset egendefinert felt clavitor_token. I skripteditoren, deklarer en variabel Token av typen Platform bundet til {{asset_custom_field_clavitor_token}}; send den til en PowerShell-parameter i skriptkroppen:

param([Parameter(Mandatory)][string]$Token)
$Token | clavitor-cli init
Remove-Variable Token

Quick Help-panelet nederst i hver Syncro-skripteditor lister opp alle tilgjengelige plattformvariabler for asset-, kunde- og billettkonteksten.

Syncro-skript: koble til VPN med hvelv-påloggingsinformasjon

Etter installasjon løser skript og Automated Remediations påloggingsinformasjon fra hvelvet og bruker dem direkte:

$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

Hvorfor dette er viktig for MSP-er

Hver RMM-plattform lagrer påloggingsinformasjon et sted — egendefinerte egenskaper, nettsteds-variabler, ekstra datafelt, skriptparametere. Hver tekniker med konsolltilgang kan se dem. Hvert brudd på RMM-konsollen din eksponerer alle kunders påloggingsinformasjon.

Clavitor flytter påloggingsinformasjonen ut av RMM-en. RMM-en lagrer kun agent-tokenet (ett per kunde). Tokenet gir begrenset tilgang til den kundens hvelv. Et brudd på RMM-konsollen din eksponerer tokens, ikke påloggingsinformasjon — og hvert token er IP-hvitelistet til endepunktet det ble distribuert på.

Begrenset per kunde

Hvert kundehvelv har sitt eget agent-token. Teknikertilgang styres av omfang, ikke av "hvem kan logge inn på RMM-konsollen."

Revidert per skript

Hver tilgang til påloggingsinformasjon logges — hvilket skript, hvilket endepunkt, hvilken påloggingsinformasjon, når. Kundene dine kan se revisjonssporet. Du kan bevise hvem som fikk tilgang til hva.

Kan tilbakekalles med ett klikk

Kunde forlater? Tilbakekall deres agent-token. Hvert endepunkt slutter å løse påloggingsinformasjon umiddelbart. Ingen passord å rotere, ingen egendefinerte egenskaper å slette på 200 maskiner.

Slutt å lagre påloggingsinformasjon i din RMM.

Én CLI. Hver kunde. Hver påloggingsinformasjon begrenset, revidert og tilbakekallbar.