Aller au contenu
AdiosDocumentation
Parcourir la documentation

API de sécurité de la passerelle

Configurez les paramètres HTTPS, CORS et WAF pour un nom d’hôte contrôlé par votre équipe.

Utiliser Authentification API pour les requêtes protégées. Les exemples utilisent vos propres ID de ressources et un jeton temporaire ; les exemples de réponses enregistrés sont synthétiques.

MéthodeCheminOpération
GET/v1/gateway_security_profileLister les profils de sécurité de la passerelle
POST/v1/gateway_security_profileCréer un profil de sécurité de la passerelle
GET/v1/gateway_security_profile/{id}Obtenir le profil de sécurité de la passerelle
PUT/v1/gateway_security_profile/{id}Mettre à jour le profil de sécurité de la passerelle
DELETE/v1/gateway_security_profile/{id}Supprimer le profil de sécurité de la passerelle

Lister les profils de sécurité de la passerelle

GET /v1/gateway_security_profile

Renvoie une liste paginée de GatewaySecurityProfile

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.
pagerequêtenonNuméro de page
per_pagerequêtenonÉléments par page

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_security_profile" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

Liste de GatewaySecurityProfile

Champs de réponse

ChampTypeDescription
datatableau
data[].cors_enabledbooléen
data[].cors_headerschaîneEn-têtes de requête de CORS séparés par des virgules
data[].cors_methodschaîneMéthodes HTTP séparées par des virgules
data[].cors_originschaîneOrigines séparées par des virgules ou *
data[].created_atentier(horodatage Unix)
data[].deleted_atentier(horodatage Unix)
data[].enabledbooléen
data[].force_httpsbooléen
data[].geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
data[].hostnamechaîne
data[].hsts_enabledbooléen
data[].max_body_bytesentierLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme.
data[].profile_idchaîne
data[].team_idchaîne
data[].updated_atentier(horodatage Unix)
data[].waf_custom_directiveschaîneDirectives Coraza brutes utilisées lorsque waf_template=custom
data[].waf_modechaîneValeurs autorisées : off, monitor, block.
data[].waf_overridesobjetSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
data[].waf_rule_exclusionsobjetListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
data[].waf_templatechaîneModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom.
paginationobjet
pagination.pageentierNuméro de page actuel
pagination.per_pageentierNombre d’éléments par page
pagination.totalentierNombre total d’éléments

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "data": [
    {
      "cors_enabled": true,
      "cors_headers": "example",
      "cors_methods": "example",
      "cors_origins": "example",
      "created_at": 1791072000,
      "deleted_at": 0,
      "enabled": true,
      "force_https": true,
      "geo_policy": {},
      "hostname": "app.example.com",
      "hsts_enabled": true,
      "max_body_bytes": 0,
      "profile_id": "000000000000000000000000001",
      "team_id": "000000000000000000000000001",
      "updated_at": 1791072000,
      "waf_custom_directives": "example",
      "waf_mode": "off",
      "waf_overrides": {},
      "waf_rule_exclusions": {},
      "waf_template": "workload_default"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 1,
    "total": 1
  }
}

Créer un profil de sécurité de la passerelle

POST /v1/gateway_security_profile

Crée un nouvel objet GatewaySecurityProfile

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Champs de la requête (le corps contient un exemple modifiable) :

ChampTypeRequisDescription
cors_enabledbooléenouiValeur par défaut : true.
cors_headerschaînenonEn-têtes de requête de CORS séparés par des virgules
cors_methodschaînenonMéthodes HTTP séparées par des virgules
cors_originschaînenonOrigines séparées par des virgules ou *
enabledbooléenouiValeur par défaut : true.
force_httpsbooléenouiValeur par défaut : true.
geo_policyobjetnonPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
hostnamechaîneoui
hsts_enabledbooléenouiValeur par défaut : true.
max_body_bytesentiernonLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. Valeur par défaut : 0.
team_idchaîneoui
waf_custom_directiveschaînenonDirectives Coraza brutes utilisées lorsque waf_template=custom
waf_modechaîneouiValeurs autorisées : off, monitor, block. Valeur par défaut : "off".
waf_overridesobjetnonSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
waf_rule_exclusionsobjetnonListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
waf_templatechaîneouiModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. Valeur par défaut : "workload_default".

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request POST "$ADIOS_API_URL/v1/gateway_security_profile" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "cors_enabled": true,
  "enabled": true,
  "force_https": true,
  "hostname": "YOUR_HOSTNAME",
  "hsts_enabled": true,
  "max_body_bytes": 0,
  "team_id": "YOUR_TEAM_ID",
  "waf_mode": "off",
  "waf_template": "workload_default"
}
JSON

Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.

Réponse : HTTP 201

GatewaySecurityProfile créé

Champs de réponse

ChampTypeDescription
cors_enabledbooléen
cors_headerschaîneEn-têtes de requête de CORS séparés par des virgules
cors_methodschaîneMéthodes HTTP séparées par des virgules
cors_originschaîneOrigines séparées par des virgules ou *
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
force_httpsbooléen
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
hostnamechaîne
hsts_enabledbooléen
max_body_bytesentierLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme.
profile_idchaîne
team_idchaîne
updated_atentier(horodatage Unix)
waf_custom_directiveschaîneDirectives Coraza brutes utilisées lorsque waf_template=custom
waf_modechaîneValeurs autorisées : off, monitor, block.
waf_overridesobjetSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
waf_rule_exclusionsobjetListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
waf_templatechaîneModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom.

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "cors_enabled": true,
  "cors_headers": "example",
  "cors_methods": "example",
  "cors_origins": "example",
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "force_https": true,
  "geo_policy": {},
  "hostname": "app.example.com",
  "hsts_enabled": true,
  "max_body_bytes": 0,
  "profile_id": "000000000000000000000000001",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "waf_custom_directives": "example",
  "waf_mode": "off",
  "waf_overrides": {},
  "waf_rule_exclusions": {},
  "waf_template": "workload_default"
}

Obtenir le profil de sécurité de la passerelle

GET /v1/gateway_security_profile/{id}

Renvoie un seul GatewaySecurityProfile

Définissez gateway_security_profile_id en utilisant les ID de vos propres réponses API.

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request GET "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

GatewaySecurityProfile

Champs de réponse

ChampTypeDescription
cors_enabledbooléen
cors_headerschaîneEn-têtes de requête de CORS séparés par des virgules
cors_methodschaîneMéthodes HTTP séparées par des virgules
cors_originschaîneOrigines séparées par des virgules ou *
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
force_httpsbooléen
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
hostnamechaîne
hsts_enabledbooléen
max_body_bytesentierLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme.
profile_idchaîne
team_idchaîne
updated_atentier(horodatage Unix)
waf_custom_directiveschaîneDirectives Coraza brutes utilisées lorsque waf_template=custom
waf_modechaîneValeurs autorisées : off, monitor, block.
waf_overridesobjetSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
waf_rule_exclusionsobjetListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
waf_templatechaîneModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom.

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "cors_enabled": true,
  "cors_headers": "example",
  "cors_methods": "example",
  "cors_origins": "example",
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "force_https": true,
  "geo_policy": {},
  "hostname": "app.example.com",
  "hsts_enabled": true,
  "max_body_bytes": 0,
  "profile_id": "000000000000000000000000001",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "waf_custom_directives": "example",
  "waf_mode": "off",
  "waf_overrides": {},
  "waf_rule_exclusions": {},
  "waf_template": "workload_default"
}

Mettre à jour le profil de sécurité de la passerelle

PUT /v1/gateway_security_profile/{id}

Met à jour un objet GatewaySecurityProfile existant

Définissez gateway_security_profile_id en utilisant les ID de vos propres réponses API.

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Champs de la requête (le corps contient un exemple modifiable) :

ChampTypeRequisDescription
cors_enabledbooléenouiValeur par défaut : true.
cors_headerschaînenonEn-têtes de requête de CORS séparés par des virgules
cors_methodschaînenonMéthodes HTTP séparées par des virgules
cors_originschaînenonOrigines séparées par des virgules ou *
enabledbooléenouiValeur par défaut : true.
force_httpsbooléenouiValeur par défaut : true.
geo_policyobjetnonPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
hostnamechaîneoui
hsts_enabledbooléenouiValeur par défaut : true.
max_body_bytesentiernonLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. Valeur par défaut : 0.
team_idchaîneoui
waf_custom_directiveschaînenonDirectives Coraza brutes utilisées lorsque waf_template=custom
waf_modechaîneouiValeurs autorisées : off, monitor, block. Valeur par défaut : "off".
waf_overridesobjetnonSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
waf_rule_exclusionsobjetnonListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
waf_templatechaîneouiModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. Valeur par défaut : "workload_default".

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request PUT "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "cors_enabled": true,
  "enabled": true,
  "force_https": true,
  "hostname": "YOUR_HOSTNAME",
  "hsts_enabled": true,
  "max_body_bytes": 0,
  "team_id": "YOUR_TEAM_ID",
  "waf_mode": "off",
  "waf_template": "workload_default"
}
JSON

Remplacez YOUR_* du corps avant l’envoi. Le heredoc entre guillemets préserve le JSON littéral.

Réponse : HTTP 200

GatewaySecurityProfile mis à jour

Champs de réponse

ChampTypeDescription
cors_enabledbooléen
cors_headerschaîneEn-têtes de requête de CORS séparés par des virgules
cors_methodschaîneMéthodes HTTP séparées par des virgules
cors_originschaîneOrigines séparées par des virgules ou *
created_atentier(horodatage Unix)
deleted_atentier(horodatage Unix)
enabledbooléen
force_httpsbooléen
geo_policyobjetPolitique facultative d’autorisation ou de blocage par pays au niveau de l’hôte
hostnamechaîne
hsts_enabledbooléen
max_body_bytesentierLimite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme.
profile_idchaîne
team_idchaîne
updated_atentier(horodatage Unix)
waf_custom_directiveschaîneDirectives Coraza brutes utilisées lorsque waf_template=custom
waf_modechaîneValeurs autorisées : off, monitor, block.
waf_overridesobjetSurcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles)
waf_rule_exclusionsobjetListe facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}]
waf_templatechaîneModèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom.

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "cors_enabled": true,
  "cors_headers": "example",
  "cors_methods": "example",
  "cors_origins": "example",
  "created_at": 1791072000,
  "deleted_at": 0,
  "enabled": true,
  "force_https": true,
  "geo_policy": {},
  "hostname": "app.example.com",
  "hsts_enabled": true,
  "max_body_bytes": 0,
  "profile_id": "000000000000000000000000001",
  "team_id": "000000000000000000000000001",
  "updated_at": 1791072000,
  "waf_custom_directives": "example",
  "waf_mode": "off",
  "waf_overrides": {},
  "waf_rule_exclusions": {},
  "waf_template": "workload_default"
}

Supprimer le profil de sécurité de la passerelle

DELETE /v1/gateway_security_profile/{id}

Supprime un objet GatewaySecurityProfile

Définissez gateway_security_profile_id en utilisant les ID de vos propres réponses API.

Cette requête modifie des données ou lance une action. Vérifiez la cible et le corps avant de l’envoyer.

Authentification : jeton bearer et en-tête d’équipe présentés ci-dessous.

Paramètres

NomEmplacementRequisDescription
idcheminouiIdentifiant de ressource issu des résultats API de votre équipe.
X-Tenant-IDen-têteouiID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic.

Exemple de requête

Définissez ADIOS_API_URL=https://api.adios.dev. Pour les requêtes protégées, définissez ADIOS_ACCESS_TOKEN et ADIOS_TEAM_ID comme dans le démarrage rapide. Définissez les autres variables ADIOS_* à partir des résultats de vos propres ressources.

curl --fail-with-body --request DELETE "$ADIOS_API_URL/v1/gateway_security_profile/${ADIOS_GATEWAY_SECURITY_PROFILE_ID}" \
  -H "Authorization: Bearer $ADIOS_ACCESS_TOKEN" \
  -H "X-Tenant-ID: $ADIOS_TEAM_ID"

Réponse : HTTP 200

Ressource supprimée.

Champs de réponse

ChampTypeDescription
messagechaîne

Exemple illustratif ; il ne s’agit pas d’une réponse réelle :

{
  "message": "Deleted successfully"
}