

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à.

# Abilita i log di accesso per il tuo Network Load Balancer
<a name="enable-access-logs"></a>

Quando abiliti la registrazione degli accessi per il tuo sistema di bilanciamento del carico, devi specificare il nome del bucket S3 in cui il sistema archivierà i log. Il bucket deve avere una policy di bucket che concede a Elastic Load Balancing l'autorizzazione a scrivere nel bucket.

**Importante**  
I log di accesso vengono creati solo se il load balancer dispone di un listener TLS e contengono informazioni solo sulle richieste TLS.

## Requisiti del bucket
<a name="access-logging-bucket-requirements"></a>

È possibile utilizzare un bucket esistente o creare un bucket specifico per i log di accesso. Il bucket deve soddisfare i seguenti requisiti.

**Requisiti**
+ Il bucket deve trovarsi nella stessa regione del load balancer. Il bucket e il load balancer possono essere di proprietà di account differenti.
+ Il prefisso specificato non deve includere `AWSLogs`. Aggiungiamo la parte del nome del file che inizia con `AWSLogs` dopo il nome del bucket e il prefisso specificato.
+ Il bucket deve disporre di una relativa policy che conceda l'autorizzazione a scrivere i log di accesso nel bucket. Le policy dei bucket sono una raccolta di istruzioni JSON scritte nella sintassi della policy di accesso per definire le autorizzazioni di accesso per il tuo bucket.

**Esempio di policy di bucket**  
Di seguito è riportata una policy di esempio. Per `Resource` elementi, sostituire {{amzn-s3-demo-destination-bucket}} con il nome del bucket S3 per i log di accesso. Assicurati di omettere il {{Prefix/}} se non stai usando un prefisso bucket. Per `aws:SourceAccount`, specificare l'ID del AWS account con il load balancer. Per `aws:SourceArn`, sostituire {{region}} e {{012345678912}} con la regione e l'ID dell'account del load balancer, rispettivamente.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "AWSLogDeliveryWrite",
    "Statement": [
        {
            "Sid": "AWSLogDeliveryAclCheck",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:GetBucketAcl",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": [
                        "{{012345678912}}"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:{{us-east-1}}:{{012345678912}}:*"
                    ]
                }
            }
        },
        {
            "Sid": "AWSLogDeliveryWrite",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-destination-bucket}}/{{Prefix/}}AWSLogs/{{account-ID}}/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control",
                    "aws:SourceAccount": [
                        "{{012345678912}}"
                    ]
                },
                "ArnLike": {
                    "aws:SourceArn": [
                        "arn:aws:logs:{{us-east-1}}:{{012345678912}}:*"
                    ]
                }
            }
        }
    ]
}
```

------<a name="access-log-bucket-encryption"></a>

**Encryption (Crittografia)**

Puoi abilitare la crittografia lato server per il bucket di log di accesso Amazon S3 in uno dei seguenti modi:
+ Amazon S3-Managed Chiavi (SSE-S3)
+ AWS KMS chiavi memorizzate in AWS Key Management Service (SSE-KMS) †

† Con i log di accesso di Network Load Balancer, non è possibile utilizzare AWS chiavi gestite, è necessario utilizzare chiavi gestite dal cliente.

Per ulteriori informazioni, vedere [Specificare la crittografia di Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html) e [Specificare la crittografia lato server con AWS KMS (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-kms-encryption.html) nel *Guida per l'utente di Amazon S3*.

La policy della chiave deve consentire al servizio di crittografare e decrittografare i log. Di seguito è riportata una policy di esempio.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "delivery.logs.amazonaws.com"
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Configurare i log di accesso
<a name="configure-access-logs"></a>

Usa la seguente procedura per configurare i log di accesso per acquisire le informazioni sulle richieste e inviare i file di registro al tuo bucket S3.

------
#### [ Console ]

**Come abilitare il log degli accessi**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Selezionare **Sistemi di bilanciamento del carico** nel riquadro di navigazione.

1. Seleziona il nome del sistema di bilanciamento del carico per aprirne la pagina dei dettagli.

1. Nella scheda **Attributi**, scegli **Modifica**.

1. In **Monitoraggio**, abilita **Log di accesso**.

1. In **URI S3**, inserisci l'URI S3 per i tuoi file di log. L'URI specificato dipende dall'utilizzo di un prefisso.
   + URI con prefisso: s3://{{amzn-s3-demo-logging-bucket}}/{{logging-prefix}}
   + URI senza prefisso: s3://{{amzn-s3-demo-logging-bucket}}

1. Scegli **Save changes** (Salva modifiche).

------
#### [ AWS CLI ]

**Come abilitare il log degli accessi**  
Usa il [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elbv2/modify-load-balancer-attributes.html) comando con i relativi attributi.

```
aws elbv2 modify-load-balancer-attributes \
    --load-balancer-arn {{load-balancer-arn}} \
    --attributes \
        Key=access_logs.s3.enabled,Value=true \
        Key=access_logs.s3.bucket,Value={{amzn-s3-demo-logging-bucket}} \
        Key=access_logs.s3.prefix,Value={{logging-prefix}}
```

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

**Come abilitare il log degli accessi**  
Aggiorna il [AWS::ElasticLoadBalancingV2:LoadBalancer](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticloadbalancingv2-loadbalancer.html) risorsa per includere i relativi attributi.

```
Resources:
  myLoadBalancer:
    Type: 'AWS::ElasticLoadBalancingV2::LoadBalancer'
    Properties:
      Name: my-nlb
      Type: network
      Scheme: internal
      Subnets: 
        - !Ref subnet-AZ1
        - !Ref subnet-AZ2
      SecurityGroups: 
        - !Ref mySecurityGroup
      LoadBalancerAttributes: 
        - Key: "access_logs.s3.enabled"
          Value: "true"
        - Key: "access_logs.s3.bucket"
          Value: "{{amzn-s3-demo-logging-bucket}}"
        - Key: "access_logs.s3.prefix"
          Value: "{{logging-prefix}}"
```

------