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éthode | Chemin | Opération |
|---|---|---|
GET | /v1/gateway_security_profile | Lister les profils de sécurité de la passerelle |
POST | /v1/gateway_security_profile | Cré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
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
X-Tenant-ID | en-tête | oui | ID de l’équipe active. Doit correspondre au tenant lié au jeton de diagnostic. |
page | requête | non | Numéro de page |
per_page | requête | non | É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
| Champ | Type | Description |
|---|---|---|
data | tableau | |
data[].cors_enabled | booléen | |
data[].cors_headers | chaîne | En-têtes de requête de CORS séparés par des virgules |
data[].cors_methods | chaîne | Méthodes HTTP séparées par des virgules |
data[].cors_origins | chaîne | Origines séparées par des virgules ou * |
data[].created_at | entier | (horodatage Unix) |
data[].deleted_at | entier | (horodatage Unix) |
data[].enabled | booléen | |
data[].force_https | booléen | |
data[].geo_policy | objet | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
data[].hostname | chaîne | |
data[].hsts_enabled | booléen | |
data[].max_body_bytes | entier | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. |
data[].profile_id | chaîne | |
data[].team_id | chaîne | |
data[].updated_at | entier | (horodatage Unix) |
data[].waf_custom_directives | chaîne | Directives Coraza brutes utilisées lorsque waf_template=custom |
data[].waf_mode | chaîne | Valeurs autorisées : off, monitor, block. |
data[].waf_overrides | objet | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
data[].waf_rule_exclusions | objet | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
data[].waf_template | chaîne | Modèle préconfiguré de règles WAF à appliquer à cet hôte. Valeurs autorisées : platform_default, workload_default, api_strict, nextjs, django, wordpress, custom. |
pagination | objet | |
pagination.page | entier | Numéro de page actuel |
pagination.per_page | entier | Nombre d’éléments par page |
pagination.total | entier | Nombre 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) :
| Champ | Type | Requis | Description |
|---|---|---|---|
cors_enabled | booléen | oui | Valeur par défaut : true. |
cors_headers | chaîne | non | En-têtes de requête de CORS séparés par des virgules |
cors_methods | chaîne | non | Méthodes HTTP séparées par des virgules |
cors_origins | chaîne | non | Origines séparées par des virgules ou * |
enabled | booléen | oui | Valeur par défaut : true. |
force_https | booléen | oui | Valeur par défaut : true. |
geo_policy | objet | non | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
hostname | chaîne | oui | |
hsts_enabled | booléen | oui | Valeur par défaut : true. |
max_body_bytes | entier | non | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. Valeur par défaut : 0. |
team_id | chaîne | oui | |
waf_custom_directives | chaîne | non | Directives Coraza brutes utilisées lorsque waf_template=custom |
waf_mode | chaîne | oui | Valeurs autorisées : off, monitor, block. Valeur par défaut : "off". |
waf_overrides | objet | non | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
waf_rule_exclusions | objet | non | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | chaîne | oui | Modè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
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
X-Tenant-ID | en-tête | oui | ID 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
| Champ | Type | Description |
|---|---|---|
cors_enabled | booléen | |
cors_headers | chaîne | En-têtes de requête de CORS séparés par des virgules |
cors_methods | chaîne | Méthodes HTTP séparées par des virgules |
cors_origins | chaîne | Origines séparées par des virgules ou * |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
enabled | booléen | |
force_https | booléen | |
geo_policy | objet | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
hostname | chaîne | |
hsts_enabled | booléen | |
max_body_bytes | entier | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. |
profile_id | chaîne | |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
waf_custom_directives | chaîne | Directives Coraza brutes utilisées lorsque waf_template=custom |
waf_mode | chaîne | Valeurs autorisées : off, monitor, block. |
waf_overrides | objet | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
waf_rule_exclusions | objet | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | chaîne | Modè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
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID 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
| Champ | Type | Description |
|---|---|---|
cors_enabled | booléen | |
cors_headers | chaîne | En-têtes de requête de CORS séparés par des virgules |
cors_methods | chaîne | Méthodes HTTP séparées par des virgules |
cors_origins | chaîne | Origines séparées par des virgules ou * |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
enabled | booléen | |
force_https | booléen | |
geo_policy | objet | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
hostname | chaîne | |
hsts_enabled | booléen | |
max_body_bytes | entier | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. |
profile_id | chaîne | |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
waf_custom_directives | chaîne | Directives Coraza brutes utilisées lorsque waf_template=custom |
waf_mode | chaîne | Valeurs autorisées : off, monitor, block. |
waf_overrides | objet | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
waf_rule_exclusions | objet | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | chaîne | Modè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) :
| Champ | Type | Requis | Description |
|---|---|---|---|
cors_enabled | booléen | oui | Valeur par défaut : true. |
cors_headers | chaîne | non | En-têtes de requête de CORS séparés par des virgules |
cors_methods | chaîne | non | Méthodes HTTP séparées par des virgules |
cors_origins | chaîne | non | Origines séparées par des virgules ou * |
enabled | booléen | oui | Valeur par défaut : true. |
force_https | booléen | oui | Valeur par défaut : true. |
geo_policy | objet | non | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
hostname | chaîne | oui | |
hsts_enabled | booléen | oui | Valeur par défaut : true. |
max_body_bytes | entier | non | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. Valeur par défaut : 0. |
team_id | chaîne | oui | |
waf_custom_directives | chaîne | non | Directives Coraza brutes utilisées lorsque waf_template=custom |
waf_mode | chaîne | oui | Valeurs autorisées : off, monitor, block. Valeur par défaut : "off". |
waf_overrides | objet | non | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
waf_rule_exclusions | objet | non | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | chaîne | oui | Modè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
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID 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
| Champ | Type | Description |
|---|---|---|
cors_enabled | booléen | |
cors_headers | chaîne | En-têtes de requête de CORS séparés par des virgules |
cors_methods | chaîne | Méthodes HTTP séparées par des virgules |
cors_origins | chaîne | Origines séparées par des virgules ou * |
created_at | entier | (horodatage Unix) |
deleted_at | entier | (horodatage Unix) |
enabled | booléen | |
force_https | booléen | |
geo_policy | objet | Politique facultative d’autorisation ou de blocage par pays au niveau de l’hôte |
hostname | chaîne | |
hsts_enabled | booléen | |
max_body_bytes | entier | Limite facultative de taille du corps des requêtes. 0 utilise la valeur par défaut de la plateforme. |
profile_id | chaîne | |
team_id | chaîne | |
updated_at | entier | (horodatage Unix) |
waf_custom_directives | chaîne | Directives Coraza brutes utilisées lorsque waf_template=custom |
waf_mode | chaîne | Valeurs autorisées : off, monitor, block. |
waf_overrides | objet | Surcharges structurées du modèle (par exemple exclusions par chemin ou activation et désactivation de règles) |
waf_rule_exclusions | objet | Liste facultative d’exclusions gérées. Exemple : [{"path_prefix":"/api/monitoring","remove_rule_ids":[920420]}] |
waf_template | chaîne | Modè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
| Nom | Emplacement | Requis | Description |
|---|---|---|---|
id | chemin | oui | Identifiant de ressource issu des résultats API de votre équipe. |
X-Tenant-ID | en-tête | oui | ID 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
| Champ | Type | Description |
|---|---|---|
message | chaîne |
Exemple illustratif ; il ne s’agit pas d’une réponse réelle :
{
"message": "Deleted successfully"
}