L’accès SSH et SFTP a toujours été une partie importante de la façon dont les développeurs se connectent en toute sécurité à leurs environnements WordPress chez Kinsta.

Au fil des ans, nous avons amélioré ces outils avec des listes d’adresses IP, des méthodes d’authentification multiples et des contrôles d’accès fins pour renforcer la sécurité tout en maintenant la flexibilité des développeurs.

Options d'accès SFTP et SSH dans MyKinsta.
Options d’accès SFTP et SSH dans MyKinsta.

Aujourd’hui, nous étendons ces mêmes capacités à l’API Kinsta, en développant nos points de terminaison de gestion des utilisateurs SFTP existants pour vous donner un contrôle programmatique complet sur l’accès SSH et SFTP.

Passons en revue les nouveaux points de terminaison et explorons comment vous pouvez les utiliser pour automatiser l’accès SSH et SFTP dans vos environnements.

Activer ou désactiver l’accès SSH/SFTP

Le nouveau point de terminaison /ssh/set-status vous permet d’activer ou de désactiver par programme l’accès SSH et SFTP pour n’importe quel environnement.

Cela est utile pour automatiser la sécurité dans les flux de travail de déploiement. Par exemple, activer temporairement l’accès pendant le déploiement des mises à jour, puis le désactiver une fois le déploiement terminé.

Point de terminaison :

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

Exemple de requête :

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 }'

Voir les détails complets de la requête et de la réponse dans la référence de l’API.

Gestion des méthodes d’authentification

Vous pouvez désormais aussi contrôler la façon dont les utilisateurs s’authentifient, que ce soit via des clés SSH ou un nom d’utilisateur et un mot de passe.

Cela vous donne plus de flexibilité lorsque vous gérez différents types de contributeurs ou d’outils externes qui doivent se connecter à vos environnements.

Par exemple, alors que votre équipe interne peut utiliser exclusivement l’authentification basée sur les clés SSH, un collaborateur temporaire ou un service automatisé peut avoir besoin d’un accès par mot de passe pour une durée limitée. Avec ce nouveau point de terminaison de l’API, vous pouvez activer ou désactiver l’authentification par mot de passe de manière programmatique et la supprimer une fois qu’elle n’est plus nécessaire.

Point de terminaison :

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

Exemple de requête :

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 }'

Voir plus dans la référence de l’API.

Générer et faire tourner les mots de passe SFTP

Une gestion solide des mots de passe est essentielle pour sécuriser les flux de travail, en particulier lorsque plusieurs développeurs ou services automatisés accèdent aux environnements.

Avec cette version, vous pouvez désormais générer et récupérer des mots de passe SFTP de manière programmatique, ce qui facilite l’automatisation de la rotation des informations d’identification ou l’octroi d’un accès à court terme pour les déploiements ou les sous-traitants.

Points de terminaison :

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

Exemple de requête (générer un mot de passe) :

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

Vous trouverez des exemples complets de requêtes et de réponses dans la référence de l’API pour la génération de mots de passe et la récupération de mots de passe.

Gestion des listes d’adresses IP autorisées

Vous pouvez maintenant gérer par programme les listes d’adresses IP autorisées pour l’accès SSH et SFTP. Cela offre un moyen simple de restreindre l’accès à l’environnement aux seuls réseaux approuvés, aidant ainsi les équipes à appliquer des politiques de sécurité solides sans mises à jour manuelles dans MyKinsta.

Par exemple, si vos runners CI/CD ou les IP de votre bureau changent fréquemment, votre automatisation peut mettre à jour la liste d’autorisation de façon dynamique, permettant uniquement à ces systèmes de se connecter à vos environnements.

Points de terminaison :

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

Exemple de requête (récupérer la liste d’autorisations) :

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

Exemple de réponse :

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

Vous trouverez des exemples complets pour la récupération et la mise à jour des listes d’adresses IP dans la référence de l’API.

Définition des intervalles d’expiration des informations d’identification

Pour aider les équipes à faire respecter les informations d’identification de courte durée et à réduire l’exposition à long terme, vous pouvez maintenant définir les intervalles d’expiration des informations d’identification SSH/SFTP directement par le biais de l’API.

Cela vous permet d’expirer automatiquement l’accès après une période définie, en fonction de la politique de sécurité de votre équipe.

Point de terminaison :

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

Exemple de requête :

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" }'

Vous trouverez des exemples détaillés et les options d’intervalle disponibles dans la référence de l’API.

Récupérer les détails de la connexion

Lorsque l’on gère plusieurs environnements ou que l’on automatise des déploiements, il est souvent utile de récupérer rapidement les détails de la connexion SSH/SFTP sans se connecter à MyKinsta.

Le nouveau point de terminaison /ssh/config vous permet de récupérer par programme toutes les informations nécessaires à la connexion, y compris l’hôte, le port, le nom d’utilisateur et même une commande SSH prête à l’emploi.

Point de terminaison :

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

Exemple de réponse :

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

Vous trouverez des exemples complets de requêtes et de réponses dans la référence de l’API Kinsta.

Créer des flux d’automatisation sécurisés

Avec ces nouveaux points de terminaison, vous pouvez entièrement automatiser l’accès SSH et SFTP dans vos environnements.

De l’onboarding des développeurs à la rotation des identifiants et à l’application des politiques de réseau, l’API Kinsta vous donne la flexibilité nécessaire pour intégrer la gestion des connexions sécurisées dans vos flux de travail DevOps existants.

Explorez tous les détails des points de terminaison et les exemples de requête dans la référence de l’API Kinsta.