> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wirespeed.co/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS GuardDuty

> Intégrez AWS GuardDuty

> [!NOTE]
>
> Wirespeed utilise l’[API AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) pour s’intégrer à vos comptes AWS.

## Intégrer tous les comptes (recommandé)

Cette méthode utilise [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) pour déployer les autorisations d’intégration requises dans toutes les organisations AWS placées sous votre compte racine. Elle déploie également Wirespeed automatiquement dans tous les nouveaux comptes AWS que vous créez.

> [!WARNING]
>
> Nous vous recommandons de tester d’abord le déploiement sur un sous-ensemble de comptes afin de limiter les erreurs. Copiez notre [lien rapide CloudFormation](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?templateURL=https://s3.us-west-2.amazonaws.com/aws-deploy.wirespeed.co/deploy-template.yaml\&stackName=Wirespeed-GuardDuty-Integration), connectez-vous au compte AWS souhaité dans la console, puis ouvrez le lien copié pour déployer sur un seul compte.

### Dans Wirespeed

1. Accédez à Intégrations > [Ajouter une intégration](https://app.wirespeed.co/settings/integrations?tab=browse) > AWS GuardDuty > Toute l’organisation
2. **Copiez la clé API**, qui vous servira à l’**étape 2** ci-dessous

### Dans AWS

Assurez-vous que GuardDuty est activé sur tous les comptes que vous souhaitez intégrer. Dans le cas contraire, les intégrations passeront à l’état d’échec.

1. Connectez-vous à votre compte AWS racine dans la console AWS **en tant qu’administrateur**
2. Assurez-vous que l’[accès approuvé](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-activate-trusted-access.html) (Trusted Access) est activé pour votre compte
3. Accédez à **CloudFormation** > **Stack Sets** > **Create Stack Set**
4. Poursuivez avec les étapes ci-dessous

#### Étape 1

1. Permission Model > Service-Managed Permissions
2. Prepare Template > Template is ready
3. Specify Template > **Amazon S3 URL** > `https://s3.us-west-2.amazonaws.com/aws-deploy.wirespeed.co/deploy-template.yaml`

#### Étape 2

1. Utilisez un nom et une description pertinents
2. Fournissez la **clé API** copiée lors de l’étape **Prise en main** > **Dans Wirespeed** ci-dessus

#### Étape 3

1. Acceptez l’avertissement

#### Étape 4

1. Conservez toutes les valeurs par défaut sélectionnées
2. Choisissez une seule région de déploiement (les rôles IAM sont globaux, une seule région suffit donc)

#### Étape 5

1. Cliquez sur Submit

#### Étape 6

1. Ce stack set n’inclut pas le déploiement sur votre compte de gestion racine. Pour déployer sur ce compte, connectez-vous à la console AWS de votre compte racine, ouvrez [ce lien](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?templateURL=https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Faws-deploy.wirespeed.co%2Fdeploy-template.yaml\&stackName=Wirespeed-GuardDuty-Integration) et suivez les instructions.
   \[!NOTE] Vérifiez que le stack set se déploie correctement sur tous les comptes de votre organisation et corrigez les erreurs le cas échéant. Contactez Wirespeed si vous avez besoin d’aide. Une fois le déploiement réussi, les comptes apparaissent dans Wirespeed sous [Intégrations](https://app.wirespeed.co/settings/integrations)
   \[!TIP] Cette pile CloudFormation sera déployée dans tous les nouveaux comptes que vous créerez désormais dans votre organisation.

## Intégrer un seul compte

### CloudFormation (option A)

1. Connectez-vous à Wirespeed et accédez à Intégrations > [**Ajouter une intégration**](https://app.wirespeed.co/settings/integrations?tab=browse)
2. Sélectionnez **AWS GuardDuty** dans la liste déroulante
3. Sélectionnez **Compte unique (automatique)**
4. Copiez la clé API
5. Cliquez [ici](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/review?templateURL=https://s3.us-west-2.amazonaws.com/aws-deploy.wirespeed.co/deploy-template.yaml\&stackName=Wirespeed-GuardDuty-Integration) pour déployer une pile CloudFormation
6. Suivez toutes les instructions et conservez les options par défaut

Une fois l’opération terminée, le compte apparaît sur la page [Intégrations](https://app.wirespeed.co/settings/integrations) de Wirespeed.

### Manuelle (option B)

1. Connectez-vous à votre console AWS et ouvrez la page **IAM**.
2. Accédez à **Access Management** > **Roles**.
3. Cliquez sur **Create Role**.
4. Sous **Trusted Entity Type**, sélectionnez **AWS Account**.
5. Cochez **Require External ID** et saisissez un mot de passe sécurisé généré aléatoirement.
   a. Conservez bien cette information : vous en aurez besoin plus tard pour ajouter le compte dans Wirespeed.
   b. **Remarque :** AWS exige que l’External ID corresponde à l’expression régulière `^[\w+=,.@:/-]*$`.
6. Choisissez **Another AWS Account** et saisissez l’ID `590183894387`.
7. Sélectionnez **Next** pour passer à la page **Add Permissions**.
8. Ouvrez un nouvel onglet dans IAM et accédez à la page **Policies**. Sélectionnez **Create Policy**.
9. Dans la fenêtre de navigateur qui vient de s’ouvrir, collez le modèle JSON suivant :

```
{
  "Version": "2012-10-17",
  "Statement": [
  {
    "Sid": "VisualEditor0",
    "Effect": "Allow",
    "Action": [
      "ec2:DescribeRegions",
      "guardduty:EnableOrganizationAdminAccount",
      "guardduty:DeleteMalwareProtectionPlan",
      "guardduty:ListThreatIntelSets",
      "guardduty:GetThreatIntelSet",
      "guardduty:CreateDetector",
      "guardduty:DisassociateMembers",
      "guardduty:DescribeMalwareScans",
      "guardduty:UpdateMemberDetectors",
      "guardduty:GetAdministratorAccount",
      "guardduty:GetDetector",
      "guardduty:AcceptInvitation",
      "guardduty:GetRemainingFreeTrialDays",
      "guardduty:UpdateMalwareScanSettings",
      "guardduty:ListInvitations",
      "guardduty:DisassociateFromAdministratorAccount",
      "guardduty:UpdateMalwareProtectionPlan",
      "guardduty:UnarchiveFindings",
      "guardduty:GetMemberDetectors",
      "guardduty:DeclineInvitations",
      "guardduty:DeleteDetector",
      "guardduty:ListPublishingDestinations",
      "guardduty:GetFilter",
      "guardduty:ListTagsForResource",
      "guardduty:ListMembers",
      "guardduty:ListIPSets",
      "guardduty:ListCoverage",
      "guardduty:CreateSampleFindings",
      "guardduty:GetMasterAccount",
      "guardduty:UpdateFindingsFeedback",
      "guardduty:GetCoverageStatistics",
      "guardduty:ListMalwareProtectionPlans",
      "guardduty:GetMembers",
      "guardduty:GetOrganizationStatistics",
      "guardduty:UpdateFilter",
      "guardduty:SendSecurityTelemetry",
      "guardduty:CreateThreatIntelSet",
      "guardduty:StopMonitoringMembers",
      "guardduty:CreateMalwareProtectionPlan",
      "guardduty:CreateFilter",
      "guardduty:GetMalwareScanSettings",
      "guardduty:DisableOrganizationAdminAccount",
      "guardduty:ListFilters",
      "guardduty:DeleteThreatIntelSet",
      "guardduty:GetInvitationsCount",
      "guardduty:GetFindings",
      "guardduty:DeleteMembers",
      "guardduty:DeleteIPSet",
      "guardduty:DeleteFilter",
      "guardduty:AcceptAdministratorInvitation",
      "guardduty:DeletePublishingDestination",
      "guardduty:ListFindings",
      "guardduty:DisassociateFromMasterAccount",
      "guardduty:DeleteInvitations",
      "guardduty:DescribePublishingDestination",
      "guardduty:GetMalwareProtectionPlan",
      "guardduty:InviteMembers",
      "guardduty:ListDetectors",
      "guardduty:ArchiveFindings",
      "guardduty:UpdateDetector",
      "guardduty:GetIPSet",
      "guardduty:StartMalwareScan",
      "guardduty:UpdateOrganizationConfiguration",
      "guardduty:StartMonitoringMembers",
      "guardduty:GetUsageStatistics",
      "guardduty:CreateMembers",
      "guardduty:ListOrganizationAdminAccounts",
      "guardduty:DescribeOrganizationConfiguration",
      "guardduty:GetFindingsStatistics"
    ],
    "Resource": "*"
   }
 ]
}
```

10. Cliquez sur **Next**, saisissez un nom pour la politique, puis sélectionnez **Create Policy**.
11. Revenez à la fenêtre de création du rôle, actualisez la liste des politiques et cochez la case de la politique que vous venez de créer.
12. Cliquez sur **Next**.
13. Donnez un nom au rôle, puis vérifiez la section **Trusted Entities**. La politique d’approbation doit ressembler à ceci :

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole", 
      "Principal": {
        "AWS": "arn:aws:iam::590183894387:root"
      },
      "Condition": {
        "StringEquals": {
          "sts:ExternalId": "[RANDOM_PASSWORD]"
        }
      }
    }
  ]
}
```

14. Vérifiez que la politique nouvellement créée figure dans la section des autorisations, puis sélectionnez « Create Role ». Notez l’ARN du rôle.
15. Connectez-vous à Wirespeed et accédez à Intégrations > [**Ajouter une intégration**](https://app.wirespeed.co/settings/integrations?tab=browse)
16. Sélectionnez **AWS GuardDuty** dans la liste déroulante
17. Sélectionnez **Compte unique (manuel)**
18. Saisissez l’**ARN du rôle** et l’**ID externe**
19. Cliquez sur **Intégrer**

> [!NOTE]
>
> Lors de la première synchronisation, Wirespeed récupère les résultats (findings) GuardDuty mis à jour au cours des **90 derniers jours** (par détecteur et par région).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.