Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Configuration de la journalisation pour HTTP APIs dans API Gateway

Mode de mise au point
Configuration de la journalisation pour HTTP APIs dans API Gateway - Amazon API Gateway

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vous pouvez activer la journalisation pour écrire des CloudWatch journaux dans Logs. Vous pouvez utiliser des variables de journalisation pour personnaliser le contenu de vos journaux.

Pour améliorer votre niveau de sécurité, nous vous recommandons d'écrire des journaux dans CloudWatch Logs pour toutes les étapes de votre API HTTP. Vous devrez peut-être le faire pour vous conformer aux différents cadres de conformité. Pour plus d'informations, consultez la section Contrôles Amazon API Gateway dans le guide de AWS Security Hub l'utilisateur.

Pour activer la journalisation pour une API HTTP, vous devez effectuer les opérations suivantes.

  1. Vérifiez que votre utilisateur dispose des autorisations nécessaires pour activer la journalisation.

  2. Créez un groupe de CloudWatch journaux Logs.

  3. Indiquez l'ARN du groupe de CloudWatch journaux Logs pour une étape de votre API.

Autorisations pour activer la journalisation

Pour activer la journalisation pour une API, votre utilisateur doit disposer des autorisations suivantes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "arn:aws:logs:us-east-2:123456789012:log-group:*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:PutResourcePolicy", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:CreateLogGroup", "logs:DescribeResourcePolicies", "logs:GetLogDelivery", "logs:ListLogDeliveries" ], "Resource": "*" } ] }

Création d'un groupe de journaux et activation de la journalisation pour HTTP APIs

Vous pouvez créer un groupe de journaux et activer la journalisation des accès à l'aide du AWS Management Console ou du AWS CLI.

AWS Management Console
  1. Créez un groupe de journaux .

    Pour savoir comment créer un groupe de journaux à l'aide de la console, consultez Créer un groupe de CloudWatch journaux dans le guide de l'utilisateur d'Amazon Logs.

  2. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  3. Choisissez une API HTTP.

  4. Sous l’onglet Monitor (Surveiller) du panneau de navigation principal, choisissez Logging (Journalisation).

  5. Sélectionnez une étape pour activer la journalisation, puis choisissez Select (Sélectionner).

  6. Choisissez Edit (Modifier) pour activer la journalisation des accès.

  7. Activez la journalisation des accès, entrez un CloudWatch journal et sélectionnez un format de journal.

  8. Choisissez Save (Enregistrer).

AWS CLI

La create-log-groupcommande suivante crée un groupe de journaux :

aws logs create-log-group --log-group-name my-log-group

Vous avez besoin de l’Amazon Resource Name (ARN) de votre groupe de journaux pour activer la journalisation. Le format ARN est arn:aws:logs : ::log-group :. region account-id log-group-name

La commande update-stage suivante active la journalisation pour le $default stage d'une API HTTP :

aws apigatewayv2 update-stage --api-id abcdef \ --stage-name '$default' \ --access-log-settings '{"DestinationArn": "arn:aws:logs:region:account-id:log-group:log-group-name", "Format": "$context.identity.sourceIp - - [$context.requestTime] \"$context.httpMethod $context.routeKey $context.protocol\" $context.status $context.responseLength $context.requestId"}'
  1. Créez un groupe de journaux .

    Pour savoir comment créer un groupe de journaux à l'aide de la console, consultez Créer un groupe de CloudWatch journaux dans le guide de l'utilisateur d'Amazon Logs.

  2. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  3. Choisissez une API HTTP.

  4. Sous l’onglet Monitor (Surveiller) du panneau de navigation principal, choisissez Logging (Journalisation).

  5. Sélectionnez une étape pour activer la journalisation, puis choisissez Select (Sélectionner).

  6. Choisissez Edit (Modifier) pour activer la journalisation des accès.

  7. Activez la journalisation des accès, entrez un CloudWatch journal et sélectionnez un format de journal.

  8. Choisissez Save (Enregistrer).

Exemples de format de journal

Des exemples de format de journal utilisé couramment sont disponibles dans la console API Gateway et répertoriés ci-dessous.

  • CLF (Format de journal commun):

    $context.identity.sourceIp - - [$context.requestTime] "$context.httpMethod $context.routeKey $context.protocol" $context.status $context.responseLength $context.requestId $context.extendedRequestId
  • JSON:

    { "requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "requestTime":"$context.requestTime", "httpMethod":"$context.httpMethod","routeKey":"$context.routeKey", "status":"$context.status","protocol":"$context.protocol", "responseLength":"$context.responseLength", "extendedRequestId": "$context.extendedRequestId" }
  • XML:

    <request id="$context.requestId"> <ip>$context.identity.sourceIp</ip> <requestTime>$context.requestTime</requestTime> <httpMethod>$context.httpMethod</httpMethod> <routeKey>$context.routeKey</routeKey> <status>$context.status</status> <protocol>$context.protocol</protocol> <responseLength>$context.responseLength</responseLength> <extendedRequestId>$context.extendedRequestId</extendedRequestId> </request>
  • CSV (valeurs séparées par des virgules) :

    $context.identity.sourceIp,$context.requestTime,$context.httpMethod,$context.routeKey,$context.protocol,$context.status,$context.responseLength,$context.requestId,$context.extendedRequestId

Rubrique suivante :

Variables de journalisation

Rubrique précédente :

Métriques
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.