

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.

# Amazon CloudWatch Logging pour les AWS Transfer Family serveurs
<a name="structured-logging"></a>

Amazon CloudWatch est un puissant service de surveillance et d'observabilité qui fournit une visibilité complète de vos AWS ressources, notamment AWS Transfer Family.
+ Surveillance en temps réel : CloudWatch surveille les ressources et les applications de Transfer Family en temps réel, ce qui vous permet de suivre et d'analyser leurs performances.
+ Collecte de métriques : CloudWatch collecte et suit diverses métriques pour vos ressources et applications, qui sont des variables que vous pouvez mesurer et utiliser à des fins d'analyse.
+ CloudWatch page d'accueil : La page d' CloudWatch accueil affiche automatiquement les statistiques relatives à Transfer Family et AWS aux autres services que vous utilisez, offrant ainsi une vue centralisée de vos données de surveillance.
+ Tableaux de bord personnalisés : vous pouvez créer des tableaux de bord personnalisés CloudWatch pour afficher des indicateurs spécifiques à vos applications personnalisées et aux ressources que vous choisissez de surveiller.
+ Alarmes et notifications : vous CloudWatch permet de créer des alarmes qui surveillent vos indicateurs et déclenchent des notifications ou des actions automatisées lorsque certains seuils sont dépassés. Cela peut être utile pour surveiller l'activité de transfert de fichiers sur vos serveurs Transfer Family et dimensionner les ressources en conséquence.
+ Optimisation des coûts : vous pouvez utiliser les données collectées par CloudWatch pour identifier les ressources sous-utilisées et prendre des mesures, telles que l'arrêt ou la suppression d'instances, afin d'optimiser vos coûts.

Dans l'ensemble, ses fonctionnalités de surveillance complètes en CloudWatch font un outil précieux pour gérer et optimiser votre infrastructure Transfer Family et les applications qui y sont exécutées.

Les informations relatives à la CloudWatch connexion aux applications Web Transfer Family sont disponibles dans[CloudTrail enregistrement pour les applications Web Transfer Family](webapp-cloudtrail.md).

## Types de CloudWatch journalisation pour Transfer Family
<a name="log-tf-types"></a>

Transfer Family propose deux méthodes pour enregistrer des événements sur CloudWatch :
+ Journalisation structurée JSON
+ Journalisation via un rôle de journalisation

Pour les serveurs Transfer Family, vous pouvez choisir le mécanisme de journalisation que vous préférez. Pour les connecteurs et les flux de travail, seuls les rôles de journalisation sont pris en charge.

**Journalisation structurée JSON**

Pour consigner les événements du serveur, nous vous recommandons d'utiliser la journalisation structurée JSON. Cela fournit un format de journalisation plus complet qui permet d'interroger les CloudWatch journaux. Pour ce type de journalisation, la politique IAM de l'utilisateur qui crée le serveur (ou modifie la configuration de journalisation du serveur) doit contenir les autorisations suivantes :
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

Voici un exemple de politique .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"                
            ],
            "Resource": "*"
        }
    ]
}
```

Pour plus de détails sur la configuration de la journalisation structurée JSON, consultez[Création, mise à jour et affichage de la journalisation pour les serveurs](log-server-manage.md).

**Rôle de journalisation**

Pour consigner les événements d'un flux de travail géré attaché à un serveur, ainsi que pour les connecteurs, vous devez spécifier un rôle de journalisation. Pour définir l'accès, vous devez créer une politique IAM basée sur les ressources et un rôle IAM qui fournit ces informations d'accès. Voici un exemple de politique permettant de consigner Compte AWS les événements du serveur.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*"
        }
    ]
}
```

Pour plus de détails sur la configuration d'un rôle de journalisation pour consigner les événements du flux de travail, consultez[Gestion de la journalisation des flux de travail](cloudwatch-workflows.md).

# Création, mise à jour et affichage de la journalisation pour les serveurs
<a name="log-server-manage"></a>

Pour tous les AWS Transfer Family serveurs, nous proposons une journalisation structurée. Nous vous recommandons d'utiliser une journalisation structurée pour tous les serveurs Transfer Family nouveaux et existants. Les avantages de l'utilisation de la journalisation structurée sont les suivants :
+ Recevez les journaux au format JSON structuré.
+ Interrogez vos journaux avec Amazon CloudWatch Logs Insights, qui découvre automatiquement les champs au format JSON.
+ Le partage de groupes de journaux entre les AWS Transfer Family ressources vous permet de combiner les flux de journaux provenant de plusieurs serveurs en un seul groupe de journaux, ce qui facilite la gestion de vos configurations de surveillance et de vos paramètres de conservation des journaux.
+ Créez des statistiques agrégées et des visualisations qui peuvent être ajoutées aux CloudWatch tableaux de bord.
+ Suivez les données d'utilisation et de performance en utilisant des groupes de journaux pour créer des métriques de journal, des visualisations et des tableaux de bord consolidés.

Pour activer la journalisation des flux de travail attachés à des serveurs, vous devez utiliser un rôle de journalisation.

**Note**  
Lorsque vous ajoutez un rôle de journalisation, le groupe de journalisation est toujours `/aws/transfer/your-serverID` et ne peut pas être modifié. Cela signifie qu'à moins que vous n'envoyiez les journaux de votre serveur structuré au même groupe, vous vous connecterez à deux groupes de journalisation distincts.  
Si vous savez que vous allez associer un flux de travail à votre serveur et que vous devez donc ajouter un rôle de journalisation, vous pouvez configurer une journalisation structurée pour qu'elle se connecte au groupe de journaux par défaut de`/aws/transfer/your-serverID`.  
Pour modifier votre groupe de journalisation, consultez [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations)la *référence de l'AWS Transfer Family API*.

Si vous créez un nouveau serveur à l'aide de la console Transfer Family, la journalisation est activée par défaut. Après avoir créé le serveur, vous pouvez utiliser l'opération `UpdateServer` API pour modifier votre configuration de journalisation. Pour en savoir plus, consultez [StructuredLogDestinations](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html#TransferFamily-UpdateServer-request-StructuredLogDestinations).

Actuellement, pour les flux de travail, si vous souhaitez activer la journalisation, vous devez spécifier un rôle de journalisation :
+ Si vous associez un flux de travail à un serveur, à l'aide de l'opération `CreateServer` ou de l'`UpdateServer`API, le système ne crée pas automatiquement de rôle de journalisation. Si vous souhaitez enregistrer les événements de votre flux de travail, vous devez explicitement associer un rôle de journalisation au serveur.
+ Si vous créez un serveur à l'aide de la console Transfer Family et que vous associez un flux de travail, les journaux sont envoyés à un groupe de journaux dont le nom contient l'ID du serveur. Le format est`/aws/transfer/server-id`, par exemple,`/aws/transfer/s-1111aaaa2222bbbb3`. Les journaux du serveur peuvent être envoyés à ce même groupe de journaux ou à un autre.

**Considérations relatives à la journalisation pour la création et la modification de serveurs dans la console**
+ Les nouveaux serveurs créés via la console ne prennent en charge que la journalisation JSON structurée, sauf si un flux de travail est attaché au serveur.
+ L'*absence de journalisation* n'est pas une option pour les nouveaux serveurs que vous créez dans la console.
+ Les serveurs existants peuvent activer la journalisation JSON structurée via la console à tout moment.
+ L'activation de la journalisation JSON structurée via la console désactive la méthode de journalisation existante, afin de ne pas facturer deux fois les clients. L'exception se produit si un flux de travail est attaché au serveur.
+ Si vous activez la journalisation JSON structurée, vous ne pourrez pas la désactiver ultérieurement via la console.
+ Si vous activez la journalisation JSON structurée, vous pouvez modifier à tout moment la destination du groupe de journaux via la console.
+ Si vous activez la journalisation JSON structurée, vous ne pouvez pas modifier le rôle de journalisation via la console si vous avez activé les deux types de journalisation via l'API. L'exception est si votre serveur est associé à un flux de travail. Cependant, le rôle de journalisation continue d'apparaître dans **Détails supplémentaires**.

**Considérations relatives à la journalisation pour la création et la modification de serveurs à l'aide de l'API ou du SDK**
+ Si vous créez un nouveau serveur via l'API, vous pouvez configurer l'un ou les deux types de journalisation, ou choisir de ne pas enregistrer de journalisation.
+ Pour les serveurs existants, activez et désactivez la journalisation JSON structurée à tout moment.
+ Vous pouvez modifier le groupe de journaux via l'API à tout moment.
+ Vous pouvez modifier le rôle de journalisation via l'API à tout moment.

**Pour activer la journalisation structurée, vous devez être connecté à un compte avec les autorisations suivantes**
+ `logs:CreateLogDelivery`
+ `logs:DeleteLogDelivery`
+ `logs:DescribeLogGroups`
+ `logs:DescribeResourcePolicies`
+ `logs:GetLogDelivery`
+ `logs:ListLogDeliveries`
+ `logs:PutResourcePolicy`
+ `logs:UpdateLogDelivery`

Un exemple de politique est disponible dans la section[Configurer le rôle de CloudWatch journalisation](configure-cw-logging-role.md).

**Topics**
+ [Création d'une journalisation pour les serveurs](#log-server-create)
+ [Mettre à jour la journalisation d'un serveur](#log-server-update)
+ [Affichage de la configuration du serveur](#log-server-config)

## Création d'une journalisation pour les serveurs
<a name="log-server-create"></a>

Lorsque vous créez un nouveau serveur, sur la page **Configurer les détails supplémentaires**, vous pouvez spécifier un groupe de journaux existant ou en créer un nouveau.

![\[Volet de journalisation pour configurer des détails supplémentaires dans l'assistant de création de serveur. Choisir un groupe de journaux existant est sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-choose-existing-group.png)


Si vous choisissez **Créer un groupe de journaux**, la CloudWatch console ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) s'ouvre sur la page **Créer un groupe de journaux**. Pour plus de détails, voir [Création d'un groupe de CloudWatch journaux dans Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

## Mettre à jour la journalisation d'un serveur
<a name="log-server-update"></a>

Les informations relatives à la journalisation dépendent du scénario de votre mise à jour.

**Note**  
Lorsque vous optez pour la journalisation JSON structurée, il peut arriver, dans de rares cas, que Transfer Family arrête de se connecter dans l'ancien format, mais qu'il faille un certain temps pour commencer à se connecter dans le nouveau format JSON. Cela peut entraîner des événements qui ne sont pas enregistrés. Il n'y aura aucune interruption de service, mais vous devez être prudent lorsque vous transférez des fichiers pendant la première heure suivant le changement de méthode de journalisation, car les journaux pourraient être supprimés.

Si vous modifiez un serveur existant, vos options dépendent de l'état du serveur.
+ Un rôle de journalisation est déjà activé sur le serveur, mais la journalisation JSON structurée n'est pas activée.  
![\[Volet de journalisation, affichant un rôle de journalisation existant.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-choose-role.png)
+ Aucune journalisation n'est activée sur le serveur.  
![\[Volet de journalisation si aucune journalisation n'est activée sur le serveur.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-edit-none.png)
+ La journalisation JSON structurée est déjà activée sur le serveur, mais aucun rôle de journalisation n'est spécifié.  
![\[Volet de journalisation si la journalisation n'est pas déjà activée sur le serveur.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-edit-add-json-02.png)
+ La journalisation JSON structurée est déjà activée sur le serveur et un rôle de journalisation est également spécifié.  
![\[Volet de journalisation si la journalisation structurée est activée sur le serveur et si un rôle de journalisation est également spécifié.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-edit-both.png)

## Affichage de la configuration du serveur
<a name="log-server-config"></a>

Les détails de la page de configuration du serveur dépendent de votre scénario :

Selon votre scénario, la page de configuration du serveur peut ressembler à l'un des exemples suivants :
+ Aucune journalisation n'est activée.  
![\[Configuration de journalisation sans aucune journalisation configurée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-config-none.png)
+ La journalisation JSON structurée est activée.  
![\[Configuration de journalisation avec journalisation structurée configurée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-config-structured.png)
+ Le rôle de journalisation est activé, mais la journalisation JSON structurée n'est pas activée.  
![\[Configuration de journalisation avec un rôle de journalisation configuré.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-config-legacy.png)
+ Les deux types de journalisation (rôle de journalisation et journalisation JSON structurée) sont activés.  
![\[Configuration de journalisation avec les deux types (rôle de journalisation et journalisation JSON structurée) configurés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-config-both.png)

# Gestion de la journalisation des flux de travail
<a name="cloudwatch-workflows"></a>

CloudWatch fournit un audit et une journalisation consolidés de la progression et des résultats du flux de travail. AWS Transfer Family Fournit également plusieurs mesures pour les flux de travail. Vous pouvez consulter les statistiques indiquant le nombre d'exécutions de flux de travail démarrées, terminées avec succès et échouées au cours de la minute précédente. Toutes les CloudWatch mesures relatives à Transfer Family sont décrites dans[Utilisation de CloudWatch métriques pour les serveurs Transfer Family](metrics.md).

**Afficher les CloudWatch journaux Amazon pour les flux de travail**

1. Ouvrez la CloudWatch console Amazon à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le volet de navigation de gauche, choisissez **Logs**, puis **Log groups**.

1. Sur la page **Groupes de journaux**, dans la barre de navigation, choisissez la région appropriée pour votre AWS Transfer Family serveur.

1. Choisissez le groupe de journaux correspondant à votre serveur.

   Par exemple, si l'ID de votre serveur est`s-1234567890abcdef0`, votre groupe de journaux l'est`/aws/transfer/s-1234567890abcdef0`.

1. Sur la page des détails du groupe de journaux de votre serveur, les flux de journaux les plus récents sont affichés. Il existe deux flux de log pour l'utilisateur que vous explorez : 
   + Un pour chaque session du protocole de transfert de fichiers (SFTP) Secure Shell (SSH).
   + Un pour le flux de travail en cours d'exécution pour votre serveur. Le format du flux de journal pour le flux de travail est`username.workflowID.uniqueStreamSuffix`.

   Par exemple, si votre utilisateur l'est`mary-major`, vous disposez des flux de journaux suivants :

   ```
   mary-major-east.1234567890abcdef0
   mary.w-abcdef01234567890.021345abcdef6789
   ```
**Note**  
 Les identifiants alphanumériques à 16 chiffres répertoriés dans cet exemple sont fictifs. Les valeurs que vous voyez sur Amazon CloudWatch sont différentes. 

La page **Enregistrer les événements** de `mary-major-usa-east.1234567890abcdef0` affiche les détails de chaque session utilisateur, et le flux de `mary.w-abcdef01234567890.021345abcdef6789` journal contient les détails du flux de travail. 

 Voici un exemple de flux de journal pour`mary.w-abcdef01234567890.021345abcdef6789`, basé sur un flux de travail (`w-abcdef01234567890`) contenant une étape de copie. 

```
{
    "type": "ExecutionStarted",
    "details": {
        "input": {
            "initialFileLocation": {
                "bucket": "amzn-s3-demo-bucket",
                "key": "mary/workflowSteps2.json",
                "versionId": "version-id",
                "etag": "etag-id"
            }
        }
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails": {
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"StepStarted",
    "details": {
        "input": {
            "fileLocation": {
                "backingStore":"S3",
                "bucket":"amzn-s3-demo-bucket",
                "key":"mary/workflowSteps2.json",
                "versionId":"version-id",
                "etag":"etag-id"
            }
        },
        "stepType":"COPY",
        "stepName":"copyToShared"
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails": {
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"StepCompleted",
    "details":{
        "output":{},
        "stepType":"COPY",
        "stepName":"copyToShared"
    },
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails":{
        "serverId":"server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
},
{
    "type":"ExecutionCompleted",
    "details": {},
    "workflowId":"w-abcdef01234567890",
    "executionId":"execution-id",
    "transferDetails":{
        "serverId":"s-server-id",
        "username":"mary",
        "sessionId":"session-id"
    }
}
```

# Configurer le rôle de CloudWatch journalisation
<a name="configure-cw-logging-role"></a>

Pour définir l'accès, vous devez créer une politique IAM basée sur les ressources et un rôle IAM qui fournit ces informations d'accès.

Pour activer la CloudWatch journalisation Amazon, vous devez commencer par créer une politique IAM qui active la CloudWatch journalisation. Vous créez ensuite un rôle IAM et vous y associez la politique. Vous pouvez le faire lorsque vous [créez un serveur](getting-started.md#getting-started-server) ou en [modifiant un serveur existant](edit-server-config.md). Pour plus d'informations CloudWatch, consultez [Qu'est-ce qu'Amazon CloudWatch ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) et [qu'est-ce qu'Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

Utilisez les exemples de politiques IAM suivants pour autoriser la CloudWatch journalisation.

------
#### [ Use a logging role ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:DescribeLogStreams",
                "logs:CreateLogGroup",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*"
        }
    ]
}
```

------
#### [ Use structured logging ]

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"                
            ],
            "Resource": "*"
        }
    ]
}
```

Dans l'exemple de politique précédent, pour le**Resource**, remplacez le *region-id* et *Compte AWS* par vos valeurs. Par exemple, **"Resource": "arn:aws::logs:us-east-1:111122223333:log-group:/aws/transfer/\$1"**

------

Vous créez ensuite un rôle et associez la politique de CloudWatch journalisation que vous avez créée.

**Pour créer un rôle IAM et attacher une stratégie**

1. Dans le volet de navigation, sélectionnez **Rôles**, puis **Créer un rôle**.

   Sur la page **Créer un rôle**, assurez-vous que le **AWS service** est sélectionné.

1. Choisissez **Transfer (Transférer)** dans la liste des services, puis **Next: Permissions (Suivant : Autorisations)**. Cela établit une relation de confiance entre AWS Transfer Family et le rôle IAM. De plus, ajoutez `aws:SourceAccount` et `aws:SourceArn` conditionnez des clés pour vous protéger contre le problème de *confusion des adjoints*. Consultez la documentation suivante pour plus de détails :
   + Procédure pour établir une relation de confiance avec AWS Transfer Family : [Étape 1 : Établir une relation d'approbation](requirements-roles.md#establish-trust-transfer) 
   + Description du problème des députés confus : [le problème des députés confus](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)

1. Dans la section **Joindre des politiques d'autorisation**, recherchez et choisissez la politique CloudWatch Logs que vous venez de créer, puis choisissez **Next : Tags**.

1. (Facultatif) Entrez une clé et une valeur pour une balise, puis choisissez **Next: Review (Suivant : Vérifier)**.

1. Sur la page **Review (Vérifier)**, entrez un nom et une description pour votre nouveau rôle, puis choisissez **Create role (Créer un rôle)**.

1. Pour consulter les journaux, choisissez l'**ID du serveur** pour ouvrir la page de configuration du serveur, puis choisissez **Afficher les journaux**. Vous êtes redirigé vers la CloudWatch console où vous pouvez consulter vos flux de journaux.

Sur la CloudWatch page de votre serveur, vous pouvez voir les enregistrements de l'authentification des utilisateurs (réussite et échec), des téléchargements de données (`PUT`opérations) et des téléchargements de données (`GET`opérations).

# Afficher les flux de log de Transfer Family
<a name="view-log-entries"></a>

**Pour consulter les journaux de votre serveur Transfer Family**

1. Accédez à la page de détails d'un serveur.

1. Choisissez **Afficher les journaux**. Cela ouvre Amazon CloudWatch.

1. Le groupe de journaux du serveur que vous avez sélectionné s'affiche.  
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/log-example-01.png)

1. Vous pouvez sélectionner un flux de journal pour afficher les détails et les entrées individuelles du flux.
   + S'il existe une liste d'**ERREURS**, vous pouvez la sélectionner pour afficher le détail des dernières erreurs survenues sur le serveur.  
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/log-example-errors.png)
   + Choisissez une autre entrée pour voir un exemple de flux de journal.  
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/log-example-02.png)
   + Si un flux de travail géré est associé à votre serveur, vous pouvez consulter les journaux des exécutions du flux de travail.
**Note**  
Le format du flux de journal pour le flux de travail est`username.workflowId.uniqueStreamSuffix`. Par exemple, **decrypt-user.w-a1111222233334444.aaaa1111bbbb2222** peut être le nom d'un flux de journal pour l'utilisateur et le flux de travail. **decrypt-user** **w-a1111222233334444**   
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/log-example-workflow.png)

**Note**  
Pour toute entrée de journal étendue, vous pouvez copier l'entrée dans le presse-papiers en choisissant **Copier**. Pour plus de détails sur les CloudWatch journaux, consultez la section [Affichage des données des journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData).

## Création d' CloudWatch alarmes Amazon
<a name="monitoring-cloudwatch-examples"></a>

L'exemple suivant montre comment créer des CloudWatch alarmes Amazon à l'aide de la AWS Transfer Family métrique,`FilesIn`.

------
#### [ CDK ]

```
new cloudwatch.Metric({
  namespace: "AWS/Transfer",
  metricName: "FilesIn",
  dimensionsMap: { ServerId: "s-00000000000000000" },
  statistic: "Average",
  period: cdk.Duration.minutes(1),
}).createAlarm(this, "AWS/Transfer FilesIn", {
  threshold: 1000,
  evaluationPeriods: 10,
  datapointsToAlarm: 5,
  comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD,
});
```

------
#### [ CloudFormation ]

```
Type: AWS::CloudWatch::Alarm
Properties:
  Namespace: AWS/Transfer
  MetricName: FilesIn
  Dimensions:
    - Name: ServerId
      Value: s-00000000000000000
  Statistic: Average
  Period: 60
  Threshold: 1000
  EvaluationPeriods: 10
  DatapointsToAlarm: 5
  ComparisonOperator: GreaterThanOrEqualToThreshold
```

------

## Enregistrement des opérations de l'API Amazon S3 dans les journaux d'accès S3
<a name="monitoring-s3-access-logs"></a>

**Note**  
Cette section ne s'applique pas aux applications Web Transfer Family.

Si vous [utilisez les journaux d'accès Amazon S3 pour identifier les demandes S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-s3-access-logs-to-identify-requests.html) effectuées au nom de vos utilisateurs de transfert de fichiers, ils `RoleSessionName` sont utilisés pour afficher le rôle IAM assumé pour gérer les transferts de fichiers. Il affiche également des informations supplémentaires telles que le nom d'utilisateur, l'identifiant de session et l'identifiant du serveur utilisés pour les transferts. Le format est `[AWS:Role Unique Identifier]/username.sessionid@server-id` et est contenu dans le champ Demandeur. Par exemple, voici le contenu d'un exemple de champ Demandeur issu d'un journal d'accès S3 pour un fichier copié dans le compartiment S3.

`arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id`

Dans le champ Demandeur ci-dessus, il indique le rôle IAM appelé. `IamRoleName` *Pour plus d'informations sur les identifiants uniques des rôles IAM, consultez la section [Identifiants uniques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) du guide de l'Gestion des identités et des accès AWS utilisateur.*

# Exemples pour limiter le problème de confusion des adjoints
<a name="cloudwatch-confused-deputy"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. Pour en savoir plus, consultez [Prévention du problème de l’adjoint confus entre services](confused-deputy.md).

**Note**  
Dans les exemples suivants, remplacez chacune *user input placeholder* par vos propres informations.  
Dans ces exemples, vous pouvez supprimer les détails de l'ARN d'un flux de travail si aucun flux de travail n'est associé à votre serveur.

L'exemple de logging/invocation politique suivant permet à n'importe quel serveur (et flux de travail) du compte d'assumer le rôle.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllServersWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                   "aws:SourceArn": [
                     "arn:aws:transfer:us-west-2:111122223333:server/*",
                     "arn:aws:transfer:us-west-2:111122223333:workflow/*"
                   ]
                }
            }
        }
    ]
}
```

L'exemple de logging/invocation politique suivant permet à un serveur (et à un flux de travail) spécifiques d'assumer le rôle.

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificServerWithWorkflowAttached",
            "Effect": "Allow",
            "Principal": {
                "Service": "transfer.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                   "aws:SourceArn": [
                       "arn:aws:transfer:us-west-2:111122223333:server/server-id",
                       "arn:aws:transfer:us-west-2:111122223333:workflow/workflow-id"
                   ]
                }
            }
        }
    ]
}
```

# CloudWatch structure du journal pour Transfer Family
<a name="cw-structure-logs"></a>

Cette rubrique décrit les champs renseignés dans les journaux Transfer Family : à la fois pour les entrées de journal structurées en JSON et pour les entrées de journal existantes.

**Topics**
+ [Journaux structurés JSON pour Transfer Family](#json-log-entries)
+ [Logs d'ancienne génération pour Transfer Family](#legacy-log-entries)

## Journaux structurés JSON pour Transfer Family
<a name="json-log-entries"></a>

Le tableau suivant contient des informations détaillées sur les champs de saisie du journal pour les SFTP/FTP/FTPS actions Transfer Family, dans le nouveau format de journal structuré JSON.


| Champ | Description | Exemple d’entrée | 
| --- |--- |--- |
| type d'activité | L'action de l'utilisateur | Les types d'activités disponibles sont les suivants : `AUTH_FAILURE``CONNECTED`,`DISCONNECTED`,,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,`PARTIAL_CLOSE`,`RENAME`,`RMDIR`,`SETSTAT`,`TLS_RESUME_FAILURE`. | 
| octets entrants | Nombre d'octets téléchargés par l'utilisateur | 29238420042 | 
| octets sortants | Nombre d'octets téléchargés par l'utilisateur | 23094032490328 | 
| ciphers | Spécifie le chiffrement SSH négocié pour la connexion (les chiffrements disponibles sont répertoriés dans) [Algorithmes cryptographiques](security-policies.md#cryptographic-algorithms) | aes256-gcm@openssh.com | 
| client | Le logiciel client de l'utilisateur | SSH-2.0-OpenSSH\$17.4 | 
| home-dir | Le répertoire sur lequel l'utilisateur final atterrit lorsqu'il se connecte au point de terminaison si son type de répertoire de PATH base est : s'il possède un répertoire de base logique, cette valeur est toujours / | /user-home-bucket/tester | 
| kex | Spécifie l'échange de clés SSH (KEX) négocié pour la connexion (les KEX disponibles sont répertoriés dans) [Algorithmes cryptographiques](security-policies.md#cryptographic-algorithms) | diffie-hellman-group14-sha256 | 
| message | Fournit des informations supplémentaires relatives à l'erreur | <string> | 
| méthode | La méthode d'authentification | publickey | 
| mode | Spécifie la manière dont un client ouvre un fichier | CRÉER \$1 TRONQUER \$1 ÉCRIRE | 
| fonctionnement | L'opération du client sur un fichier | OUVRIR \$1 FERMER | 
| path | Chemin de fichier réel affecté | /amzn-s3-demo-bucket/test-file-1.pdf  | 
| ssh-public-key | Le corps de la clé publique pour l'utilisateur qui se connecte | AAAAC3Nzac1L OY0Qv6 Huile ZDI1 NTE5 AAAAIA9 XYVHaa WAcj2sp DJVbgjrq DPY4pxd6 GnHl | 
| ssh-public-key-fingerprint | L'empreinte de la clé publique, telle qu'elle apparaît dans la console pour les utilisateurs gérés par le service lors de la liste de leurs clés utilisateur.  Dans la console, l'empreinte digitale est affichée avec les caractères de remplissage (le cas échéant) : de 0 à 3 signes égaux (=) à la fin. Dans l'entrée du journal, ce rembourrage est supprimé de la sortie.  | SHA256: BY3g NMHw TFJD4N2VUT4pty/0 LOk82z WZj4 KEYEu7y4r | 
| ssh-public-key-type | Type de clé publique : Transfer Family prend en charge les clés au format RSA, ECDSA et ECDSA ED25519 | ssh-ed25519 | 
| source de ressources | Identifiant unique attribué par le système pour une ressource spécifique (par exemple, un serveur) |  arn:aws:transfer:ap-northeast- 1:12346789012 : server/s-1234567890akeu2js2  | 
| rôle | Le rôle IAM de l'utilisateur |  arn:aws:iam : :0293883675:role/testuser-role  | 
| session-id | Identifiant unique attribué par le système pour une seule session |  9ca9a0e1cec6ad9d  | 
| adresse IP source | Adresse IP du client | 18,323,0,129 | 
| utilisateur | Le nom d'utilisateur de l'utilisateur final | myname192 | 
| politique utilisateur | Les autorisations spécifiées pour l'utilisateur final : ce champ est renseigné si la politique de l'utilisateur est une politique de session. | Le code JSON pour la politique de session utilisée | 

## Logs d'ancienne génération pour Transfer Family
<a name="legacy-log-entries"></a>

Le tableau suivant contient des informations détaillées sur les entrées du journal relatives aux différentes actions de Transfer Family.

**Note**  
 Ces entrées ne sont pas dans le nouveau format de journal structuré JSON.

Le tableau suivant contient des informations détaillées sur les entrées de journal relatives aux différentes actions Transfer Family, dans le nouveau format de journal structuré JSON.




| Action | Journaux correspondants dans Amazon CloudWatch Logs | 
| --- | --- | 
| Authentication failures (Échecs d’authentification) |  ERREURS AUTH\$1FAILURE METHOD=PublicKey User=LHR Message="RSA:LFZ3R2nm K\$1B7RB1RSV AE\$1A\$1HXG0C7L1JIZ0" SourceIP=3.8.172.211 SHA256 LY4ra UIb   | 
| Flux de travail dans COPY/TAG/DELETE/DECRYPT |  \$1"type » : » StepStarted «, « details » : \$1"input » : \$1"Emplacement du fichier » : \$1"BackingStore », « EFS », « FileSystemID » : fs-12345678 », « path » : » /lhr/regex.py «\$1\$1, « StepType », « StepName » « successful\$1tag\$1step »\$1, « WorkflowID » w-1111aaaa22bb22bb22b bb3 », « ExecutionID » : « 81234abcd-1234-efgh-5678-ijklmnopqr90 », « TransferDetails » : \$1« serverID » ="s-1234abcd5678efghi », « nom d'utilisateur » lhr », « ID de session » 1\$11234567890abcdef0"\$1\$1  | 
| Flux de travail par étapes personnalisé |  \$1"type » : » CustomStepInvoked «, « details » : \$1"output » : \$1"token » ="MZM4mjg5 YWUt YTEz My00 YjIz LWI3 OGMt YZU4 OGI2 ZjQyMz E5"\$1, « StepType » 0.0.CUSTOM », « StepName » ̈efs-s3\$1copy\$12"\$1, « WorkflowID » ̈w-9283e49d33297c3f7", « ExecutionID » ̈1234abcd-1234-efghh 5678-ijklmnopqr90 », « TransferDetails » : \$1"serverID » : « s-zzzzzz1111aaaa22223 », « nom d'utilisateur » « lhr », « ID de session » ?1234567890abcdef0"\$1\$1  | 
| Suppressions |  lhr.33a8fb495ffb383b SUPPRIMER /123.jpg Path=/bucket/user  | 
| Téléchargements |  lhr.33a8fb495ffb383b OUVRIR /123.jpg MODE=LIRE Path=/bucket/user llhr.33a8fb495ffb383b FERMER /123.jpg =3618546 Path=/bucket/user BytesOut  | 
| Connexions/Déconnexions |  user.914984e553bcddb6 CONNECTED SourceIP=1.22.111.222 User=LHR =LOGICAL CLIENT=SSH-2.0-OpenSSH\$17.4 role=ARN:aws : :iam : :123456789012:role/sftp-s3-access HomeDir user.914984e553bcddb6 DÉCONNECTÉ  | 
| Renomme |  lhr.33a8fb495ffb383b RENOMMER .png Path=/bucket/user/lambo.png NewPath=/bucket/user/ferrari   | 
| Exemple de journal des erreurs du flux de travail |  \$1"type » : » StepErrored «, « details » : \$1"ErrorType » : \$1"ErrorType » : « BAD\$1REQUEST », « ErrorMessage », « ErrorMessage », « Impossible de baliser le fichier Efs », « StepType », « StepName » « successful\$1tag\$1step »\$1, « ExecutionId » ̈81234abcd-1234-efghi » 5678-ijklmnopqr90 », « TransferDetails » : \$1"serverID » : « s-1234abcd5678efghi », « nom d'utilisateur » « lhr », « ID de session » ?1234567890abcdef0"\$1\$1   | 
| Liens symboliques |  lhr.eb49cf7b8651e6d5 CREATE\$1SYMLINK =/fs-12345678/lhr/pqr.jpg =abc.jpg LinkPath TargetPath   | 
| Chargements |  lhr.33a8fb495ffb383b OUVRIR /123.jpg MODE=Créer\$1Truncat\$1Écrire Path=/bucket/user lhr.33a8fb495ffb383b FERMER /123.jpg =3618546 Path=/bucket/user BytesIn  | 
| Flux de travail |  \$1"type » : » ExecutionStarted «, « details » : \$1"input » : \$1» « : \$1" BackingStore » ̈EFS », « FileSystemID » ̈fs-12345678 », initialFileLocation « path » : » /lhr/regex.py «\$1\$1\$1\$1, « WorkflowId » ̈w-1111aaaa2222bbbb3 », « ExecutionID » ̈1234abcd-1234-efmgh-5678-ijkl-klk nopqr90 », « TransferDetails » : \$1"serverID » : « s-zzzz1111aaaa22223 », « nom d'utilisateur » « lhr », « ID de session » c:\$11234567890abcdef0"\$1\$1 \$1"type » : » StepStarted «, « details » : \$1"input » : \$1"Emplacement du fichier » : \$1"BackingStore », « EFS », « FileSystemID » fs-12345678 », « path » : » /lhr/regex.py «\$1\$1, « StepType » ?CUSTOM », « StepName » ̈efs-s3\$1copy\$12"\$1, « WorkflowID » ̈w-9283e49dd\$1\$1 297c3f7", « ExecutionID » ="1234abcd-1234-efgh-5678-ijklmnopqr90 », « TransferDetails » : \$1« ServerID » ?s-18ca49dce5d842e0b », « nom d'utilisateur » ̈lhr », « ID de session » ̈1234567890abcdef0"\$1\$1  | 

# Exemples d'entrées de CloudWatch journal
<a name="cw-example-logs"></a>

Cette rubrique présente des exemples d'entrées de journal.

**Topics**
+ [Exemples d'entrées du journal des sessions de transfert](#session-log-examples)
+ [Exemples d'entrées de journal pour les connecteurs SFTP](#example-sftp-connector-logs)
+ [Exemples d'entrées de journal pour les connecteurs VPC Lattice](#example-vpc-lattice-connector-logs)
+ [Exemples d'entrées de journal pour les défaillances de l'algorithme d'échange de clés](#example-kex-logs)

## Exemples d'entrées du journal des sessions de transfert
<a name="session-log-examples"></a>

Dans cet exemple, un utilisateur SFTP se connecte à un serveur Transfer Family, télécharge un fichier, puis se déconnecte de la session.

L'entrée de journal suivante indique qu'un utilisateur SFTP se connecte à un serveur Transfer Family.

```
{
   "role": "arn:aws:iam::500655546075:role/transfer-s3",
   "activity-type": "CONNECTED",
   "ciphers": "chacha20-poly1305@openssh.com,chacha20-poly1305@openssh.com",
   "client": "SSH-2.0-OpenSSH_7.4",
   "source-ip": "52.94.133.133",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "home-dir": "/test/log-me",
   "ssh-public-key": "AAAAC3NzaC1lZDI1NTE5AAAAIA9OY0qV6XYVHaaOiWAcj2spDJVbgjrqDPY4pxd6GnHl",
   "ssh-public-key-fingerprint": "SHA256:BY3gNMHwTfjd4n2VuT4pTyLOk82zWZj4KEYEu7y4r/0",
   "ssh-public-key-type": "ssh-ed25519",
   "user": "log-me",
   "kex": "ecdh-sha2-nistp256",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

L'entrée de journal suivante indique que l'utilisateur SFTP télécharge un fichier dans son compartiment Amazon S3.

```
{
   "mode": "CREATE|TRUNCATE|WRITE",
   "path": "/test/log-me/config-file",
   "activity-type": "OPEN",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

Les entrées de journal suivantes indiquent que l'utilisateur SFTP s'est déconnecté de sa session SFTP. Tout d'abord, le client ferme la connexion au bucket, puis il déconnecte la session SFTP.

```
{
   "path": "/test/log-me/config-file",
   "activity-type": "CLOSE",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "bytes-in": "121",
   "session-id": "9ca9a0e1cec6ad9d"
}

{
   "activity-type": "DISCONNECTED",
   "resource-arn": "arn:aws:transfer:us-east-1:500655546075:server/s-3fe215d89f074ed2a",
   "session-id": "9ca9a0e1cec6ad9d"
}
```

**Note**  
Les types d'activités disponibles sont les suivants : `AUTH_FAILURE``CONNECTED`,`DISCONNECTED`,,`ERROR`,`EXIT_REASON`,`CLOSE`,`CREATE_SYMLINK`,`DELETE`,`MKDIR`,`OPEN`,`PARTIAL_CLOSE`,`RENAME`,`RMDIR`,`SETSTAT`,`TLS_RESUME_FAILURE`.

## Exemples d'entrées de journal pour les connecteurs SFTP
<a name="example-sftp-connector-logs"></a>

Cette section contient des exemples de journaux indiquant à la fois un transfert réussi et un transfert infructueux. Les journaux sont générés dans un groupe de journaux nommé`/aws/transfer/connector-id`, où *connector-id* est l'identifiant de votre connecteur SFTP. Les entrées de journal pour les connecteurs SFTP sont générées lorsque vous exécutez une `StartDirectoryListing` commande `StartFileTransfer` ou.

Cette entrée de journal concerne un transfert effectué avec succès.

```
{
    "operation": "RETRIEVE",
    "timestamp": "2023-10-25T16:33:27.373720Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://192.0.2.0",
    "file-path": "/remotebucket/remotefilepath",
    "status-code": "COMPLETED",
    "start-time": "2023-10-25T16:33:26.945481Z",
    "end-time": "2023-10-25T16:33:27.159823Z",
    "account-id": "480351544584",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "local-directory-path": "/connectors-localbucket",
    "bytes": 514,
    "egress-type": "SERVICE_MANAGED"
}
```

Cette entrée de journal concerne un transfert qui a expiré et qui n'a donc pas été effectué correctement.

```
{
    "operation": "RETRIEVE",
    "timestamp": "2023-10-25T22:33:47.625703Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://192.0.2.0",
    "file-path": "/remotebucket/remotefilepath",
    "status-code": "FAILED",
    "failure-code": "TIMEOUT_ERROR",
    "failure-message": "Transfer request timeout.",
    "account-id": "480351544584",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "local-directory-path": "/connectors-localbucket",
    "egress-type": "SERVICE_MANAGED"
}
```

Cette entrée de journal concerne une opération SEND réussie.

```
{
    "operation": "SEND",
    "timestamp": "2024-04-24T18:16:12.513207284Z",
    "connector-id": "connector-id",
    "transfer-id": "transfer-id",
    "file-transfer-id": "transfer-id/file-transfer-id",
    "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com",
    "file-path": "/amzn-s3-demo-bucket/my-test-folder/connector-metrics-us-east-1-2024-01-02.csv",
    "status-code": "COMPLETED",
    "start-time": "2024-04-24T18:16:12.295235884Z",
    "end-time": "2024-04-24T18:16:12.461840732Z",
    "account-id": "255443218509",
    "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
    "bytes": 275,
    "egress-type": "SERVICE_MANAGED"
}
```

Descriptions de certains champs clés dans les exemples de journaux précédents.
+ `timestamp`représente le moment où le journal est ajouté à CloudWatch. `start-time`et `end-time` correspondent au moment où le connecteur commence et termine réellement un transfert.
+ `transfer-id`est un identifiant unique attribué à chaque `start-file-transfer` demande. Si l'utilisateur transmet plusieurs chemins de fichiers en une seule opération d'`start-file-transfer`API, tous les fichiers sont partagés de la même manière`transfer-id`.
+ `file-transfer-id`est une valeur unique générée pour chaque fichier transféré. Notez que la partie initiale du `file-transfer-id` est identique à`transfer-id`.

## Exemples d'entrées de journal pour les connecteurs VPC Lattice
<a name="example-vpc-lattice-connector-logs"></a>

Cette section contient des exemples de journaux pour les connecteurs VPC Lattice. Pour les connecteurs VPC Lattice, les journaux incluent des champs supplémentaires qui fournissent des informations sur la configuration du connecteur et la configuration du réseau.

Cette entrée de journal concerne une opération SEND du connecteur VPC Lattice qui s'est terminée avec succès.

```
{
  "operation": "SEND",
  "timestamp": "2025-09-05T14:20:19.577192454Z",
  "connector-id": "connector-id",
  "transfer-id": "transfer-id",
  "file-transfer-id": "transfer-id/file-transfer-id",
  "file-path": ""/amzn-s3-demo-bucket/my-test-folder/connector-vpc-lattice-us-east-1-2025-03-22.csv"",
  "status-code": "COMPLETED",
  "start-time": "2025-09-05T14:20:19.434072509Z",
  "end-time": "2025-09-05T14:20:19.481453346Z",
  "account-id": "account-id",
  "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id",
  "remote-directory-path": "/test-bucket/test-folder/",
  "bytes": 262,
  "egress-type": "VPC_LATTICE",
  "vpc-lattice-resource-configuration-arn": "arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/resource-configuration-arn-id,
  "vpc-lattice-port-number": 22
}
```

Les journaux du connecteur VPC Lattice incluent les champs supplémentaires suivants :
+ `egress-type`- Type de configuration de sortie pour le connecteur
+ `vpc-lattice-resource-configuration-arn`- ARN de la configuration des ressources du réseau VPC qui définit l'emplacement du serveur SFTP cible
+ `vpc-lattice-port-number`- Numéro de port pour la connexion au serveur SFTP via VPC Lattice

## Exemples d'entrées de journal pour les défaillances de l'algorithme d'échange de clés
<a name="example-kex-logs"></a>

Cette section contient des exemples de journaux où l'algorithme d'échange de clés (KEX) a échoué. Voici des exemples tirés du flux de journaux **ERRORS** pour les journaux structurés.

Cette entrée de journal est un exemple d'erreur de type de clé d'hôte.

```
{
    "activity-type": "KEX_FAILURE",
    "source-ip": "999.999.999.999",
    "resource-arn": "arn:aws:transfer:us-east-1:999999999999:server/s-999999999999999999",
    "message": "no matching host key type found",
    "kex": "ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-rsa,ssh-dss"
}
```

Cette entrée de journal est un exemple de non-concordance KEX.

```
{
    "activity-type": "KEX_FAILURE",
    "source-ip": "999.999.999.999",
    "resource-arn": "arn:aws:transfer:us-east-1:999999999999:server/s-999999999999999999",
    "message": "no matching key exchange method found",
    "kex": "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group14-sha256"
}
```

# Utilisation de CloudWatch métriques pour les serveurs Transfer Family
<a name="metrics"></a>

**Note**  
 Vous pouvez également obtenir des statistiques pour Transfer Family à partir de la console Transfer Family elle-même. Pour plus d’informations, consultez [Surveillance de l'utilisation dans la console](monitor-usage-transfer-console.md). 

Vous pouvez obtenir des informations sur votre serveur à l'aide de CloudWatch métriques. Une *métrique* représente un ensemble chronologique de points de données publiés sur CloudWatch. Lorsque vous utilisez des métriques, vous devez spécifier l'espace de noms Transfer Family, le nom de la métrique et [la dimension](#cw-dimensions). Pour plus d'informations sur les métriques, consultez [Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric) dans le *guide de CloudWatch l'utilisateur Amazon*.

 Le tableau suivant décrit les CloudWatch indicateurs de Transfer Family.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/metrics.html)

## Dimensions de Transfer Family
<a name="cw-dimensions"></a>

Une *dimension* est une name/value paire qui fait partie de l'identité d'une métrique. Pour plus d'informations sur les dimensions, consultez la section [Dimensions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Dimension) du *guide de CloudWatch l'utilisateur Amazon*.

Le tableau suivant décrit les CloudWatch dimensions de Transfer Family.


| Dimension | Description | 
| --- | --- | 
| `ServerId` | L'identifiant unique du serveur. | 
| `ConnectorId` | L'identifiant unique du connecteur. Utilisé pour AS2, pour `OutboundMessage` et `OutboundFailedMessage` | 

## Utilisation Notifications des utilisateurs AWS avec AWS Transfer Family
<a name="using-user-notifications"></a>

Pour être informé AWS Transfer Family des événements, vous pouvez [Notifications des utilisateurs AWS](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html)configurer différents canaux de diffusion. Lorsqu'un événement correspond à une règle que vous spécifiez, vous recevez une notification. 

Vous pouvez recevoir des notifications relatives à des événements via plusieurs canaux, notamment par email, via des notifications de chat [Amazon Q Developer dans les applications de chat](https://docs.aws.amazon.com/chatbot/latest/adminguide/what-is.html) ou via des notifications push de l’[AWS Console Mobile Application](https://docs.aws.amazon.com/consolemobileapp/latest/userguide/what-is-consolemobileapp.html). Vous pouvez également consulter les notifications dans le [centre de notifications de la console](https://console.aws.amazon.com/notifications/). Notifications des utilisateurs prend en charge l'agrégation, ce qui peut réduire le nombre de notifications que vous recevez lors d'événements spécifiques.

Pour plus d'informations, consultez le billet de blog [Personnaliser les notifications de livraison de fichiers AWS Transfer Family à l'aide de flux de travail gérés](https://aws.amazon.com/blogs/storage/customize-file-delivery-notifications-using-aws-transfer-family-managed-workflows/) et [Qu'est-ce que c'est Notifications des utilisateurs AWS ?](https://docs.aws.amazon.com/notifications/latest/userguide/what-is.html) dans le *guide de Notifications des utilisateurs AWS l'utilisateur*.

# Utilisation de requêtes pour filtrer les entrées du journal
<a name="cw-queries"></a>

Vous pouvez utiliser CloudWatch des requêtes pour filtrer et identifier les entrées du journal pour Transfer Family. Cette section contient quelques exemples.

1. Connectez-vous à la CloudWatch console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Vous pouvez créer des requêtes ou des règles.
   + Pour créer une requête **Logs Insights**, choisissez **Logs Insights** dans le panneau de navigation de gauche, puis entrez les détails de votre requête.
   + Pour créer une règle **Contributor Insights**, choisissez Insights > Contributor Insights dans le panneau de navigation de gauche, puis entrez les détails de votre règle.

1. Exécutez la requête ou la règle que vous avez créée.

**Afficher les principaux contributeurs aux échecs d'authentification**

Dans vos journaux structurés, une entrée du journal des échecs d'authentification ressemble à ce qui suit :

```
{
  "method":"password",
  "activity-type":"AUTH_FAILURE",
  "source-ip":"999.999.999.999",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "message":"Invalid user name or password",
  "user":"exampleUser"
}
```

Exécutez la requête suivante pour connaître les principaux responsables des échecs d'authentification.

```
filter @logStream = 'ERRORS'
| filter `activity-type` = 'AUTH_FAILURE'
| stats count() as AuthFailures by user, method
| sort by AuthFailures desc
| limit 10
```

Plutôt que d'utiliser **CloudWatch Logs Insights**, vous pouvez créer une règle **CloudWatch Contributors Insights** pour visualiser les échecs d'authentification. Créez une règle similaire à la suivante.

```
{
    "AggregateOn": "Count",
    "Contribution": {
        "Filters": [
            {
                "Match": "$.activity-type",
                "In": [
                    "AUTH_FAILURE"
                ]
            }
        ],
        "Keys": [
            "$.user"
        ]
    },
    "LogFormat": "JSON",
    "Schema": {
        "Name": "CloudWatchLogRule",
        "Version": 1
    },
    "LogGroupARNs": [
        "arn:aws:logs:us-east-1:999999999999:log-group:/customer/structured_logs"
    ]
}
```

**Afficher les entrées du journal où un fichier a été ouvert**

Dans vos journaux structurés, une entrée du journal de lecture d'un fichier ressemble à ce qui suit :

```
{
  "mode":"READ",
  "path":"/fs-0df669c89d9bf7f45/avtester/example",
  "activity-type":"OPEN",
  "resource-arn":"arn:aws:transfer:us-east-1:999999999999:server/s-0123456789abcdef",
  "session-id":"0049cd844c7536c06a89"
}
```

Exécutez la requête suivante pour afficher les entrées du journal indiquant qu'un fichier a été ouvert.

```
filter `activity-type` = 'OPEN'
| display @timestamp, @logStream, `session-id`, mode, path
```