L’accesso SSH e SFTP è sempre stato una parte importante per connettersi in modo sicuro agli ambienti WordPress in Kinsta.

Nel corso degli anni, abbiamo migliorato questi strumenti con liste di IP ammessi, metodi di autenticazione multipli e controlli di accesso granulari per rafforzare la sicurezza e mantenere la flessibilità del lavoro degli sviluppatori.

Opzioni di accesso SFTP e SSH in MyKinsta.
Opzioni di accesso SFTP e SSH in MyKinsta.

Ora stiamo estendendo queste stesse funzionalità all’API di Kinsta, ampliando i nostri endpoint di gestione degli utenti SFTP esistenti per offrire un controllo programmatico completo sugli accessi SSH e SFTP.

Esaminiamo i nuovi endpoint e vediamo come utilizzarli per automatizzare l’accesso SSH e SFTP negli ambienti.

Abilitare e disabilitare l’accesso SSH/SFTP

Il nuovo endpoint /ssh/set-status permette di abilitare o disabilitare in modo programmatico l’accesso SSH e SFTP per qualsiasi ambiente.

Questo è utile per automatizzare la sicurezza nei flussi di distribuzione. Ad esempio, è possibile abilitare temporaneamente l’accesso durante l’invio degli aggiornamenti e poi disabilitarlo una volta completata la distribuzione.

Endpoint:

POST /sites/environments/{env_id}/ssh/set-status

Esempio di richiesta:

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/set-status' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "is_enabled": true }'

Vedi i dettagli completi della richiesta e della risposta nel riferimento dell’API.

Gestione dei metodi di autenticazione

È anche anche controllare le modalità di autenticazione degli utenti, sia tramite chiavi SSH che tramite nome utente e password.

Questo offre una maggiore flessibilità nella gestione di diversi tipi di collaboratori o di strumenti esterni che devono connettersi agli ambienti.

Ad esempio, mentre il team interno potrebbe utilizzare esclusivamente l’autenticazione basata su chiavi SSH, un collaboratore temporaneo o un servizio automatico potrebbe aver bisogno di un accesso tramite password per un periodo di tempo limitato. Con questo nuovo endpoint API, è possibile attivare o disattivare l’autenticazione tramite password in modo programmatico e rimuoverla quando non è più necessaria.

Endpoint:

POST /sites/environments/{env_id}/ssh/set-password-status

Esempio di richiesta:

curl -i -X POST \  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/set-password-status' \ 
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "is_enabled": true }'

Per saperne di più, si veda il riferimento dell’API.

Generare e ruotare le password SFTP

Una forte gestione delle password è fondamentale per garantire la sicurezza dei flussi di lavoro, soprattutto quando più sviluppatori o servizi automatizzati accedono agli ambienti.

Con questa versione, è possibile generare e recuperare le password SFTP in modo programmatico, e questo rende più semplice automatizzare la rotazione delle credenziali o il rilascio di accessi a breve termine per le implementazioni o i contractor.

Endpoint:

POST /sites/environments/{env_id}/ssh/generate-password
GET /sites/environments/{env_id}/ssh/password

Esempio di richiesta (generare password):

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/generate-password' \
  -H 'Authorization: Bearer '

Esempi completi di richiesta e risposta si trovano nel riferimento dell’API per la generazione di password e il recupero di password.

Gestione delle liste di permessi IP

Ora è possibile gestire in modo programmatico le liste di permessi IP per l’accesso a SSH e SFTP. In questo modo si può limitare l’accesso all’ambiente solo alle reti approvate, aiutando i team ad applicare politiche di sicurezza rigorose senza aggiornamenti manuali in MyKinsta.

Ad esempio, se i runner CI/CD o gli IP dell’ufficio cambiano spesso, l’automazione può aggiornare dinamicamente l’elenco dei permessi, consentendo solo a questi sistemi di connettersi agli ambienti.

Endpoint:

POST /sites/environments/{env_id}/ssh/set-allowed-ips
GET /sites/environments/{env_id}/ssh/get-allowed-ips

Esempio di richiesta (recuperare la allowlist):

curl -i -X GET \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/get-allowed-ips' \
  -H 'Authorization: Bearer '

Esempio di risposta:

{
  "environment": {
    "active_container": {
      "stfp_ip_allowlist": ["127.0.0.1"]
    }
  }
}

Esempi completi per il recupero e l’aggiornamento delle liste di permessi IP si trovano nel riferimento dell’API.

Definizione degli intervalli di scadenza delle credenziali

Per applicare credenziali di breve durata e ridurre l’esposizione a lungo termine, ora è possibile impostare gli intervalli di scadenza delle credenziali SSH/SFTP direttamente tramite l’API.

Questo permette di far scadere automaticamente l’accesso dopo un periodo definito, a seconda della politica di sicurezza del team.

Endpoint:

POST /sites/environments/{env_id}/ssh/change-expiration-interval

Esempio di richiesta:

curl -i -X POST \
  'https://api.kinsta.com/v2/sites/environments/{env_id}/ssh/change-expiration-interval' \
  -H 'Authorization: Bearer ' \
  -H 'Content-Type: application/json' \
  -d '{ "interval": "24h" }'

Esempi dettagliati e l’elenco delle opzioni disponibili si trovano nel riferimento dell’API.

Recuperare i dati della connessione

Quando si gestiscono più ambienti o si automatizzano le distribuzioni, è spesso utile recuperare rapidamente i dati della connessione SSH/SFTP senza accedere a MyKinsta.

Il nuovo endpoint /ssh/config permette di recuperare programmaticamente tutte le informazioni necessarie per la connessione, tra cui host, porta, nome utente e persino un comando SSH pronto all’uso.

Endpoint:

GET /sites/{site_id}/environments/{env_id}/ssh/config

Esempio di risposta:

{
  "port": "22",
  "host": "example.sftp.kinsta.cloud",
  "user": "kinsta_user",
  "ssh_command": "ssh [email protected] -p 22"
}

Esempi completi di richieste e risposte si trovano nella guida alle API di Kinsta.

Creare flussi di lavoro automatizzati sicuri

Con questi nuovi endpoint è possibile automatizzare completamente l’accesso SSH e SFTP negli ambienti.

Dall’onboarding degli sviluppatori alla rotazione delle credenziali, fino all’applicazione dei criteri di rete, l’API di Kinsta offre la flessibilità necessaria per integrare la gestione delle connessioni sicure nei flussi di lavoro DevOps esistenti.

Scopri tutti i dettagli degli endpoint e gli esempi di richiesta nella pagina di riferimento dell’API di Kinsta.