

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

# Protezione dei dati in Amazon Kinesis Data Streams
<a name="server-side-encryption"></a>

La crittografia lato server con chiavi AWS Key Management Service (AWS KMS) semplifica il rispetto di severi requisiti di gestione dei dati crittografando i dati inattivi all'interno di Amazon Kinesis Data Streams.

**Nota**  
Se hai bisogno di moduli crittografici convalidati FIPS 140-2 per l'accesso AWS tramite un'interfaccia a riga di comando o un'API, usa un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/).

**Topics**
+ [Cos'è la crittografia lato server per Kinesis Data Streams?](what-is-sse.md)
+ [Costi, regioni e considerazioni sulle prestazioni](costs-performance.md)
+ [Come posso iniziare a usare la crittografia lato server?](getting-started-with-sse.md)
+ [Crea e utilizza chiavi KMS generate dall'utente](creating-using-sse-master-keys.md)
+ [Autorizzazioni per utilizzare le chiavi KMS generate dall'utente](permissions-user-key-KMS.md)
+ [Verifica e risolvi i problemi relativi alle autorizzazioni delle chiavi KMS](sse-troubleshooting.md)
+ [Usa Amazon Kinesis Data Streams con endpoint VPC di interfaccia](vpc.md)

# Cos'è la crittografia lato server per Kinesis Data Streams?
<a name="what-is-sse"></a>

La crittografia lato server è una funzionalità di Amazon Kinesis Data Streams che crittografa automaticamente i dati prima che siano inattivi utilizzando AWS KMS una chiave master del cliente (CMK) specificata dall'utente. I dati vengono crittografati prima di essere scritti sul livello di storage del flusso di e vengono decrittografati dopo essere stati recuperati dallo storage. Di conseguenza, i dati vengono sempre crittografati mentre sono inattivi all'interno del servizio del flusso di dati Kinesis. In questo modo sarà possibile soddisfare severi requisiti normativi e migliorare la sicurezza dei dati.

Grazie alla crittografia lato server, produttori e consumatori del flusso non devono gestire le chiavi master o le operazioni di crittografia. I dati vengono crittografati automaticamente quando entrano ed escono dal servizio Kinesis Data Streams, quindi i dati archiviati vengono crittografati. AWS KMS fornisce tutte le chiavi master utilizzate dalla funzionalità di crittografia lato server. AWS KMS semplifica l'utilizzo di una CMK per Kinesis gestita AWS da, una CMK AWS KMS specificata dall'utente o una chiave master importata nel servizio. AWS KMS 

**Nota**  
La crittografia lato server codifica i dati in entrata solo dopo l'attivazione della crittografia. I dati preesistenti in un flusso non crittografato non vengono crittografati dopo l'attivazione della crittografia lato server. 

Quando si crittografano i flussi di dati e si condivide l'accesso con altri principali, è necessario concedere l'autorizzazione sia nella policy chiave per la chiave che nelle politiche IAM dell' AWS KMS account esterno. Per ulteriori informazioni, consulta [Autorizzazione per gli utenti in altri account a utilizzare una chiave KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html). 

Se hai abilitato la crittografia lato server per un flusso di dati con chiave KMS AWS gestita e desideri condividere l'accesso tramite una politica delle risorse, devi passare all'utilizzo della chiave gestita dal cliente (CMK), come illustrato di seguito: 

![\[Encryption settings interface with options for server-side encryption and customer-managed CMK.\]](http://docs.aws.amazon.com/it_it/streams/latest/dev/images/cmk2.png)


Inoltre, devi consentire alle entità principali di condivisione di accedere alla CMK utilizzando le funzionalità di condivisione tra account di KMS. Ricorda di apportare la modifica anche alle policy IAM per le entità principali di condivisione. Per ulteriori informazioni, consulta [Autorizzazione per gli utenti in altri account a utilizzare una chiave KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html).

# Costi, regioni e considerazioni sulle prestazioni
<a name="costs-performance"></a>

Quando si applica la crittografia lato server, si è soggetti all'utilizzo delle AWS KMS API e ai costi delle chiavi. A differenza delle chiavi master KMS personalizzate, la chiave master del cliente (CMK) `(Default) aws/kinesis` è disponibile gratuitamente. Tuttavia, occorre comunque corrispondere un pagamento per i costi di utilizzo dell'API affrontati da Flusso di dati Amazon Kinesis per tuo conto.

I costi di utilizzo dell'API vengono applicati per ogni CMK, incluse quelle personalizzate. Il flusso di dati Kinesis chiama AWS KMS ogni cinque minuti circa mentre ruota la chiave dati. In un mese di 30 giorni, il costo totale delle chiamate AWS KMS API avviate da uno stream Kinesis dovrebbe essere inferiore a qualche dollaro. Questo costo varia in base al numero di credenziali utente utilizzate dai produttori e dai consumatori di dati, poiché ogni credenziale utente richiede una chiamata API unica a. AWS KMS Quando utilizzi un ruolo IAM per l'autenticazione, ogni chiamata di ruolo presunta ha come risultato credenziali utente univoche. Per risparmiare sui costi di KMS, puoi memorizzare nella cache le credenziali utente restituite dalla chiamata di ruolo presunta. 

Di seguito vengono descritti i costi per risorsa:

**Chiavi**
+ La CMK per Kinesis gestita AWS da (alias `aws/kinesis` =) è gratuita.
+ Le chiavi di KMS generate dall'utente sono soggette ai costi delle chiavi di KMS. Per ulteriori informazioni, consulta [Prezzi di AWS Key Management Service](https://aws.amazon.com/kms/pricing/#Keys).

I costi di utilizzo dell'API vengono applicati per ogni CMK, incluse quelle personalizzate. Il flusso di dati Kinesis chiama KMS ogni cinque minuti circa mentre ruota la chiave dati. In un mese di 30 giorni, il costo totale di chiamate API KMS avviate da un flusso di dati Kinesis dovrebbe pochi dollari. Tieni presente che questo costo varia in base al numero di credenziali utente che utilizzi per i produttori e i consumatori di dati, poiché ogni credenziale utente richiede una chiamata API unica a KMS. AWS Quando utilizzi il ruolo IAM per l'autenticazione, ognuno di essi assume-role-call genererà credenziali utente uniche e potresti voler memorizzare nella cache le credenziali utente restituite da per risparmiare sui costi KMS. assume-role-call

## Utilizzo dell'API KMS
<a name="api-usage"></a>

Per ogni stream crittografato, quando si legge da TIP e si utilizza una singola chiave di account/user accesso IAM tra lettori e scrittori, il servizio Kinesis chiama il AWS KMS servizio circa 12 volte ogni 5 minuti. La mancata lettura dal TIP potrebbe comportare un aumento delle chiamate al AWS KMS servizio. Le richieste API per generare nuove chiavi di crittografia dei dati sono soggette a costi di AWS KMS utilizzo. Per ulteriori informazioni, consulta la sezione relativa ai [Prezzi di AWS Key Management Service: Utilizzo](https://aws.amazon.com/kms/pricing/#Usage).

## Disponibilità della crittografia lato server per regione
<a name="sse-regions"></a>

Attualmente, la crittografia lato server degli stream Kinesis è disponibile in tutte le regioni supportate da Kinesis Data Streams, incluse AWS GovCloud (Stati Uniti occidentali) e le regioni della Cina. Per ulteriori informazioni sulle regioni supportate per Kinesis Data [https://docs.aws.amazon.com/general/latest/gr/akStreams](https://docs.aws.amazon.com/general/latest/gr/ak.html), consulta .html.

## Considerazioni sulle prestazioni
<a name="performance-considerations"></a>

A causa del sovraccarico del servizio di applicazione della crittografia, l'applicazione della crittografia lato server aumenta la latenza tipica di `PutRecord`, `PutRecords` e `GetRecords` di meno di 100μs.

# Come posso iniziare a usare la crittografia lato server?
<a name="getting-started-with-sse"></a>

Il modo più semplice per iniziare a utilizzare la crittografia lato server consiste nell'utilizzare Console di gestione AWS e la chiave di servizio Amazon Kinesis KMS,. `aws/kinesis`

La procedura seguente mostra come abilitare la crittografia lato server per un flusso .

**Abilitazione della crittografia lato server per un flusso Kinesis**

1. Accedi Console di gestione AWS e apri la console [Amazon Kinesis Data Streams](https://console.aws.amazon.com/kinesis/home?region=us-east-1#/streams/list).

1. Crea o seleziona un flusso Kinesis nella Console di gestione AWS.

1. Selezionare la scheda **Details (Dettagli)**.

1. In **Server-side encryption (Crittografia lato server)**, scegliere **Edit (Modifica)**.

1. Se non si desidera utilizzare una chiave master KMS generata dall'utente, accertarsi che la chiave master KMS** (Default) aws/kinesis (Predefinito aws/kinesis)** sia selezionata. Questa è la chiave master KMS generata dal servizio . Selezionare **Enabled** (Abilitato), quindi **Save** (Salva). 
**Nota**  
La chiave master del servizio Kinesis predefinita è gratuita, tuttavia, le chiamate API effettuate da Kinesis al AWS KMS servizio sono soggette ai costi di utilizzo del KMS. 

1. Le transizioni del flusso tramite uno stato **in attesa**. Una volta che il flusso ritorna allo stato **attivo** con crittografia attivata, tutti i dati in entrata scritti nel flusso vengono crittografati utilizzando la chiave master KMS selezionata.

1. **Per disabilitare la crittografia lato server, scegli **Disabilitata** in **Crittografia lato server** in, quindi scegli Salva. Console di gestione AWS**

# Crea e utilizza chiavi KMS generate dall'utente
<a name="creating-using-sse-master-keys"></a>

Questa sezione descrive come creare e utilizzare le proprie chiavi KMS, anziché utilizzare la chiave master amministrata da Amazon Kinesis.

## Crea chiavi KMS generate dall'utente
<a name="creating-sse-master-keys"></a>

Per istruzioni sulla creazione di chiavi personalizzate, consulta [Creating Keys](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) nella *AWS Key Management Service Developer* Guide. Dopo aver creato le chiavi per l'account, il servizio del flusso di dati Kinesis restituisce tali chiavi nell'elenco **Chiave master KMS**.

## Usa chiavi KMS generate dall'utente
<a name="using-sse-master-keys"></a>

Dopo aver applicato le autorizzazioni corrette a consumatori, produttori e amministratori, puoi utilizzare chiavi KMS personalizzate nel tuo AWS account o in un altro account. AWS Tutte le chiavi master di KMS del tuo account vengono visualizzate nell'elenco **KMS Master Key (Chiave master di KMS)** all'interno di Console di gestione AWS.

Per utilizzare le chiavi master KMS personalizzate che si trovano in un altro account, hai bisogno delle autorizzazioni per quelle chiavi. Inoltre, devi specificare l'ARN della chiave master KMS nella casella di input ARN in Console di gestione AWS.

# Autorizzazioni per utilizzare le chiavi KMS generate dall'utente
<a name="permissions-user-key-KMS"></a>

Prima di poter utilizzare la crittografia lato server con una chiave KMS generata dall'utente, è necessario configurare le politiche AWS KMS chiave per consentire la crittografia degli stream e la crittografia e la decrittografia dei record di flusso. Per esempi e ulteriori informazioni sulle AWS KMS autorizzazioni, consulta Autorizzazioni dell'API [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html): Actions and Resources Reference. 

**Nota**  
L'utilizzo della chiave del servizio predefinita per la crittografia non richiede l'applicazione delle autorizzazioni &IAM; personalizzate.

Prima di utilizzare le chiavi master KMS generate dall'utente, assicurati che i producer e i consumer del flusso Kinesis (principali IAM) siano utenti nella policy della chiave master KMS. In caso contrario, le operazioni di lettura e scrittura dai flussi non riusciranno, causando perdite di dati, ritardi delle elaborazioni o blocchi delle applicazioni. Puoi gestire le autorizzazioni relative alle chiavi KMS tramite le policy IAM. Per ulteriori informazioni, consulta [Using IAM Policies](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html) with KMS. AWS 

## Contesto di crittografia Kinesis Data Streams
<a name="sse-kms-encryption-context"></a>

Quando Amazon Kinesis Data AWS KMS Streams chiama per tuo conto, trasmette un AWS KMS contesto di crittografia che può essere utilizzato come condizione per l'autorizzazione nelle politiche e nelle concessioni chiave. Kinesis Data Streams utilizza lo stream ARN come contesto di crittografia in tutte le chiamate. AWS KMS 

```
"encryptionContext": {
    "aws:kinesis:arn": "arn:aws:kinesis:region:account-id:stream/stream-name"
}
```

È possibile utilizzare il contesto di crittografia per identificare l'uso della chiave KMS nei record e nei log di controllo. Viene inoltre visualizzato in testo semplice nei log, ad esempio. AWS CloudTrail

Per limitare l'uso della chiave KMS alle richieste di Kinesis Data Streams per un flusso specifico, utilizza la chiave condition nella policy `kms:EncryptionContext:aws:kinesis:arn` delle chiavi KMS o nella policy IAM.

## Esempi di autorizzazioni di produttore
<a name="example-producer-permissions"></a>

I producer del flusso Kinesis devono disporre dell'autorizzazione `kms:GenerateDataKey`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:GenerateDataKey"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:PutRecord",
            "kinesis:PutRecords"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

## Esempi di autorizzazioni per i consumatori
<a name="example-consumer-permissions"></a>

I consumer del flusso Kinesis devono disporre dell'autorizzazione `kms:Decrypt`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab"
    }, 
    {
        "Effect": "Allow",
        "Action": [
            "kinesis:GetRecords",
            "kinesis:DescribeStream"
        ],
        "Resource": "arn:aws:kinesis:*:123456789012:MyStream"
    }
  ]
}
```

------

Amazon Managed Service per Apache Flink e AWS Lambda usa i ruoli per utilizzare gli stream Kinesis. Assicurati di aggiungere le autorizzazioni `kms:Decrypt` per i ruoli utilizzati da tali consumatori.

## Autorizzazioni di amministratore di Stream
<a name="stream-administrator-permissions"></a>

Gli amministratori del flusso Kinesis devono avere l'autorizzazione per chiamare `kms:List*` e ```kms:DescribeKey*`.

# Verifica e risolvi i problemi relativi alle autorizzazioni delle chiavi KMS
<a name="sse-troubleshooting"></a>

Dopo aver abilitato la crittografia su uno stream Kinesis, ti consigliamo di monitorare il successo delle tue `putRecord` `getRecords` chiamate e delle tue chiamate utilizzando i seguenti parametri Amazon CloudWatch : `putRecords`
+  `PutRecord.Success` 
+  `PutRecords.Success` 
+  `GetRecords.Success` 

Per ulteriori informazioni, consulta [Monitora i flussi di dati Kinesis](monitoring.md)

# Usa Amazon Kinesis Data Streams con endpoint VPC di interfaccia
<a name="vpc"></a>

Puoi utilizzare un endpoint VPC di interfaccia per impedire che il traffico tra Amazon VPC e Kinesis Data Streams esca dalla rete Amazon. Gli endpoint VPC di interfaccia non richiedono un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. Direct Connect Gli endpoint VPC di interfaccia sono basati su una AWS tecnologia che consente la comunicazione privata tra AWS i servizi utilizzando un'interfaccia di rete elastica con private nel IPs tuo Amazon VPC. AWS PrivateLink Per ulteriori informazioni, consulta [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) and [Interface VPC Endpoints ()](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint).AWS PrivateLink 

**Topics**
+ [Usa gli endpoint VPC dell'interfaccia per Kinesis Data Streams](#using-interface-vpc-endpoints)
+ [Controlla l'accesso agli endpoint VPC per Kinesis Data Streams](#interface-vpc-endpoints-policies)
+ [Disponibilità di policy sugli endpoint VPC per Kinesis Data Streams](#availability)

## Usa gli endpoint VPC dell'interfaccia per Kinesis Data Streams
<a name="using-interface-vpc-endpoints"></a>

Per iniziare, non è necessario modificare le impostazioni per gli stream, i produttori o i consumatori. Crea un endpoint VPC di interfaccia per Kinesis Data Streams per avviare il flusso di traffico da e verso le tue risorse Amazon VPC attraverso l'endpoint VPC di interfaccia. Gli endpoint VPC con interfaccia FIPS sono disponibili per le regioni degli Stati Uniti. Per ulteriori informazioni, consulta [Creazione di un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint).

Amazon Kinesis Producer Library (KPL) e Kinesis Consumer Library (KCL) richiamano servizi come AWS Amazon e Amazon CloudWatch DynamoDB utilizzando endpoint pubblici o endpoint VPC con interfaccia privata, a seconda di quale siano in uso. Ad esempio, se l'applicazione KCL è in esecuzione in un VPC con interfaccia DynamoDB con endpoint VPC abilitati, le chiamate tra DynamoDB e l'applicazione KCL fluiscono attraverso l'endpoint VPC dell'interfaccia.

## Controlla l'accesso agli endpoint VPC per Kinesis Data Streams
<a name="interface-vpc-endpoints-policies"></a>

Le policy degli endpoint VPC consentono di controllare l'accesso allegando una policy a un endpoint VPC o utilizzando campi aggiuntivi in una policy allegata a un utente, gruppo o ruolo IAM per limitare l'accesso solo tramite l'endpoint VPC specificato. Utilizza queste policy per limitare l'accesso a flussi specifici a un endpoint VPC specifico quando le usi insieme alle policy IAM per concedere l'accesso solo alle azioni del flusso di dati Kinesis attraverso l'endpoint VPC specificato.

Di seguito sono riportati esempi di policy di endpoint per l'accesso ai flussi di dati Kinesis.
+ **Esempio di policy VPC: accesso in sola lettura:** questa policy di esempio può essere collegata a un endpoint VPC. Per ulteriori informazioni, consulta [Controllo dell'accesso alle risorse VPC di Amazon](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_IAM.html). Limita le operazioni solo all'elenco e alla descrizione di un flusso di dati Kinesis attraverso un endpoint VPC a cui è collegato.

  ```
  {
    "Statement": [
      {
        "Sid": "ReadOnly",
        "Principal": "*",
        "Action": [
          "kinesis:List*",
          "kinesis:Describe*"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```
+ **Esempio di policy VPC: limitare l'accesso a un determinato flusso di dati Kinesis** – Questa policy di esempio può essere collegata a un endpoint VPC. Limita l'accesso a un flusso di dati specifico tramite l'endpoint VPC a cui è collegato.

  ```
  {
    "Statement": [
      {
        "Sid": "AccessToSpecificDataStream",
        "Principal": "*",
        "Action": "kinesis:*",
        "Effect": "Allow",
        "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream"
      }
    ]
  }
  ```
+ **Esempio di policy IAM: limita l'accesso a un flusso specifico solo da un endpoint VPC** specifico: questa policy di esempio può essere associata a un utente, ruolo o gruppo IAM. Limita l'accesso a un flusso di dati Kinesis specificato solo da un endpoint VPC specificato.

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

****  

  ```
  {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
        {
           "Sid": "AccessFromSpecificEndpoint",
           "Action": "kinesis:*",
           "Effect": "Deny",
           "Resource": "arn:aws:kinesis:us-east-1:123456789012:stream/MyStream",
           "Condition": { "StringNotEquals" : { "aws:sourceVpce": "vpce-11aa22bb" } }
        }
     ]
  }
  ```

------

## Disponibilità di policy sugli endpoint VPC per Kinesis Data Streams
<a name="availability"></a>

Gli endpoint VPC con interfaccia Kinesis Data Streams con policy sono supportati nelle seguenti regioni: 
+ Europa (Parigi)
+ Europa (Irlanda)
+ Stati Uniti orientali (Virginia settentrionale)
+ Europa (Stoccolma)
+ Stati Uniti orientali (Ohio)
+ Europa (Francoforte)
+ Sud America (San Paolo)
+ Europa (Londra)
+ Asia Pacifico (Tokyo)
+ Stati Uniti occidentali (California settentrionale)
+ Asia Pacifico (Singapore)
+ Asia Pacifico (Sydney)
+ Cina (Pechino)
+ Cina (Ningxia)
+ Asia Pacifico (Hong Kong)
+ Medio Oriente (Bahrein)
+ Medio Oriente (Emirati Arabi Uniti)
+ Europa (Milano)
+ Africa (Città del Capo)
+ Asia Pacifico (Mumbai)
+ Asia Pacifico (Seul)
+ Canada (Centrale)
+ Stati Uniti occidentali (Oregon) tranne usw2-az4
+ AWS GovCloud (Stati Uniti orientali)
+ AWS GovCloud (Stati Uniti occidentali)
+ Asia Pacifico (Osaka)
+ Europa (Zurigo)
+ Asia Pacifico (Hyderabad)