CorceLinkDocumentation Espace client

Pare-feu

Le pare-feu de chaque VPS : état, politiques par défaut et règles.

Lire le pare-feu

GET/v1/compute/vps/{vps_id}/firewall

Permission : vps:read

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Réponse 200

ChampTypeDescription
enabledbooléenPare-feu actif.
inbound_policytexteSort du trafic entrant qui ne correspond à aucune règle. Valeurs : accept, drop, reject.
outbound_policytexteSort du trafic sortant qui ne correspond à aucune règle. Valeurs : accept, drop, reject.
rules_countentierNombre de règles.

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "enabled": true,
  "inbound_policy": "drop",
  "outbound_policy": "accept",
  "rules_count": 3
}
Essayer avec votre clé

Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.

Modifier le pare-feu

PATCH/v1/compute/vps/{vps_id}/firewall

Permission : vps:write

Active ou désactive le pare-feu et règle les politiques par défaut.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.
If-Matchtexte`ETag` reçu à la lecture : la modification est refusée (412) si la ressource a changé entre-temps.

Corps de la requête

ChampTypeDescription
enabledbooléen
inbound_policytexteValeurs : accept, drop, reject.
outbound_policytexteValeurs : accept, drop, reject.

Réponse 200

ChampTypeDescription
enabledbooléenPare-feu actif.
inbound_policytexteSort du trafic entrant qui ne correspond à aucune règle. Valeurs : accept, drop, reject.
outbound_policytexteSort du trafic sortant qui ne correspond à aucune règle. Valeurs : accept, drop, reject.
rules_countentierNombre de règles.

Erreurs

curl -X PATCH "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Réponse 200

{
  "enabled": true,
  "inbound_policy": "reject",
  "outbound_policy": "accept",
  "rules_count": 3
}

Lister les règles

GET/v1/compute/vps/{vps_id}/firewall/rules

Permission : vps:read

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

Réponse 200

ChampTypeDescription
dataliste de objet
data[].idtexteIdentifiant stable de la règle. Exemple : "fwr-3a91c2".
data[].positionentierOrdre d’évaluation, à partir de 0. Exemple : 1.
data[].directiontexteSens du trafic : entrant ou sortant. Valeurs : in, out.
data[].actiontexteAutoriser, bloquer sans réponse ou rejeter. Valeurs : accept, drop, reject.
data[].protocoltexteProtocole ; any pour tous. Valeurs : tcp, udp, icmp, icmpv6, any.
data[].portstexte ou nullPort, liste ou plage, pour TCP et UDP. Exemple : "22".
data[].remotetexte ou nullExemple : "203.0.113.10/32".
data[].commenttexte ou nullExemple : "SSH bureau".
data[].enabledbooléenRègle active.
data[].managedbooléenRègle gérée par CorceLink (réseaux privés) : ni modifiable, ni supprimable.

Erreurs

curl "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall/rules" \
  -H "Authorization: Bearer $CORCELINK_API_KEY"

Réponse 200

{
  "data": [
    {
      "id": "fwr-5a3924",
      "position": 0,
      "direction": "in",
      "action": "accept",
      "protocol": "any",
      "ports": null,
      "remote": "10.20.1.0/24",
      "comment": "[CorceLink] Réseau privé vpc00001",
      "enabled": true,
      "managed": true
    },
    {
      "id": "fwr-9e160c",
      "position": 1,
      "direction": "in",
      "action": "accept",
      "protocol": "tcp",
      "ports": "22",
      "remote": "203.0.113.10",
      "comment": "SSH bureau",
      "enabled": true,
      "managed": false
    },
    {
      "id": "fwr-591772",
      "position": 2,
      "direction": "in",
      "action": "accept",
      "protocol": "tcp",
      "ports": "80,443",
      "remote": null,
      "comment": "Web",
      "enabled": true,
      "managed": false
    }
  ]
}
Essayer avec votre clé

Votre clé reste dans ce navigateur et n’est envoyée qu’à api.corcelink.fr.

Ajouter une règle

POST/v1/compute/vps/{vps_id}/firewall/rules

Permission : vps:write

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.
If-Matchtexte`ETag` reçu à la lecture : la modification est refusée (412) si la ressource a changé entre-temps.

Corps de la requête

ChampTypeDescription
directionobligatoiretexteSens du trafic : entrant ou sortant. Valeurs : in, out.
actionobligatoiretexteAutoriser, bloquer sans réponse ou rejeter. Valeurs : accept, drop, reject.
protocolobligatoiretexteProtocole ; any pour tous. Valeurs : tcp, udp, icmp, icmpv6, any.
portstexte ou nullExemple : "22".
remotetexte ou nullAdresse ou réseau distant ; vide pour toutes. Exemple : "203.0.113.10/32".
commenttexte ou null60 caractères au plus. Exemple : "SSH bureau".
enabledbooléenPar défaut : true.
positionentierPosition voulue ; à défaut, la règle est ajoutée à la fin.

Réponse 201

ChampTypeDescription
idtexteIdentifiant stable de la règle. Exemple : "fwr-3a91c2".
positionentierOrdre d’évaluation, à partir de 0. Exemple : 1.
directiontexteSens du trafic : entrant ou sortant. Valeurs : in, out.
actiontexteAutoriser, bloquer sans réponse ou rejeter. Valeurs : accept, drop, reject.
protocoltexteProtocole ; any pour tous. Valeurs : tcp, udp, icmp, icmpv6, any.
portstexte ou nullPort, liste ou plage, pour TCP et UDP. Exemple : "22".
remotetexte ou nullExemple : "203.0.113.10/32".
commenttexte ou nullExemple : "SSH bureau".
enabledbooléenRègle active.
managedbooléenRègle gérée par CorceLink (réseaux privés) : ni modifiable, ni supprimable.

Erreurs

curl -X POST "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall/rules" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"direction": "in", "action": "accept", "protocol": "tcp", "ports": "22", "remote": "203.0.113.10/32", "comment": "SSH bureau"}'

Réponse 201

{
  "id": "fwr-6128cd",
  "position": 3,
  "direction": "in",
  "action": "accept",
  "protocol": "tcp",
  "ports": "8443",
  "remote": null,
  "comment": "Admin",
  "enabled": true,
  "managed": false
}

Modifier une règle

PATCH/v1/compute/vps/{vps_id}/firewall/rules/{rule_id}

Permission : vps:write

Modifie les champs envoyés, y compris position pour déplacer la règle.

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".
rule_idobligatoiretexteExemple : "fwr-3a91c2".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.
If-Matchtexte`ETag` reçu à la lecture : la modification est refusée (412) si la ressource a changé entre-temps.

Corps de la requête

ChampTypeDescription
directiontexteValeurs : in, out.
actiontexteValeurs : accept, drop, reject.
protocoltexteValeurs : tcp, udp, icmp, icmpv6, any.
portstexte ou nullExemple : "443".
remotetexte ou nullExemple : "203.0.113.10/32".
commenttexte ou null60 caractères au plus.
enabledbooléen
positionentierNouvelle position ; jamais au-dessus des règles gérées par CorceLink.

Réponse 200

ChampTypeDescription
idtexteIdentifiant stable de la règle. Exemple : "fwr-3a91c2".
positionentierOrdre d’évaluation, à partir de 0. Exemple : 1.
directiontexteSens du trafic : entrant ou sortant. Valeurs : in, out.
actiontexteAutoriser, bloquer sans réponse ou rejeter. Valeurs : accept, drop, reject.
protocoltexteProtocole ; any pour tous. Valeurs : tcp, udp, icmp, icmpv6, any.
portstexte ou nullPort, liste ou plage, pour TCP et UDP. Exemple : "22".
remotetexte ou nullExemple : "203.0.113.10/32".
commenttexte ou nullExemple : "SSH bureau".
enabledbooléenRègle active.
managedbooléenRègle gérée par CorceLink (réseaux privés) : ni modifiable, ni supprimable.

Erreurs

curl -X PATCH "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall/rules/fwr-3a91c2" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"ports": "443", "remote": "203.0.113.10/32", "comment": "texte"}'

Réponse 200

{
  "id": "fwr-9e160c",
  "position": 2,
  "direction": "in",
  "action": "accept",
  "protocol": "tcp",
  "ports": "2222",
  "remote": null,
  "comment": "SSH bureau",
  "enabled": true,
  "managed": false
}

Supprimer une règle

DELETE/v1/compute/vps/{vps_id}/firewall/rules/{rule_id}

Permission : vps:write

Paramètres de chemin

ChampTypeDescription
vps_idobligatoiretexteFormat : ^vps-[0-9a-f]{8}$. Exemple : "vps-7c2e4a91".
rule_idobligatoiretexteExemple : "fwr-3a91c2".

En-têtes

ChampTypeDescription
Idempotency-KeytexteClé unique (UUID conseillé) : une requête répétée avec la même clé renvoie la même réponse, sans refaire l’opération. 255 caractères au plus.
If-Matchtexte`ETag` reçu à la lecture : la modification est refusée (412) si la ressource a changé entre-temps.

Réponse 204

Aucun contenu : l’opération est faite.

Erreurs

curl -X DELETE "https://api.corcelink.fr/v1/compute/vps/vps-7c2e4a91/firewall/rules/fwr-3a91c2" \
  -H "Authorization: Bearer $CORCELINK_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"