

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.

# Planifiez votre déploiement
<a name="plan-your-deployment"></a>

Cette section décrit les [coûts](cost.md), la [sécurité](security.md), les [quotas](quotas.md) et les autres considérations à prendre en compte avant de déployer la solution.

## Régions AWS prises en charge
<a name="supported-aws-regions"></a>

Selon les valeurs des paramètres d'entrée du modèle que vous définissez, cette solution nécessite différentes ressources. Ces ressources (répertoriées dans le tableau suivant) ne sont peut-être pas disponibles dans toutes les régions AWS. Par conséquent, vous devez lancer cette solution dans une région AWS où ces services sont disponibles. Pour connaître la disponibilité la plus récente des services AWS par région, consultez la [liste des services régionaux AWS](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).


|  | ACL Web AWS WAF | AWS Glue | Amazon Athena | Amazon Kinesis Data Firehose | 
| --- | --- | --- | --- | --- | 
|   **Type de point de terminaison**   |  |  |  |  | 
|  CloudFront  |  ✓  |  |  |  | 
|  Application Load Balancer (ALB)  |  ✓  |  |  |  | 
|   **Activer la protection HTTP contre les inondations**   |  |  |  |  | 
|  oui - Analyseur de journaux AWS Lambda  |  |  |  |  ✓  | 
|  oui - Analyseur de journaux Amazon Athena  |  |  ✓  |  ✓  |  ✓  | 
|   **Activer la protection du scanner et de la sonde**   |  |  |  |  | 
|  oui - Analyseur de journaux Amazon Athena  |  |  ✓  |  ✓  |  | 

**Note**  
Si vous `CloudFront` le choisissez comme point de **terminaison**, vous devez déployer la solution dans la région USA Est (Virginie du Nord) (`us-east-1`).

# Cost
<a name="cost"></a>

Vous êtes responsable du coût des services AWS utilisés lors de l'exécution de la solution Security Automations for AWS WAF. Le coût total de fonctionnement de cette solution dépend de la protection activée et de la quantité de données ingérées, stockées et traitées.

Nous vous recommandons de créer un [budget](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-create.html) via [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) pour vous aider à gérer les coûts. Pour plus de détails, consultez la page Web de tarification de chaque service AWS que vous avez utilisé dans cette solution.

Les tableaux suivants présentent des exemples de ventilation des coûts liés à l'exécution de cette solution dans la région de l'est des États-Unis (Virginie du Nord) (à l'exception du niveau gratuit d'AWS). Les prix sont susceptibles d’être modifiés.

 **Exemple 1 : activation de la protection des listes de réputation, de la protection contre les robots malveillants, de l'analyseur de journaux AWS Lambda pour la protection contre les inondations HTTP et de la protection contre les scanners et les sondes** 


| Service AWS | Dimensions/mois | Coût [USD] | 
| --- | --- | --- | 
|  Amazon Data Firehose  |  100 Go  |  \$12,90 \$1  | 
|  Amazon S3  |  100 Go  |  \$12,30 \$1  | 
|  AWS Lambda  |  128 Mo : 3 fonctions, 1 million d'appels et durée moyenne de 500 millisecondes par exécution Lambda 512 Mo : 2 fonctions, 1 million d'appels et durée moyenne de 500 millisecondes par exécution Lambda  |  \$15,40 \$1  | 
|  ACL Web AWS WAF  |  1  |  5,00\$1  | 
|  Règle AWS WAF  |  4  |  4,00\$1  | 
|  Requête AWS WAF  |  1 M  |  0,60\$1  | 
|   **Total**   |  |   **\$120,60 \$1 par mois**   | 

 **Exemple 2 : activer la protection des listes de réputation, la protection contre les robots malveillants, l'analyseur de journal Amazon Athena pour la protection contre les inondations HTTP et la protection contre les scanners et les sondes** 


| Service AWS | Dimensions/mois | Coût [USD] | 
| --- | --- | --- | 
|  Amazon Data Firehose  |  100 Go  |  \$12,90 \$1  | 
|  Amazon S3  |  100 Go  |  \$12,30 \$1  | 
|  AWS Lambda  |  128 Mo : 3 fonctions, 1 million d'appels et durée moyenne de 500 millisecondes par exécution Lambda 512 Mo : 2 fonctions, 7 560 appels et une durée moyenne de 500 millisecondes par exécution Lambda  |  \$11,26 \$1  | 
|  Amazon Athena  |  1,2 million de visites CloudFront d'objets ou 1,2 million de requêtes ALB par jour, ce qui génère un enregistrement de journal d'environ 500 octets par accès ou demande  |  \$14,32 \$1  | 
|  ACL Web AWS WAF  |  1  |  5,00\$1  | 
|  Règle AWS WAF  |  4  |  4,00\$1  | 
|  Requête AWS WAF  |  1 M  |  0,60\$1  | 
|   **Total**   |  |   ****\$120,38 \$1 par mois****   | 

 **Exemple 3 : activer la rétention des adresses IP pour les ensembles d'adresses IP autorisés et refusés** 


| Service AWS | Dimensions/mois | Coût [USD] | 
| --- | --- | --- | 
|  Amazon DynamoDB  |  1 000 écritures et 1 Mo de stockage de données  |  \$10,00 \$1  | 
|  AWS Lambda  |  128 Mo : 1 fonction, 2 000 appels et durée moyenne de 500 millisecondes par exécution Lambda 512 Mo : 1 fonction, 2 000 appels et durée moyenne de 500 millisecondes par exécution Lambda  |  \$10,01 \$1  | 
|  Amazon CloudWatch  |  Événements 2K  |  \$10,00 \$1  | 
|  ACL Web AWS WAF  |  1  |  5,00\$1  | 
|  Règle AWS WAF  |  2  |  2,00\$1  | 
|  Requête WAF WAS  |  1 M  |  0,60\$1  | 
|   **Total**   |  |   ****\$17,61 \$1 par mois****   | 

## Estimation du coût des CloudWatch grumes
<a name="cost-estimate-of-cloudwatch-logs"></a>

Certains services AWS utilisés dans cette solution, tels que Lambda, génèrent des CloudWatch journaux. Ces journaux sont payants[.](https://aws.amazon.com/cloudwatch/pricing/) Nous vous recommandons de supprimer ou d'archiver les journaux pour réduire les coûts. Pour plus de détails sur l'archivage des journaux, reportez-vous à la section [Exportation des données des CloudWatch journaux vers Amazon S3](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) *dans le guide de l'utilisateur Amazon Logs*.

Si vous choisissez d'utiliser l'analyseur de journaux Athena lors de l'installation, cette solution planifie l'exécution d'une requête par rapport à l'AWS WAF ou aux journaux d'accès aux applications de vos compartiments Amazon S3 tels que configurés. Vous êtes facturé en fonction de la quantité de données numérisées par chaque requête. La solution applique le partitionnement aux journaux et aux requêtes afin de minimiser les coûts. Par défaut, la solution déplace les journaux d'accès aux applications de leur emplacement Amazon S3 d'origine vers une structure de dossiers partitionnée. Vous pouvez également conserver l'original, mais le stockage de journaux dupliqués vous sera facturé. Cette solution utilise des [groupes de travail](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html) pour segmenter les charges de travail, et vous pouvez configurer les deux pour gérer l'accès aux requêtes et les coûts. Reportez-vous à la section [Estimation des coûts d'Athéna](#cost-estimate-of-athena) pour un exemple de calcul d'estimation des coûts. Pour plus d'informations, consultez la section [Tarification d'Amazon Athena](https://aws.amazon.com/athena/pricing/).

## Estimation des coûts d'Athéna
<a name="cost-estimate-of-athena"></a>

Si vous utilisez l'option Athena log parser lors de l'exécution des règles **HTTP Flood Protection**, **Scanner & Probe Protection** ou **Bad Bot Protection**, l'utilisation d'Athena vous sera facturée. Par défaut, chaque requête Athena est exécutée toutes les cinq minutes et analyse les données des quatre dernières heures. La solution applique le partitionnement aux journaux et aux requêtes Athena afin de minimiser les coûts. Vous pouvez configurer le nombre d'heures de données analysées par une requête en modifiant la valeur du paramètre du modèle **WAF Block Period**. Cependant, l'augmentation de la quantité de données numérisées augmentera probablement le coût d'Athena.

**Astuce**  
Voici un exemple de calcul du coût CloudFront des journaux :  
En moyenne, chaque CloudFront accès peut générer environ 500 octets de données.  
Si 1,2 million d' CloudFront objets sont touchés par jour, il y aura 200 000 accès (1,2 M/6) par quatre heures, en supposant que les données sont ingérées à un rythme constant. Tenez compte de vos modèles de trafic réels lorsque vous calculez vos coûts.  
 `[500 bytes of data] * [200K hits per four hours] = [an average 100 MB (0.0001TB) data scanned per query]`   
Athena facture 5\$1 par To de données numérisées.  
 `[0.0001 TB] * [$5] = [$0.0005 per query scan]`   
La requête Athena s'exécute toutes les cinq minutes, soit 12 exécutions par heure.  
 `[12 runs] * [24 hours] = [288 runs per day]`   
 `[$0.0005 per query scan] * [288 runs per day] * [30 days] = [$4.32 per month]`   
Les coûts réels varient en fonction des modèles de trafic de votre application. Pour plus d'informations, consultez la section [Tarification d'Amazon Athena](https://aws.amazon.com/athena/pricing/).

# Sécurité
<a name="security"></a>

Lorsque vous créez des systèmes sur l'infrastructure AWS, les responsabilités en matière de sécurité sont partagées entre vous et AWS. Ce [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) réduit votre charge opérationnelle car AWS exploite, gère et contrôle les composants, notamment le système d'exploitation hôte, la couche de virtualisation et la sécurité physique des installations dans lesquelles les services fonctionnent. Pour plus d'informations sur la sécurité AWS, rendez-vous sur [AWS Cloud Security](https://aws.amazon.com/security/).

## Rôles IAM
<a name="iam-roles"></a>

Avec les rôles IAM, vous pouvez attribuer des accès, des politiques et des autorisations granulaires aux services et aux utilisateurs sur le cloud AWS. Cette solution crée des rôles IAM dotés de privilèges minimaux, et ces rôles accordent aux ressources de la solution les autorisations nécessaires.

## Données
<a name="data"></a>

Toutes les données stockées dans les compartiments Amazon S3 et les tables DynamoDB sont cryptées au repos. Les données en transit avec Firehose sont également cryptées.

## Capacités de protection
<a name="protection-capabilities"></a>

Les applications Web sont vulnérables à diverses attaques. Ces attaques incluent des requêtes spécialement conçues pour exploiter une vulnérabilité ou prendre le contrôle d'un serveur, des attaques volumétriques conçues pour détruire un site Web ou des robots malveillants et des scrapers programmés pour récupérer et voler du contenu Web.

Cette solution permet CloudFormation de configurer les règles AWS WAF, y compris les groupes de règles AWS Managed Rules et les règles personnalisées, afin de bloquer les attaques courantes suivantes :
+  **Règles gérées par AWS** : ce service géré fournit une protection contre les vulnérabilités courantes des applications ou contre tout autre trafic indésirable. Cette solution inclut des groupes de [règles de réputation IP gérés par AWS, des groupes](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html) [de règles de base gérés par AWS et des groupes](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) [de règles spécifiques à des cas d'utilisation gérés par](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html) AWS. Vous avez la possibilité de sélectionner un ou plusieurs groupes de règles pour votre ACL Web, dans la limite du quota d'unités de capacité maximale de l'ACL Web (WCU).
+  **Injection SQL** : les attaquants insèrent du code SQL malveillant dans des requêtes Web pour extraire des données de votre base de données. Nous avons conçu cette solution pour bloquer les requêtes Web contenant du code SQL potentiellement malveillant.
+  **XSS** - Les attaquants utilisent les vulnérabilités d'un site Web bénin pour injecter des scripts malveillants de site client dans le navigateur Web d'un utilisateur légitime. Nous l'avons conçu pour inspecter les éléments fréquemment explorés des demandes entrantes afin d'identifier et de bloquer les attaques XSS.
+  **Inondations HTTP :** les serveurs Web et autres ressources dorsales sont exposés au risque d'attaques DDo S, telles que les inondations HTTP. Cette solution invoque automatiquement une règle basée sur le taux lorsque les demandes Web d'un client dépassent un quota configurable. Vous pouvez également appliquer ce quota en traitant les journaux AWS WAF à l'aide d'une fonction Lambda ou d'une requête Athena.
+  **Analyseurs et sondes : des** sources malveillantes analysent et analysent les applications Web connectées à Internet pour détecter les vulnérabilités, en envoyant une série de requêtes qui génèrent des codes d'erreur HTTP 4xx. Vous pouvez utiliser cet historique pour identifier et bloquer les adresses IP sources malveillantes. Cette solution crée une fonction Lambda CloudFront ou une requête Athena qui analyse automatiquement les journaux d'accès ALB, compte le nombre de demandes erronées provenant d'adresses IP sources uniques par minute et met à jour AWS WAF pour bloquer les analyses ultérieures provenant d'adresses ayant atteint le quota d'erreur défini.
+  **Origines connues des attaquants (listes de réputation IP)** - De nombreuses entreprises tiennent à jour des listes de réputation d'adresses IP exploitées par des attaquants connus, tels que des spammeurs, des distributeurs de logiciels malveillants et des botnets. Cette solution exploite les informations contenues dans ces listes de réputation pour vous aider à bloquer les demandes provenant d'adresses IP malveillantes. En outre, cette solution bloque les attaquants identifiés par des groupes de règles de réputation IP sur la base des informations internes d'Amazon sur les menaces.
+  **Bots et scrapers** - Les opérateurs d'applications Web accessibles au public doivent être sûrs que les clients accédant à leur contenu s'identifient correctement et qu'ils utilisent les services comme prévu. Cependant, certains clients automatisés, tels que les scrapeurs de contenu ou les robots malveillants, se présentent sous un faux jour pour contourner les restrictions. Cette solution vous aide à identifier et à bloquer les robots malveillants et les scrapers.

# Quotas
<a name="quotas"></a>

Les quotas de service, également appelés limites, représentent le nombre maximal de ressources ou d'opérations de service pour votre compte AWS.

## Quotas pour les services AWS dans cette solution
<a name="quotas-for-aws-services-in-this-solution"></a>

Assurez-vous de disposer d'un quota suffisant pour chacun des [services mis en œuvre dans cette solution](architecture-details.md#aws-services-in-this-solution). Pour plus d'informations, consultez la section [Quotas de service AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). Pour voir les quotas de service pour tous les services AWS dans la documentation sans changer de page, consultez plutôt les informations de la page [Points de terminaison et quotas du service](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information) dans le PDF.

## Quotas AWS WAF
<a name="aws-waf-quotas"></a>

AWS WAF peut bloquer un maximum de 10 000 plages d'adresses IP en notation CIDR (Classless Inter-Domain Routing) par condition de correspondance IP. Chaque liste créée par cette solution est soumise à ce quota. Pour plus d'informations, consultez la section [Quotas AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html). À partir de la version 3.0, cette solution crée deux ensembles d'adresses IP à associer à chaque règle, un pour IPv4 et un pour IPv6.

AWS WAF autorise un maximum d'une demande par seconde, par compte, par région AWS pour les appels d'API destinés à une personne `Create` ou `Update` à une `Put` action. Si vous effectuez ces appels d'API en dehors de la solution, il se peut que vous rencontriez un problème de limitation de l'API. Pour éviter ce problème, nous vous recommandons d'éviter d'exécuter d'autres applications qui effectuent ces appels d'API dans le même compte et dans la même région où cette solution est déployée.

# Considérations relatives au déploiement
<a name="deployment-considerations"></a>

Les sections suivantes présentent les contraintes et les considérations relatives à la mise en œuvre de cette solution.

## Règles AWS WAF
<a name="aws-waf-rules"></a>

L'ACL Web généré par cette solution est conçue pour offrir une protection complète aux applications Web. La solution fournit un ensemble de règles gérées par AWS et de règles personnalisées que vous pouvez ajouter à l'ACL Web. Pour inclure une règle, choisissez `yes` les paramètres appropriés lors du lancement de la CloudFormation pile. Voir [l'étape 1. Lancez la pile](step-1.-launch-the-stack.md) pour la liste des paramètres.

**Note**  
La out-of-box solution ne prend pas en charge [AWS Firewall Manager](https://aws.amazon.com/firewall-manager). Si vous souhaitez utiliser les règles de Firewall Manager, nous vous recommandons d'appliquer des personnalisations à son [code source](https://github.com/aws-solutions/aws-waf-security-automations).

## Journalisation du trafic Web ACL
<a name="web-acl-traffic-logging"></a>

Si vous créez la pile dans une région AWS autre que l'est des États-Unis (Virginie du Nord) et que vous définissez le **point de terminaison** comme tel`CloudFront`, vous devez définir **Activate HTTP Flood Protection** sur `no` ou`yes - AWS WAF rate based rule`.

Les deux autres options (`yes - AWS Lambda log parser`et`yes - Amazon Athena log parser`) nécessitent l'activation des journaux AWS WAF sur une ACL Web qui s'exécute dans tous les emplacements périphériques AWS, ce qui n'est pas pris en charge en dehors de l'est des États-Unis (Virginie du Nord). Pour plus d'informations sur la journalisation du trafic ACL Web, consultez le [guide du développeur AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html).

## Gestion des composants de demande surdimensionnés
<a name="oversize-handling-for-request-components"></a>

AWS WAF ne prend pas en charge l'inspection du contenu surdimensionné pour détecter le corps, les en-têtes ou les cookies du composant de requête Web. Lorsque vous rédigez une instruction de règle qui inspecte l'un de ces types de composants de demande, vous pouvez choisir l'une des options suivantes pour indiquer à AWS WAF ce qu'il doit faire avec ces demandes :
+  `yes`(continue) - Inspectez le composant de demande normalement conformément aux critères d'inspection des règles. AWS WAF inspecte le contenu du composant de demande qui respecte les limites de taille. Il s'agit de l'option par défaut utilisée dans la solution.
+  `yes - MATCH` - Traiter la demande Web comme correspondant à l'instruction de règle. AWS WAF applique l'action de règle à la demande sans l'évaluer par rapport aux critères d'inspection de la règle. Pour une règle comportant une `Block` action, cela bloque la demande avec le composant surdimensionné.
+  `yes - NO_MATCH`- Traitez la requête Web comme ne correspondant pas à l'énoncé de règle, sans l'évaluer par rapport aux critères d'inspection de la règle. AWS WAF poursuit son inspection de la requête Web en utilisant le reste des règles de l'ACL Web, comme il le ferait pour toute règle non correspondante.

Pour plus d'informations, reportez-vous à la section [Gestion des composants de requêtes Web surdimensionnés dans AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html).

## Déploiements de solutions multiples
<a name="multiple-solution-deployments"></a>

Vous pouvez déployer la solution plusieurs fois dans le même compte et dans la même région. Vous devez utiliser un nom de CloudFormation pile et un nom de compartiment Amazon S3 uniques pour chaque déploiement. Chaque déploiement unique entraîne des frais supplémentaires et est soumis aux quotas [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) par compte et par région.

## Autorisations de rôle minimales pour le déploiement (facultatif)
<a name="minimum-role-permissions"></a>

Les clients peuvent créer manuellement un rôle IAM avec les autorisations minimales requises pour le déploiement :
+ Autorisations WAF

```
        {
            "Effect": "Allow",
            "Action": [
                "wafv2:CreateWebACL",
                "wafv2:UpdateWebACL",
                "wafv2:DeleteWebACL",
                "wafv2:GetWebACL",
                "wafv2:ListWebACLs",
                "wafv2:CreateIPSet",
                "wafv2:UpdateIPSet",
                "wafv2:DeleteIPSet",
                "wafv2:GetIPSet",
                "wafv2:AssociateWebACL",
                "wafv2:DisassociateWebACL",
                "wafv2:PutLoggingConfiguration",
                "wafv2:DeleteLoggingConfiguration",
                "wafv2:ListWebACLs",
                "wafv2:ListIPSets",
                "wafv2:ListTagsForResource"
            ],
            "Resource": [
                "arn:aws:wafv2:*:*:regional/webacl/*",
                "arn:aws:wafv2:*:*:regional/ipset/*",
                "arn:aws:wafv2:*:*:global/webacl/*",
                "arn:aws:wafv2:*:*:global/ipset/*"
            ]
        }
```
+ Autorisations Lambda

```
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:InvokeFunction",
                "lambda:UpdateFunctionCode",
                "lambda:UpdateFunctionConfiguration",
                "lambda:AddPermission",
                "lambda:RemovePermission"
            ],
            "Resource": "arn:aws:lambda:*:*:function:*"
        }
```
+ Autorisations Firehose

```
        {
            "Effect": "Allow",
            "Action": [
                "firehose:CreateDeliveryStream",
                "firehose:DeleteDeliveryStream",
                "firehose:DescribeDeliveryStream",
                "firehose:StartDeliveryStreamEncryption",
                "firehose:StopDeliveryStreamEncryption",
                "firehose:UpdateDestination"
            ],
            "Resource": "arn:aws:firehose:*:*:deliverystream/*"
        }
```
+ Autorisations S3

```
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:DeleteBucketPolicy",
                "s3:GetBucketAcl",
                "s3:GetBucketPolicy",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:PutBucketPolicy",
                "s3:PutBucketPublicAccessBlock",
                "s3:PutBucketVersioning",
                "s3:PutEncryptionConfiguration",
                "s3:PutObject",
                "s3:PutBucketTagging",
                "s3:PutLifecycleConfiguration",
                "s3:AbortMultipartUpload",
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListMultipartUploadParts",
                "s3:PutBucketLogging",
                "s3:GetBucketLogging"
            ],
            "Resource": "arn:aws:s3:::*"
        }
```
+ Autorisations d'Athéna

```
        {
            "Effect": "Allow",
            "Action": [
                "athena:CreateWorkGroup",
                "athena:DeleteWorkGroup",
                "athena:GetWorkGroup",
                "athena:UpdateWorkGroup",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:StopQueryExecution"
            ],
            "Resource": "arn:aws:athena:*:*:workgroup/WAF*"
        }
```
+ Autorisations Glue

```
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateDatabase",
                "glue:DeleteDatabase",
                "glue:GetDatabase",
                "glue:GetDatabases",
                "glue:UpdateDatabase",
                "glue:CreateTable",
                "glue:DeleteTable",
                "glue:GetTable",
                "glue:GetTables",
                "glue:UpdateTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:userDefinedFunction/*"
            ]
        }
```
+ CloudWatch Autorisations relatives aux journaux

```
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:DeleteLogGroup",
                "logs:DeleteLogStream",
                "logs:PutRetentionPolicy",
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:/aws/lambda/*",
                "arn:aws:logs:*:*:log-group:*",
                "arn:aws:logs:*:*:log-group:/aws/kinesisfirehose/*"
            ]
        }
```
+ CloudWatch Autorisations

```
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DeleteDashboards",
                "cloudwatch:GetDashboard",
                "cloudwatch:ListDashboards",
                "cloudwatch:PutDashboard",
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*"
        }
```
+ Autorisations SNS

```
        {
            "Effect": "Allow",
            "Action": [
                "sns:CreateTopic",
                "sns:DeleteTopic",
                "sns:Subscribe",
                "sns:Unsubscribe",
                "sns:SetTopicAttributes"
            ],
            "Resource": "arn:aws:sns:*:*:*"
        }
```
+ Autorisations DynamoDB

```
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:CreateTable",
                "dynamodb:DeleteTable",
                "dynamodb:DescribeTable",
                "dynamodb:PutItem",
                "dynamodb:GetItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/*"
        }
```
+ CloudFormation Autorisations

```
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:UpdateStack",
                "cloudformation:ListStacks"
            ],
            "Resource": "arn:aws:cloudformation:*:*:stack/*/*"
        }
```
+ Autorisations de registre de l'application Service Catalog

```
        {
            "Effect": "Allow",
            "Action": [
                "servicecatalog:CreateApplication",
                "servicecatalog:DeleteApplication",
                "servicecatalog:GetApplication",
                "servicecatalog:TagResource",
                "servicecatalog:CreateAttributeGroup",
                "servicecatalog:DeleteAttributeGroup",
                "servicecatalog:GetAttributeGroup",
                "servicecatalog:AssociateAttributeGroup",
                "servicecatalog:DisassociateAttributeGroup",
                "servicecatalog:AssociateResource",
                "servicecatalog:DisassociateResource"
            ],
            "Resource": "arn:aws:servicecatalog:*:*:*"
        }
```
+ Autorisations X-Ray

```
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords"
            ],
            "Resource": "*"
        }
```
+ Autorisations IAM

```
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListRoles",
                "iam:PassRole",
                "iam:PutRolePolicy"
            ],
            "Resource": "arn:aws:iam::*:role/*"
        }
```
+ EventBridge Autorisations

```
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:RemoveTargets",
                "events:DescribeRule",
                "events:EnableRule",
                "events:ListRules",
                "events:PutRule",
                "events:DeleteRule",
                "events:ListEventSources",
                "events:DescribeEventSource",
                "events:ActivateEventSource",
                "events:DeactivateEventSource"
            ],
            "Resource": "arn:aws:events:*:*:rule/*"
        }
```