

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Pianifica la tua implementazione
<a name="plan-your-deployment"></a>

Questa sezione descrive i [costi](cost.md), la [sicurezza](security.md), le [quote](quotas.md) e altre considerazioni prima di implementare la soluzione.

## Regioni AWS supportate
<a name="supported-aws-regions"></a>

A seconda dei valori dei parametri di input del modello definiti, questa soluzione richiede risorse diverse. Queste risorse (elencate nella tabella seguente) potrebbero non essere disponibili in tutte le regioni AWS. Pertanto, è necessario avviare questa soluzione in una regione AWS in cui questi servizi sono disponibili. Per la disponibilità più aggiornata dei servizi AWS per regione, consulta l'[AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).


|  | ACL Web AWS WAF | AWS Glue | Amazon Athena | Amazon Kinesis Data Firehose | 
| --- | --- | --- | --- | --- | 
|   **Endpoint type (Tipo di endpoint)**   |  |  |  |  | 
|  CloudFront  |  ✓  |  |  |  | 
|  Application Load Balancer (ALB)  |  ✓  |  |  |  | 
|   **Attiva la protezione HTTP Flood**   |  |  |  |  | 
|  sì - analizzatore di log AWS Lambda  |  |  |  |  ✓  | 
|  sì - Analizzatore di log Amazon Athena  |  |  ✓  |  ✓  |  ✓  | 
|   **Attiva Scanner & Probe Protection**   |  |  |  |  | 
|  sì - Analizzatore di log Amazon Athena  |  |  ✓  |  ✓  |  | 

**Nota**  
Se scegli `CloudFront` come **endpoint**, devi distribuire la soluzione nella regione Stati Uniti orientali (Virginia settentrionale) (). `us-east-1`

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

Sei responsabile del costo dei servizi AWS utilizzati durante l'esecuzione della soluzione Security Automations for AWS WAF. Il costo totale per l'esecuzione di questa soluzione dipende dalla protezione attivata e dalla quantità di dati acquisiti, archiviati ed elaborati.

Ti consigliamo di creare un [budget](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-create.html) tramite [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) per gestire i costi. Per tutti i dettagli, consulta la pagina web dei prezzi per ogni servizio AWS utilizzato in questa soluzione.

Le tabelle seguenti sono esempi di suddivisione dei costi per l'esecuzione di questa soluzione nella regione Stati Uniti orientali (Virginia settentrionale) (escluso AWS Free Tier). I prezzi sono soggetti a modifiche.

 **Esempio 1: attivazione di Reputation List Protection, Bad Bot Protection, AWS Lambda Log Parser per HTTP Flood Protection e Scanner & Probe Protection** 


| Servizio AWS | Dimensioni/mese | Costo [USD] | 
| --- | --- | --- | 
|  Amazon Data Firehose  |  100 GB  |  \$1\$12,90  | 
|  Simple Storage Service (Amazon S3)  |  100 GB  |  \$12,30 \$1  | 
|  AWS Lambda  |  128 MB: 3 funzioni, 1 milione di chiamate e una durata media di 500 millisecondi per esecuzione Lambda 512 MB: 2 funzioni, 1 milione di chiamate e una durata media di 500 millisecondi per esecuzione Lambda  |  \$1\$15,40  | 
|  ACL Web AWS WAF  |  1  |  \$15,00  | 
|  Regola AWS WAF  |  4  |  \$14,00  | 
|  Richiesta AWS WAF  |  1 milione  |  0,60 USD  | 
|   **Totale**   |  |   **\$120,60 \$1 al mese**   | 

 **Esempio 2: attivazione di Reputation List Protection, Bad Bot Protection, Amazon Athena Log Parser per HTTP Flood Protection e Scanner & Probe Protection** 


| Servizio AWS | Dimensioni/mese | Costo [USD] | 
| --- | --- | --- | 
|  Amazon Data Firehose  |  100 GB  |  \$1\$12,90  | 
|  Simple Storage Service (Amazon S3)  |  100 GB  |  \$12,30 \$1  | 
|  AWS Lambda  |  128 MB: 3 funzioni, 1 milione di chiamate e una durata media di 500 millisecondi per esecuzione Lambda 512 MB: 2 funzioni, 7560 chiamate e una durata media di 500 millisecondi per esecuzione Lambda  |  \$1\$11,26  | 
|  Amazon Athena  |  1,2 milioni di accessi a CloudFront oggetti o 1,2 milioni di richieste ALB al giorno, con conseguente generazione di un record di log di \$1500 byte per hit o richiesta  |  \$1\$14,32  | 
|  ACL Web AWS WAF  |  1  |  \$15,00  | 
|  Regola AWS WAF  |  4  |  \$14,00  | 
|  Richiesta AWS WAF  |  1 milione  |  0,60 USD  | 
|   **Totale**   |  |   **\$120,38 \$1** **al mese**   | 

 **Esempio 3: attivazione della conservazione degli IP per i set IP consentiti e negati** 


| Servizio AWS | Dimensioni/mese | Costo [USD] | 
| --- | --- | --- | 
|  Amazon DynamoDB  |  1.000 scritture e 1 MB di spazio di archiviazione dati  |  \$1\$10,00  | 
|  AWS Lambda  |  128 MB: 1 funzione, 2.000 chiamate e durata media di 500 millisecondi per esecuzione Lambda 512 MB: 1 funzione, 2.000 chiamate e durata media di 500 millisecondi per esecuzione Lambda  |  \$1\$10,01  | 
|  Amazon CloudWatch  |  Eventi 2K  |  \$1\$10,00  | 
|  ACL Web AWS WAF  |  1  |  \$15,00  | 
|  Regola AWS WAF  |  2  |  \$12,00  | 
|  Richiesta WAS WAF  |  1 milione  |  \$10,60  | 
|   **Totale**   |  |   **\$17,61 \$1** **al mese**   | 

## Stima dei costi dei registri CloudWatch
<a name="cost-estimate-of-cloudwatch-logs"></a>

Alcuni servizi AWS utilizzati in questa soluzione, come Lambda, generano CloudWatch log. [Questi log sono a pagamento.](https://aws.amazon.com/cloudwatch/pricing/) Si consiglia di eliminare o archiviare i registri per ridurre i costi. Per informazioni dettagliate sull'archivio dei log, consulta [Esportazione dei dati di log in Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/S3Export.html) S3 nella * CloudWatch Amazon Logs* User Guide.

Se scegli di utilizzare il parser di log Athena durante l'installazione, questa soluzione pianifica l'esecuzione di una query sui log di accesso AWS WAF o alle applicazioni nei tuoi bucket Amazon S3 in base alla configurazione. I costi vengono addebitati in base alla quantità di dati analizzati da ciascuna query. La soluzione applica il partizionamento a log e query per ridurre al minimo i costi. Per impostazione predefinita, la soluzione sposta i log di accesso alle applicazioni dalla posizione originale di Amazon S3 a una struttura di cartelle partizionata. Puoi anche conservare l'originale, ma ti verrà addebitato un costo per l'archiviazione duplicata dei log. Questa soluzione utilizza [gruppi di lavoro per segmentare i](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html) carichi di lavoro ed è possibile configurarli entrambi per gestire l'accesso alle query e i costi. Per un esempio [di calcolo della stima dei costi, fare riferimento a Stima dei costi di Athena](#cost-estimate-of-athena). Per ulteriori informazioni, consulta la pagina dei prezzi di [Amazon Athena](https://aws.amazon.com/athena/pricing/).

## Stima dei costi di Athena
<a name="cost-estimate-of-athena"></a>

Se utilizzi l'opzione Athena log parser mentre esegui le regole **HTTP Flood Protection, Scanner & Probe Protection** **o **Bad Bot** Protection**, ti verrà addebitato l'utilizzo di Athena. Per impostazione predefinita, ogni query Athena viene eseguita ogni cinque minuti e analizza i dati delle ultime quattro ore. La soluzione applica il partizionamento ai log e alle query Athena per ridurre al minimo i costi. **È possibile configurare il numero di ore di dati analizzate da una query modificando il valore del parametro del modello WAF Block Period.** Tuttavia, l'aumento della quantità di dati scansionati probabilmente aumenterà il costo di Athena.

**Suggerimento**  
Di seguito è riportato un esempio di calcolo del costo CloudFront dei log:  
In media, ogni CloudFront hit può generare circa 500 byte di dati.  
Se ogni giorno vengono visitati 1,2 milioni di CloudFront oggetti, si verificheranno 200.000 accessi (1,2 M/6) ogni quattro ore, supponendo che i dati vengano acquisiti a una velocità costante. Considerate i vostri modelli di traffico effettivi quando calcolate i costi.  
 `[500 bytes of data] * [200K hits per four hours] = [an average 100 MB (0.0001TB) data scanned per query]`   
Athena addebita 5,00 USD per TB di dati scansionati.  
 `[0.0001 TB] * [$5] = [$0.0005 per query scan]`   
La query Athena viene eseguita ogni cinque minuti, ovvero 12 esecuzioni all'ora.  
 `[12 runs] * [24 hours] = [288 runs per day]`   
 `[$0.0005 per query scan] * [288 runs per day] * [30 days] = [$4.32 per month]`   
I costi effettivi variano a seconda dei modelli di traffico dell'applicazione. Per ulteriori informazioni, consulta la pagina dei prezzi di [Amazon Athena](https://aws.amazon.com/athena/pricing/).

# Sicurezza
<a name="security"></a>

Quando crei sistemi sull'infrastruttura AWS, le responsabilità di sicurezza vengono condivise tra te e AWS. Questo [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) riduce il carico operativo perché AWS gestisce, gestisce e controlla i componenti, tra cui il sistema operativo host, il livello di virtualizzazione e la sicurezza fisica delle strutture in cui operano i servizi. Per ulteriori informazioni sulla sicurezza di AWS, visita [AWS Cloud Security](https://aws.amazon.com/security/).

## Ruoli IAM
<a name="iam-roles"></a>

Con i ruoli IAM, puoi assegnare accesso, policy e autorizzazioni granulari a servizi e utenti sul cloud AWS. Questa soluzione crea ruoli IAM con privilegi minimi e questi ruoli garantiscono alle risorse della soluzione le autorizzazioni necessarie.

## Dati
<a name="data"></a>

Tutti i dati archiviati nei bucket Amazon S3 e nelle tabelle DynamoDB sono crittografati a riposo. Anche i dati in transito con Firehose sono crittografati.

## Funzionalità di protezione
<a name="protection-capabilities"></a>

Le applicazioni Web sono vulnerabili a una varietà di attacchi. Questi attacchi includono richieste appositamente predisposte per sfruttare una vulnerabilità o assumere il controllo di un server, attacchi volumetrici progettati per disattivare un sito Web o bot e scraper dannosi programmati per acquisire e rubare contenuti Web.

Questa soluzione utilizza CloudFormation la configurazione delle regole AWS WAF, inclusi i gruppi di regole AWS Managed Rules e le regole personalizzate, per bloccare i seguenti attacchi comuni:
+  **AWS Managed Rules**: questo servizio gestito fornisce protezione contro le vulnerabilità comuni delle applicazioni o altro traffico indesiderato. Questa soluzione include gruppi di regole di [reputazione AWS Managed IP, gruppi di regole](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html) di [base AWS Managed e gruppi di regole](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) [AWS Managed specifici per casi d'uso](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html). Hai la possibilità di selezionare uno o più gruppi di regole per il tuo ACL web, fino alla quota massima di unità di capacità Web ACL (WCU).
+  **SQL injection**: gli aggressori inseriscono codice SQL dannoso nelle richieste Web per estrarre dati dal database. Abbiamo progettato questa soluzione per bloccare le richieste web che contengono codice SQL potenzialmente dannoso.
+  **XSS** - Gli aggressori sfruttano le vulnerabilità di un sito Web innocuo come veicolo per iniettare script dannosi del sito client nel browser Web di un utente legittimo. L'abbiamo progettato per esaminare gli elementi più comuni delle richieste in arrivo per identificare e bloccare gli attacchi XSS.
+  **Inondazioni HTTP**: i server Web e altre risorse di backend sono a rischio di attacchi DDo S, come i flood HTTP. Questa soluzione richiama automaticamente una regola basata sulla velocità quando le richieste Web da un client superano una quota configurabile. In alternativa, puoi applicare questa quota elaborando i log di AWS WAF utilizzando una funzione Lambda o una query Athena.
+  **Scanner e sonde: fonti dannose scansionano** e controllano le vulnerabilità delle applicazioni Web con accesso a Internet, inviando una serie di richieste che generano codici di errore HTTP 4xx. È possibile utilizzare questa cronologia per identificare e bloccare gli indirizzi IP di origine dannosi. Questa soluzione crea una funzione Lambda CloudFront o una query Athena che analizza automaticamente i log di accesso ALB, conta il numero di richieste errate provenienti da indirizzi IP di origine univoci al minuto e aggiorna AWS WAF per bloccare ulteriori scansioni da indirizzi che hanno raggiunto la quota di errore definita.
+  **Origini note degli aggressori (elenchi di reputazione IP)**: molte organizzazioni mantengono elenchi di reputazione degli indirizzi IP gestiti da aggressori noti, come spammer, distributori di malware e botnet. Questa soluzione sfrutta le informazioni contenute in questi elenchi di reputazione per aiutarti a bloccare le richieste provenienti da indirizzi IP dannosi. Inoltre, questa soluzione blocca gli aggressori identificati da gruppi di regole di reputazione IP basati sull'intelligence interna delle minacce di Amazon.
+  **Bot e scraper**: gli operatori di applicazioni Web accessibili al pubblico devono avere la certezza che i clienti che accedono ai loro contenuti si identifichino con precisione e utilizzino i servizi come previsto. Tuttavia, alcuni client automatizzati, come gli scraper di contenuti o i bot pericolosi, si presentano in modo errato per aggirare le restrizioni. Questa soluzione consente di identificare e bloccare bot e scraper dannosi.

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

Le quote di servizio, anche denominate limiti, rappresentano il numero massimo di risorse di servizio o operazioni per l'account AWS.

## Quote per i servizi AWS in questa soluzione
<a name="quotas-for-aws-services-in-this-solution"></a>

Assicurati di disporre di una quota sufficiente per ciascuno dei [servizi implementati in questa soluzione](architecture-details.md#aws-services-in-this-solution). Per ulteriori informazioni, consulta le [quote dei servizi AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). Per visualizzare le quote di servizio per tutti i servizi AWS nella documentazione senza cambiare pagina, visualizza invece le informazioni nella pagina [Endpoint e quote del servizio](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information) nel PDF.

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

AWS WAF può bloccare un massimo di 10.000 intervalli di indirizzi IP in notazione CIDR (Classless Inter-Domain Routing) per condizione di corrispondenza IP. Ogni elenco creato da questa soluzione è soggetto a questa quota. Per ulteriori informazioni, consulta le quote [AWS WAF.](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) A partire dalla versione 3.0, questa soluzione crea due set IP da allegare a ciascuna regola, uno per IPv4 e uno per. IPv6

AWS WAF consente un massimo di una richiesta al secondo, per account, per regione AWS per chiamate API a qualsiasi individuo `Create` o `Update` azione. `Put` Se effettui queste chiamate API al di fuori della soluzione, potresti riscontrare un problema di limitazione delle API. Per evitare il problema, ti consigliamo di evitare di eseguire altre applicazioni che effettuano queste chiamate API nello stesso account e nella stessa regione in cui è implementata questa soluzione.

# Considerazioni sull'implementazione
<a name="deployment-considerations"></a>

Le seguenti sezioni forniscono vincoli e considerazioni per l'implementazione di questa soluzione.

## Regole AWS WAF
<a name="aws-waf-rules"></a>

L'ACL Web generato da questa soluzione è progettato per offrire una protezione completa per le applicazioni Web. La soluzione fornisce un set di AWS Managed Rules e regole personalizzate che puoi aggiungere all'ACL Web. Per includere una regola, scegli `yes` i parametri pertinenti all'avvio dello CloudFormation stack. Vedi [Fase 1. Avvia lo stack](step-1.-launch-the-stack.md) per l'elenco dei parametri.

**Nota**  
La out-of-box soluzione non supporta [AWS Firewall Manager](https://aws.amazon.com/firewall-manager). Se desideri utilizzare le regole di Firewall Manager, ti consigliamo di applicare personalizzazioni al relativo [codice sorgente.](https://github.com/aws-solutions/aws-waf-security-automations)

## Registrazione del traffico Web ACL
<a name="web-acl-traffic-logging"></a>

Se crei lo stack in una regione AWS diversa dagli Stati Uniti orientali (Virginia settentrionale) e imposti l'**endpoint** come`CloudFront`, devi impostare **Activate HTTP Flood** Protection su o. `no` `yes - AWS WAF rate based rule`

Le altre due opzioni (`yes - AWS Lambda log parser`e`yes - Amazon Athena log parser`) richiedono l'attivazione dei log AWS WAF su un ACL Web che viene eseguito in tutte le edge location AWS, e questa operazione non è supportata al di fuori degli Stati Uniti orientali (Virginia settentrionale). Per ulteriori informazioni sulla registrazione del traffico Web ACL, consulta la guida per sviluppatori [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html).

## Gestione sovradimensionata dei componenti della richiesta
<a name="oversize-handling-for-request-components"></a>

AWS WAF non supporta l'ispezione di contenuti di grandi dimensioni per il corpo, le intestazioni o i cookie del componente di richiesta Web. Quando scrivi una dichiarazione di regola che esamina uno di questi tipi di componenti di richiesta, puoi scegliere una di queste opzioni per dire ad AWS WAF cosa fare con queste richieste:
+  `yes`(continua) - Ispeziona normalmente il componente della richiesta in base ai criteri di ispezione delle regole. AWS WAF ispeziona i contenuti dei componenti della richiesta che rientrano nei limiti di dimensione. Questa è l'opzione predefinita utilizzata nella soluzione.
+  `yes - MATCH`: considera la richiesta Web come corrispondente all'istruzione regola. AWS WAF applica l'azione della regola alla richiesta senza valutarla rispetto ai criteri di ispezione della regola. Per una regola con `Block` azione, questo blocca la richiesta con il componente sovradimensionato.
+  `yes - NO_MATCH`- Considera la richiesta web come se non corrispondesse alla dichiarazione della regola, senza valutarla rispetto ai criteri di ispezione della regola. AWS WAF continua l'ispezione della richiesta Web utilizzando il resto delle regole nell'ACL Web, come farebbe per qualsiasi regola non corrispondente.

Per ulteriori informazioni, consulta [Gestione di componenti di richieste Web di grandi dimensioni in AWS](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) WAF.

## Implementazioni di più soluzioni
<a name="multiple-solution-deployments"></a>

È possibile distribuire la soluzione più volte nello stesso account e nella stessa regione. È necessario utilizzare un nome CloudFormation stack univoco e un nome di bucket Amazon S3 per ogni distribuzione. Ogni implementazione unica comporta costi aggiuntivi ed è soggetta alle quote [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) per account e per regione.

## Autorizzazioni minime di ruolo per la distribuzione (facoltative)
<a name="minimum-role-permissions"></a>

I clienti possono creare manualmente un ruolo IAM con le autorizzazioni minime richieste per la distribuzione:
+ Autorizzazioni 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/*"
            ]
        }
```
+ Autorizzazioni 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:*"
        }
```
+ Autorizzazioni Firehose

```
        {
            "Effect": "Allow",
            "Action": [
                "firehose:CreateDeliveryStream",
                "firehose:DeleteDeliveryStream",
                "firehose:DescribeDeliveryStream",
                "firehose:StartDeliveryStreamEncryption",
                "firehose:StopDeliveryStreamEncryption",
                "firehose:UpdateDestination"
            ],
            "Resource": "arn:aws:firehose:*:*:deliverystream/*"
        }
```
+ Autorizzazioni 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:::*"
        }
```
+ Autorizzazioni Athena

```
        {
            "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*"
        }
```
+ Autorizzazioni 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 Registra le autorizzazioni

```
        {
            "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 Autorizzazioni

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

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

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

```
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:UpdateStack",
                "cloudformation:ListStacks"
            ],
            "Resource": "arn:aws:cloudformation:*:*:stack/*/*"
        }
```
+ Autorizzazioni del registro dell'app 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:*:*:*"
        }
```
+ Autorizzazioni X-Ray

```
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords"
            ],
            "Resource": "*"
        }
```
+ Autorizzazioni 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 Autorizzazioni

```
        {
            "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/*"
        }
```