Log ind Gratis for altid Kom i gang

MSP-værktøjer

Dine RMM-værktøjer foretager allerede API-kald. Clavitor gør dem sikre.

Dine teknikere bruger Datto, N-able og ConnectWise hver dag. Hvert script, hver automatisering, hver planlagt opgave kræver loginoplysninger. I dag er de i scriptvariabler, brugerdefinerede felter eller en delt boks, som alle kan læse. Clavitor-proxyen og CLI'en ændrer det uden at ændre dine arbejdsgange.

Proxy-mønsteret for RMM

Indstil HTTPS_PROXY på endpointet, og dine eksisterende scripts fungerer uændret. Proxyen aflytter udgående HTTPS-anmodninger, løser clavitor://-referencer i headere og indsætter de rigtige loginoplysninger. Dit script ser aldrig den hemmelige oplysning. Din RMM-konsol logger den aldrig.

# 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 sprog. Både CLI'en og proxyen fungerer problemfrit.

CLI — enkelte værdier

# 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 — konfigurationsskabeloner

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

$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 brugerdefinerede felt-placeholdere i scriptparametre ved kørselstidspunktet ved hjælp af syntaksen {[Atera.<level>.CustomField.<name>]}. Send Clavitor-tokenet til et engangsinstallationsscript som en parameter; senere scripts kalder CLI'en på endpointet.

Installer via IT Automation-profil

I Atera-scriptbiblioteket skal du oprette et Installer Clavitor PowerShell-script med én parameter. I den IT Automation-profil, der kører det, skal du kalde med kundens niveau-felt-placeholder:

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

Atera erstatter værdien, før agenten læser dens argumentliste. Scriptet:

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

Løs loginoplysninger ved kørselstidspunktet

Når endpointet er tilmeldt, læser ethvert senere Atera-script loginoplysninger fra boksen — Atera indeholder kun token-pladsen:

$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 scripttrinargumenter ved hjælp af syntaksen {%^el:FieldName^%} (EDF på computerniveau). CLI'en installeres via et Automate-script, der downloader binærfilen og kalder et PowerShell-trin med tokenet sendt som en parameter — EDF-værdien erstattes, før scripttrinnet udføres.

Automate-script: installer

I Automate-scripteditoren skal du oprette scriptet med to trin:

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-værdien på computerniveau, før PowerShell-trinnet kører. Hold tokens under 255 tegn for at blive inden for LabReplace's erstatningsgrænse. Selve scriptet:

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

Automate-script: roter domæneloginoplysninger

Efterfølgende scripts læser fra boksen og skriver en status tilbage til EDF'en til dashboarding:

$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 site- og globale variabler for PowerShell-komponenter som miljøvariabler med præfikset $env:; brugerdefinerede felter (UDF'er) eksponeres som $env:UDF_1 til $env:UDF_30. En komponent installerer CLI'en; alt derefter læser fra boksen.

Komponent: installer og initialiser

Definer en site-variabel ClavitorToken i Datto-konsollen — den vises 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

Efterfølgende komponenter skriver clavitor://-referencer i anmodningsheadere — proxyen løser dem på hosten. Loginoplysningerne kommer aldrig ind i scriptets hukommelse eller Dattos logs:

# 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 agentprocedurer erstatter #variable#-makroer i PowerShell-argumenter ved kørselstidspunktet og udfører derefter scriptet via executePowershell-trinfamilien (executePowerShell64BitSystem osv.). Et brugerdefineret felt på agentposten indeholder Clavitor-tokenet; proceduren sender det til init via stdin.

Agentprocedure: installer

Tilføj et brugerdefineret agentfelt ClavitorToken (Audit → Rediger profil → Brugerdefinerede felter), og byg derefter en procedure med to trin:

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 værdien af det brugerdefinerede felt, før VSA udfører kommandoen — tokenet vises ikke i VSAs procedurehistorik.

Agentprocedure: roter privilegerede loginoplysninger

Når det er initialiseret, læser enhver efterfølgende procedure fra boksen:

# 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

Automationsenheden er en AMP (Automation Manager Policy) — en PowerShell-baseret politik bygget i Automation Manager. Brugerdefinerede egenskaber på organisations-, kunde- eller siteniveau kan sendes til et Run PowerShell Script-objekt som inputparametre.

AMP: installer med brugerdefineret egenskab som input

Tilføj en brugerdefineret egenskab ClavitorToken på kundeniveau (Administration → Brugerdefinerede egenskaber). I Automation Manager skal du oprette en AMP, hvis Run PowerShell Script-objekt binder inputparameteren Token til den brugerdefinerede egenskab. Scriptet:

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

Værdien af den brugerdefinerede egenskab flyder ind som $Token. Den vises aldrig i AMP'ens eksporterede XML eller i N-centrals auditlog.

Script Repository: hent loginoplysninger ved kørselstidspunktet

For ad-hoc scripts, der skubbes via Script Repository (Konfiguration → Repository → Scripts/Software), er endpointet allerede initialiseret — scriptet kalder blot 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) kører den samme Automation Manager-motor som N-central, plus en Script Manager til .ps1, AMP, batch og andre scripttyper. Mønsteret afspejler N-central: AMP med en inputparameter til tokenet, hvorefter alt andet løses ved kørselstidspunktet.

Script Manager: installer via automatiseret opgave

Upload et Install-Clavitor.ps1 til Indstillinger → Script Manager med en parameter til tokenet. Vedhæft det som en automatiseret opgave på endpointet; send tokenet som et scriptargument fra enhedsniveauindstillingen:

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

Automatiseret opgave: planlagt backup med loginoplysninger fra boksen

Når planlagte opgaver er initialiseret, henter de loginoplysninger fra boksen. Enhver standardoutput op til 255 tegn vises tilbage til N-sight-dashboardet:

$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-scripts, der kører på endpointet, kan læse og skrive brugerdefinerede felter via indbyggede cmdlets: Ninja-Property-Get <name> returnerer værdien, Ninja-Property-Set <name> <value> skriver den tilbage. Gem Clavitor-tokenet i et organisationsbrugerdefineret felt (type Sikker, så det kun kan skrives fra konsollen); installationsscriptet læser det én gang.

Installationsscript: læs token fra brugerdefineret felt

I Administration → Bibliotek → Brugerdefinerede felter skal du tilføje et organisationsfelt clavitorToken af typen Sikker. Kør derefter et installationsscript:

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

Brugerdefineret handling: API-kald via proxyen

Når automatiseringer er installeret, kalder de eksterne API'er via proxyen — loginoplysningerne kopieres aldrig ind i en scriptvariabel:

$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 aktiv-brugerdefinerede felter og tags som Platform-scriptvariabler ved hjælp af {{asset_custom_field_<name>}}-syntaksen med dobbelte krøllede parenteser. Definer en scriptvariabel af typen Platform og bind den til feltet — Syncro erstatter værdien i en PowerShell-parameter ved scriptkørselstidspunktet.

Syncro-script: installer

Opret et aktiv-brugerdefineret felt clavitor_token. I scripteditoren skal du deklarere en variabel Token af typen Platform bundet til {{asset_custom_field_clavitor_token}}; send den til en PowerShell-parameter i scriptkroppen:

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

Quick Help-panelet nederst i enhver Syncro-scripteditor viser alle tilgængelige platformsvariabler for aktiv-, kunde- og billetkonteksten.

Syncro-script: tilslut VPN med loginoplysninger fra boksen

Efter installation løser scripts og automatiserede afhjælpninger loginoplysninger fra boksen og bruger 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 vigtigt for MSP'er

Hver RMM-platform gemmer loginoplysninger et sted — brugerdefinerede egenskaber, sitevariabler, ekstra datafelter, scriptparametre. Hver tekniker med konsoladgang kan se dem. Hvert brud på din RMM-konsol eksponerer alle kunders loginoplysninger.

Clavitor flytter loginoplysningerne ud af RMM'en. RMM'en gemmer kun agenttokenet (et pr. kunde). Tokenet giver adgang med omfang til den kundes boks. Et brud på din RMM-konsol eksponerer tokens, ikke loginoplysninger — og hvert token er IP-whitelisted til det endpoint, det blev implementeret på.

Afgrænset pr. kunde

Hver kundeboks har sit eget agenttoken. Teknikeradgang styres af omfang, ikke af "hvem kan logge ind på RMM-konsollen."

Revideret pr. script

Hver adgang til loginoplysninger logges — hvilket script, hvilket endpoint, hvilke loginoplysninger, hvornår. Dine kunder kan se revisionssporet. Du kan bevise, hvem der fik adgang til hvad.

Tilbagekaldt med et klik

Kunde forlader? Tilbagekald deres agenttoken. Hvert endpoint stopper med at løse loginoplysninger øjeblikkeligt. Ingen adgangskoder at rotere, ingen brugerdefinerede egenskaber at rydde på tværs af 200 maskiner.

Stop med at gemme loginoplysninger i din RMM.

Én CLI. Hver kunde. Alle loginoplysninger afgrænset, revideret og kan tilbagekaldes.