

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.

# Configuration de l'authentification par jeton porteur pour Metrics
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth"></a>

**Note**  
Cette page couvre l'authentification par jeton porteur pour le point de terminaison CloudWatch Metrics OTLP. Pour l'authentification par jeton porteur de CloudWatch journaux, voir [Configuration de l'authentification par jeton de support pour les journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints_BearerTokenAuth.html) dans le guide de l'*utilisateur de CloudWatch Logs*.

Avant de pouvoir envoyer des métriques à l'aide de l'authentification par jeton porteur avec le point de terminaison CloudWatch OTLP, vous devez :
+ Création d'un utilisateur IAM avec des autorisations CloudWatch Metrics
+ Générer des informations d'identification spécifiques au service (clé API)

**Important**  
Nous recommandons d'utiliser l'authentification SigV4 avec des informations d'identification à court terme pour toutes les charges de travail lorsque cela est possible. Le SigV4 fournit la meilleure posture de sécurité. Limitez l'utilisation de clés d'API (jetons porteurs) aux scénarios dans lesquels l'authentification à court terme basée sur les informations d'identification n'est pas possible, tels que l'envoi de métriques provenant de AWS non-environnements, de fournisseurs tiers ou de plateformes ne prenant pas en charge le SDK. AWS Lorsque vous êtes prêt à intégrer des CloudWatch métriques dans des applications présentant des exigences de sécurité accrues, passez aux informations d'identification à court terme. Pour plus d'informations, consultez la section [Alternatives aux clés d'accès longue durée](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-workloads-use-roles) dans le *guide de l'utilisateur IAM*.

**Important**  
Le point de terminaison CloudWatch OTLP nécessite le protocole TLS (HTTPS). Les demandes de jeton porteur envoyées via HTTP standard sont rejetées. Utilisez-le toujours `https://monitoring.{{AWS Region}}.amazonaws.com/v1/metrics` lors de la configuration de votre client.

## Option 1 : Démarrage rapide à l'aide du AWS console
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-QuickStart"></a>

La console AWS de gestion fournit un flux de travail rationalisé pour générer des clés d'API pour l'accès aux terminaux OTLP.

**Pour configurer l'accès aux terminaux OTLP à l'aide de la console**

1. Connectez-vous à la console AWS de gestion.

1. Accédez à **CloudWatch**> **Paramètres** > **Global**.

1. Dans la section Clés d'API, choisissez **Générer une clé d'API**.

1. Pour **Epiration de la clé d’API**, effectuez l’une des actions suivantes :
   + Sélectionnez une durée d'expiration de la clé API de **1**, **5**, **30**, **90** ou **365** jours.
   + Choisissez **Durée personnalisée** pour spécifier une date d’expiration personnalisée pour la clé d’API.
   + Sélectionnez **Ne jamais expirer** (non recommandé).

1. Choisissez **Générer une clé d’API**.

La console :
+ Crée un nouvel utilisateur IAM doté des autorisations appropriées
+ Joint la politique [CloudWatchAPIKeyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAPIKeyAccess.html)gérée (`cloudwatch:PutMetricData`inclusions et `cloudwatch:CallWithBearerToken` autorisations)
+ Génère des informations d'identification spécifiques au service (clé API)

**Pour enregistrer et vérifier votre clé d'API**

1. Copiez et enregistrez en toute sécurité les informations d'identification affichées :
   + **ID de clé d'API** (Service-specificidentifiant d'identification)
   + **Secret de la clé API** (jeton porteur)

   La console offre également la possibilité de stocker votre clé d'API directement dans [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) lors de la génération. Si vous choisissez de la stocker dans Secrets Manager, la clé est automatiquement mise à jour lors de la réinitialisation et supprimée lors de la suppression de la clé.
**Important**  
Enregistrez immédiatement le secret de la clé API. Vous ne pourrez pas le récupérer plus tard. Si vous la perdez, vous devez générer une nouvelle clé d'API.

1. Envoyez une métrique de test pour vérifier votre configuration :

   ```
   curl -X POST "https://monitoring.us-east-1.amazonaws.com/v1/metrics" \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer {{YOUR_API_KEY}}" \
        -d '{"resourceMetrics":[]}'
   ```

## Option 2 : Configuration manuelle
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-ManualSetup"></a>

Si vous préférez mieux contrôler la configuration IAM ou si vous devez personnaliser les autorisations, vous pouvez configurer manuellement l'accès au point de terminaison OTLP.

### Étape 1 : créer un utilisateur IAM
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Step1"></a>

Créez un utilisateur IAM pour l'ingestion des métriques :

**Pour créer un utilisateur IAM pour l'ingestion de métriques**

1. Connectez-vous à la console AWS de gestion et accédez à IAM.

1. Dans le volet de navigation de gauche, choisissez **Utilisateurs**.

1. Choisissez **Create user (Créer un utilisateur)**.

1. Entrez un nom d'utilisateur (par exemple,**cloudwatch-metrics-api-key-user**).

1. Choisissez **Suivant**.

1. Joignez l'une des politiques IAM suivantes :

   **Option A : utiliser la politique gérée (recommandée)**

   Joignez la politique [CloudWatchAPIKeyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAPIKeyAccess.html)gérée.

   **Option B : créer une politique personnalisée**

   Créez et attachez la politique IAM suivante :

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CloudWatchMetricsAPIs",
               "Effect": "Allow",
               "Action": [
                   "cloudwatch:CallWithBearerToken",
                   "cloudwatch:PutMetricData"
               ],
               "Resource": "*"
           },
           {
               "Sid": "KMSDecryptForCMKDatasets",
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt"
               ],
               "Condition": {
                   "StringLike": {
                       "kms:ViaService": "cloudwatch.*.amazonaws.com",
                       "kms:EncryptionContext:aws:cloudwatch:arn": "arn:aws:cloudwatch:*:*:dataset/*"
                   }
               },
               "Resource": "arn:aws:kms:*:*:key/*"
           }
       ]
   }
   ```

1. Choisissez **Next**, puis **Create user**.

**Note**  
Les autorisations KMS sont requises si vous prévoyez d'envoyer des métriques à des ensembles de données utilisant des clés KMS gérées par le client (CMK). Les conditions limitent l'accès KMS aux seules clés utilisées via le CloudWatch service pour les ressources du jeu de données.

### Étape 2 : générer des informations d'identification spécifiques au service (clé API)
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Step2"></a>

Générez la clé API CloudWatch Metrics à l'aide de l'[CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html)API. Vous pouvez également utiliser la commande [create-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-specific-credential.html) AWS CLI . Pour l'âge des informations d'identification, vous pouvez spécifier une valeur comprise entre 1 et 36 600 jours. Si vous ne spécifiez pas d'âge pour les informations d'identification, la clé d'API n'expirera pas.

Pour générer une clé d'API dont l'expiration est de 30 jours, procédez comme suit :

```
aws iam create-service-specific-credential \
    --user-name cloudwatch-metrics-api-key-user \
    --service-name cloudwatch.amazonaws.com \
    --credential-age-days 30
```

La réponse est un [ServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ServiceSpecificCredential.html)objet. La `ServiceCredentialSecret` valeur est votre clé d'API CloudWatch Metrics (jeton porteur).

**Important**  
Stockez la `ServiceCredentialSecret` valeur en toute sécurité. Vous ne pourrez pas le récupérer plus tard. Si vous la perdez, vous devez générer une nouvelle clé d'API.

### Étape 3 : Envoyer des métriques
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Step3"></a>

Vous pouvez immédiatement envoyer des métriques au point de terminaison OTLP à l'aide de votre jeton porteur :

```
curl -X POST "https://monitoring.us-east-1.amazonaws.com/v1/metrics" \
     -H "Content-Type: application/json" \
     -H "Authorization: Bearer {{YOUR_API_KEY}}" \
     -d '{"resourceMetrics":[]}'
```

Le point de terminaison accepte à la fois `application/json` les types de `application/x-protobuf` contenu.

## Autorisations de contrôle pour la génération et l'utilisation CloudWatch des clés d'API Metrics
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Permissions"></a>

### Contrôle de la génération des clés d'API CloudWatch Metrics
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Permissions-Generation"></a>

L'[`iam:CreateServiceSpecificCredential`](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-actions-as-permissions)action contrôle la génération d'une clé spécifique au service (telle qu'une clé d'API CloudWatch Metrics). Vous pouvez étendre cette action aux utilisateurs IAM en tant que ressource afin de limiter le nombre d’utilisateurs pour lesquels une clé peut être générée.

Vous pouvez utilisez les clés de condition suivantes pour imposer des conditions à l’autorisation pour l’action `iam:CreateServiceSpecificCredential` :
+ [`iam:ServiceSpecificCredentialAgeDays`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays)— Permet de spécifier, dans la condition, le délai d'expiration de la clé en jours.
+ [`iam:ServiceSpecificCredentialServiceName`](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialServiceName)— Permet de spécifier, dans la condition, le nom d'un service.

### Contrôle de l'utilisation des clés d'API CloudWatch Metrics
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Permissions-Usage"></a>

L'`cloudwatch:CallWithBearerToken`action contrôle l'utilisation d'une clé d'API CloudWatch Metrics. Pour empêcher une identité d'utiliser CloudWatch les clés de l'API Metrics, associez une politique qui refuse l'`cloudwatch:CallWithBearerToken`action à l'utilisateur IAM associé à la clé.

**Note**  
Les jetons porteurs pour les CloudWatch métriques ne peuvent être utilisés qu'avec le point de terminaison d'ingestion des métriques OTLP ()`https://monitoring.{{AWS Region}}.amazonaws.com/v1/metrics`. Ils ne peuvent pas être utilisés pour appeler une autre CloudWatch API ou point de terminaison, y compris les API de requête (`GetMetricData`,,`DescribeAlarms`)`ListMetrics`, le point de terminaison de requête ProMQL, le point de terminaison de traces OTLP ou le point de terminaison de journalisation OTLP.

### Exemples de politiques
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Permissions-Examples"></a>

**Empêcher une identité de générer et d'utiliser CloudWatch les clés d'API Metrics :**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyCWMetricsAPIKeys",
            "Effect": "Deny",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "cloudwatch:CallWithBearerToken"
            ],
            "Resource": "*"
        }
    ]
}
```

**Avertissement**  
Cette politique empêche la création d'informations d'identification pour tous les AWS services qui prennent en charge la création d'informations d'identification spécifiques au service. Pour plus d'informations, consultez les [Service-specificinformations d'identification des utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_service-specific-creds.html) dans le guide de l'*utilisateur IAM*.

**Empêcher une identité d'utiliser CloudWatch les clés de l'API Metrics :**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "cloudwatch:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

**Autorisez la création de clés de CloudWatch métriques uniquement si elles expirent dans les 90 jours :**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceSpecificCredential",
            "Resource": "arn:aws:iam::123456789012:user/{{username}}",
            "Condition": {
                "StringEquals": {
                    "iam:ServiceSpecificCredentialServiceName": "cloudwatch.amazonaws.com"
                },
                "NumericLessThanEquals": {
                    "iam:ServiceSpecificCredentialAgeDays": "90"
                }
            }
        }
    ]
}
```

## Utiliser des jetons au porteur avec le Collector OpenTelemetry
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Collector"></a>

Lorsque vous utilisez des jetons au porteur, vous n'avez pas besoin de l'`sigv4auth`extension. Utilisez l'extension [bearertokenauth](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/extension/bearertokenauthextension) pour fournir en toute sécurité votre clé d'API à partir d'un fichier ou d'une variable d'environnement :

```
extensions:
  bearertokenauth:
    filename: "/etc/otel/cw-api-key"

exporters:
  otlphttp:
    tls:
      insecure: false
    endpoint: https://monitoring.us-east-1.amazonaws.com/v1/metrics
    auth:
      authenticator: bearertokenauth

receivers:
  otlp:
    protocols:
      http:
        endpoint: 0.0.0.0:4318

processors:
  batch:
    send_batch_size: 200
    timeout: 10s

service:
  extensions: [bearertokenauth]
  pipelines:
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp]
```

Vous pouvez également référencer une variable d'environnement au lieu d'un fichier :

```
extensions:
  bearertokenauth:
    token: "${env:CW_API_KEY}"
```

**Important**  
Ne codez jamais en dur les clés d'API directement dans les fichiers de configuration du collecteur. Les fichiers de configuration sont souvent confiés au contrôle de version ou stockés dans des manifestes de déploiement. `filename`À utiliser pour lire à partir d'un secret monté ou `${env:VAR}` à partir d'une variable d'environnement injectée par votre gestionnaire de secrets.

**Note**  
Avec l'authentification par jeton porteur, vous n'avez pas besoin de l'`sigv4auth`extension, des fichiers AWS d'identification, des rôles IAM ou de la configuration IRSA. Cela rend la configuration du collecteur portable dans n'importe quel environnement AWS, qu'il soit sur site ou auprès d'autres fournisseurs de cloud.

## Rotation des clés API
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Rotation"></a>

La rotation régulière de vos clés d'API réduit le risque d'accès non autorisé. Nous vous recommandons d'établir un calendrier de rotation conforme aux politiques de sécurité de votre organisation.

### Processus de rotation
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Rotation-Process"></a>

Pour faire pivoter une clé d'API sans interrompre la livraison des métriques, procédez comme suit :

**Pour faire pivoter une clé d'API**

1. Créez un nouvel identifiant (secondaire) pour l'utilisateur IAM :

   ```
   aws iam create-service-specific-credential \
       --user-name cloudwatch-metrics-api-key-user \
       --service-name cloudwatch.amazonaws.com \
       --credential-age-days 90
   ```
**Note**  
IAM autorise un maximum de 2 informations d'identification spécifiques au service par utilisateur IAM et par service. Supprimez ou désactivez les anciennes informations d'identification avant d'en créer de nouvelles si vous avez atteint cette limite.

1. (Facultatif) Stockez les nouvelles informations d'identification dans AWS Secrets Manager pour une récupération sécurisée et une rotation automatique.

1. Mettez à jour la configuration ou l'application de votre OpenTelemetry collecteur pour utiliser la nouvelle clé d'API.

1. Définissez les informations d'identification d'origine sur inactive :

   ```
   aws iam update-service-specific-credential \
       --user-name cloudwatch-metrics-api-key-user \
       --service-specific-credential-id {{ACCA1234EXAMPLE1234}} \
       --status Inactive
   ```

1. Vérifiez que la livraison des métriques n'est pas affectée. Envoyez une demande de test à l'aide de la nouvelle clé et confirmez que vous recevez une réponse HTTP 200. Vous pouvez également surveiller les CloudWatch indicateurs existants de votre application pour confirmer que les données continuent d'arriver.

1. Après avoir confirmé la livraison réussie avec la nouvelle clé, supprimez les informations d'identification précédentes :

   ```
   aws iam delete-service-specific-credential \
       --service-specific-credential-id {{ACCA1234EXAMPLE1234}}
   ```

### Surveillance de l'expiration des clés
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Rotation-Monitoring"></a>

Pour vérifier la date de création et le statut de vos clés d'API existantes, utilisez la commande [list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html) :

```
aws iam list-service-specific-credentials \
    --user-name cloudwatch-metrics-api-key-user \
    --service-name cloudwatch.amazonaws.com
```

La réponse inclut `CreateDate` et `Status` pour chaque identifiant. Utilisez ces informations pour identifier les clés qui arrivent à expiration ou qui sont actives depuis plus longtemps que ne le permet votre politique de rotation.

## Répondre à une clé d'API compromise
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-Compromised"></a>

Si vous pensez qu'une clé d'API a été compromise, prenez immédiatement les mesures suivantes :

**Pour répondre à une clé d'API compromise**

1. **Désactivez immédiatement la clé** pour empêcher toute nouvelle utilisation non autorisée :

   ```
   aws iam update-service-specific-credential \
       --user-name cloudwatch-metrics-api-key-user \
       --service-specific-credential-id {{ACCA1234EXAMPLE1234}} \
       --status Inactive
   ```

1. Passez en **revue les CloudTrail journaux** pour déterminer l'étendue des accès non autorisés. Découvrez [Enregistrement de l'utilisation des clés d'API avec CloudTrail](#CloudWatch-OTLP-MetricsBearerTokenAuth-CloudTrail) comment activer l'audit de l'utilisation des clés d'API.

1. **Créez une clé de remplacement** en suivant le processus de rotation décrit dans[Processus de rotation](#CloudWatch-OTLP-MetricsBearerTokenAuth-Rotation-Process).

1. **Supprimez la clé compromise** une fois que la clé de remplacement est en place :

   ```
   aws iam delete-service-specific-credential \
       --service-specific-credential-id {{ACCA1234EXAMPLE1234}}
   ```

1. **Ajoutez une politique de refus** si vous devez immédiatement bloquer l'accès à tout jeton porteur pour l'utilisateur IAM pendant que vous étudiez :

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Deny",
           "Action": "cloudwatch:CallWithBearerToken",
           "Resource": "*"
       }
   }
   ```

**Note**  
Pour effectuer ces actions via l'API, vous devez vous authentifier à l'aide AWS d'informations d'identification et non à l'aide d'une clé d'API CloudWatch Metrics. Les jetons Bearer ne peuvent être utilisés que pour l'ingestion de métriques, et non pour les opérations de gestion IAM.

Vous pouvez également utiliser les opérations d'API IAM suivantes pour gérer les clés compromises :
+ [ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html)— Réinitialisez la clé pour générer un nouveau mot de passe sans supprimer les informations d'identification. La clé ne doit pas avoir expiré.

## Bonnes pratiques de sécurité pour les clés d'API
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-BestPractices"></a>

Suivez ces bonnes pratiques pour protéger vos clés d'API CloudWatch Metrics :
+ **N'intégrez jamais de clés d'API dans le code source.** Ne codez pas en dur les clés d'API dans le code de l'application, les fichiers de configuration du collecteur ou les systèmes de contrôle de version. Utilisez l'`bearertokenauth`extension avec `filename` ou `${env:VAR}` pour injecter des secrets lors de l'exécution.
+ **Utilisez un gestionnaire de secrets.** Stockez les clés d'API dans [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) ou dans une solution de gestion des secrets équivalente. Cela permet un contrôle d'accès centralisé, un enregistrement des audits et une rotation automatique.
+ **Définissez une date d'expiration pour toutes les clés.** Spécifiez toujours une `--credential-age-days` valeur lors de la création de clés d'API. Pour appliquer une durée de vie maximale des clés au sein de votre organisation, utilisez la clé de condition `iam:ServiceSpecificCredentialAgeDays` IAM.
+ **Appliquez les autorisations du moindre privilège.** Utilisez la [CloudWatchAPIKeyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchAPIKeyAccess.html)politique gérée comme point de départ et limitez davantage si nécessaire.
+ **Activez la CloudTrail journalisation.** Auditez l'utilisation des clés d'API en activant CloudTrail les événements de données pour`AWS::CloudWatch::Metric`. Consultez [Enregistrement de l'utilisation des clés d'API avec CloudTrail](#CloudWatch-OTLP-MetricsBearerTokenAuth-CloudTrail).
+ **Surveillez avec IAM Access Analyzer.** Utilisez [IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) pour identifier les informations d'identification non utilisées et les politiques trop permissives associées aux utilisateurs IAM de votre clé d'API.
+ **Faites pivoter les touches régulièrement.** Établissez un calendrier de rotation et suivez le processus décrit dans[Rotation des clés API](#CloudWatch-OTLP-MetricsBearerTokenAuth-Rotation).

## Enregistrement de l'utilisation des clés d'API avec CloudTrail
<a name="CloudWatch-OTLP-MetricsBearerTokenAuth-CloudTrail"></a>

Vous pouvez l'utiliser AWS CloudTrail pour enregistrer les événements de données pour l'ingestion de CloudWatch Metrics OTLP. CloudWatch émet `AWS::CloudWatch::Metric` des événements de données pour les appels vers le point de terminaison OTLP, ce qui vous permet d'auditer l'activité d'ingestion des métriques, y compris l'utilisation des clés d'API.

**Note**  
Le compartiment S3 que vous spécifiez pour le suivi doit disposer d'une politique de compartiment qui CloudTrail permet d'y écrire des fichiers journaux. Pour plus d'informations, consultez la [politique relative aux compartiments Amazon S3 CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html) dans le *guide de AWS CloudTrail l'utilisateur*.

**Pour activer la CloudTrail journalisation de l'utilisation des clés de l'API CloudWatch Metrics**

1. Créez un parcours :

   ```
   aws cloudtrail create-trail \
       --name cloudwatch-metrics-api-key-audit \
       --s3-bucket-name {{my-cloudtrail-bucket}} \
       --region us-east-1
   ```

1. Configurez des sélecteurs d'événements avancés pour capturer CloudWatch les événements liés à l'écriture (ingestion) des données de Metrics :

   ```
   aws cloudtrail put-event-selectors \
       --region us-east-1 \
       --trail-name cloudwatch-metrics-api-key-audit \
       --advanced-event-selectors '[{
           "Name": "CloudWatch Metrics write data events",
           "FieldSelectors": [
               { "Field": "eventCategory", "Equals": ["Data"] },
               { "Field": "resources.type", "Equals": ["AWS::CloudWatch::Metric"] },
               { "Field": "readOnly", "Equals": ["false"] }
           ]
       }]'
   ```

1. Commencez à enregistrer les sentiers :

   ```
   aws cloudtrail start-logging \
       --name cloudwatch-metrics-api-key-audit \
       --region us-east-1
   ```

Le `readOnly: false` filtre limite la journalisation aux opérations d'écriture (PutMetricData), qui incluent tous les appels d'ingestion OTLP. Pour identifier l'utilisation du jeton porteur parmi ces événements, interrogez vos journaux de suivi (via Athena CloudTrail ou Lake) et filtrez en fonction du nom d'utilisateur IAM associé à votre clé d'API (par exemple,). `cloudwatch-metrics-api-key-user` Les événements issus de l'ingestion OTLP sont inclus `AdditionalEventData.protocol` `OTLP` dans la charge utile des événements, que vous pouvez utiliser dans les requêtes post-hoc pour les distinguer des appels SDK classiques PutMetricData .