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à.
Operazioni relative alle policy di protezione dei dati in Amazon SNS
Importante
La protezione dei dati dei messaggi di Amazon SNS non è più disponibile per i nuovi clienti. Per ulteriori informazioni e indicazioni sulle alternative, consulta la modifica della disponibilità della protezione dei dati dei messaggi di Amazon SNS.
Di seguito sono riportati alcuni esempi di policy di protezione dei dati che puoi utilizzare per controllare e rifiutare i dati sensibili. Per un tutorial completo che include un'applicazione di esempio, consulta il post di blog relativo alla presentazione della protezione dei dati dei messaggi per Amazon SNS
Operazione di verifica
L'operazione Audit campiona i messaggi in entrata degli argomenti e registra i risultati dei dati sensibili in una AWS destinazione. La frequenza di campionamento può essere un numero intero compreso tra 0 e 99. Questa operazione richiede uno dei seguenti tipi di destinazione della registrazione:
-
FindingsDestination— La destinazione di registrazione quando l'argomento Amazon SNS trova dati sensibili nel payload.
-
NoFindingsDestination— La destinazione di registrazione quando l'argomento Amazon SNS non trova dati sensibili nel payload.
È possibile utilizzare quanto segue Servizi AWS in ciascuno dei seguenti tipi di destinazione del registro:
-
Amazon CloudWatch Logs (opzionale):
LogGroupdeve essere nella regione dell'argomento e il nome deve iniziare con/aws/vendedlogs/. -
(Facoltativo):
DeliveryStreamdeve essere nella regione dell'argomento e avere Direct PUT come fonte del flusso di consegna. Per ulteriori dettagli, consulta Fonte, destinazione e nome nella Amazon Data Firehose Developer Guide. -
Amazon S3 (facoltativo): il nome di un bucket Amazon S3. Sono necessarie azioni aggiuntive per utilizzare il bucket Amazon S3 con SSE-KMS crittografia abilitata.
{ "Operation": { "Audit": { "SampleRate": "99", "FindingsDestination": { "CloudWatchLogs": { "LogGroup": "/aws/vendedlogs/log-group-name" }, "Firehose": { "DeliveryStream": "delivery-stream-name" }, "S3": { "Bucket": "bucket-name" } }, "NoFindingsDestination": { "CloudWatchLogs": { "LogGroup": "/aws/vendedlogs/log-group-name" }, "Firehose": { "DeliveryStream": "delivery-stream-name" }, "S3": { "Bucket": "bucket-name" } } } } }
Autorizzazioni richieste per specificare le destinazioni della registrazione
Quando specifichi le destinazioni di registrazione nella policy di protezione dei dati, devi aggiungere le seguenti autorizzazioni alla policy di identità IAM del principale IAM che chiama l'API PutDataProtectionPolicy di Amazon SNS o l'API CreateTopic con il parametro --data-protection-policy.
| Destinazione della verifica | Autorizzazione IAM |
|---|---|
| Predefinita | logs:CreateLogDelivery logs:GetLogDelivery logs:UpdateLogDelivery logs:DeleteLogDelivery logs:ListLogDeliveries |
| CloudWatchLogs | logs:PutResourcePolicy logs:DescribeResourcePolicies logs:DescribeLogGroups |
| Firehose | iam:CreateServiceLinkedRole firehose:TagDeliveryStream |
| S3 | s3:PutBucketPolicy s3:GetBucketPolicy |
Politica chiave richiesta per l'uso con SSE-KMS
Se utilizzi un bucket Amazon S3 come destinazione di log, puoi proteggere i dati nel bucket abilitando la Server-Side crittografia con Amazon S3-Managed Keys (SSE-S3) o la Server-Side crittografia con AWS KMS keys (). SSE-KMS Per ulteriori informazioni, consulta Protezione dei dati con la crittografia lato server nella Guida per l’utente di Amazon S3.
Se lo desideri SSE-S3, non è richiesta alcuna configurazione aggiuntiva. Amazon S3 gestisce la chiave di crittografia.
Se si sceglie SSE-KMS, è necessario utilizzare una chiave gestita dal cliente. Devi aggiornare la policy delle chiavi per la chiave gestita dal cliente in modo che l'account di consegna del log possa scrivere nel bucket S3. Per ulteriori informazioni sulla policy relativa alle chiavi da utilizzare con SSE-KMS, consulta la crittografia lato server a bucket di Amazon S3 nella Amazon CloudWatch Logs User Guide.
Esempi di registro della destinazione della verifica
Nell'esempio seguente, callerPrincipal viene utilizzato per identificare l'origine del contenuto sensibile e messageID viene utilizzato come un riferimento per eseguire il controllo in base alla risposta dell'API Publish.
{ "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "auditTimestamp": "2022-05-12T2:10:44Z", "callerPrincipal": "arn:aws:iam::123412341234:role/Publisher", "resourceArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic", "dataIdentifiers": [ { "name": "Name", "count": 1, "detections": [ { "start": 1, "end": 2 } ] }, { "name": "PhoneNumber", "count": 2, "detections": [ { "start": 3, "end": 4 }, { "start": 5, "end": 6 } ] } ] }
Parametri dell'operazione di verifica
Quando un'operazione di controllo ha specificato la FindingsDestination o la NoFindingsDestination proprietà, anche i proprietari dell'argomento ricevono CloudWatch MessagesWithFindings delle MessagesWithNoFindings metriche.
De-identify operazione
L'De-identifyoperazione maschera o oscura i dati sensibili dei messaggi pubblicati o recapitati. Questa operazione è disponibile per i messaggi in entrata e richiede uno dei seguenti tipi di configurazione:
-
MaskConfig— Maschera utilizzando un carattere supportato dalla seguente tabella. Ad esempio, ssn:
123-45-6789diventa ssn:###########.{ "Operation": { "Deidentify": { "MaskConfig": { "MaskWithCharacter": "#" } } }Carattere di mascheramento supportato Nome * Asterisco A-Z, a-z e 0-9 Carattere alfanumerico Spazio ! Punto esclamativo $ Simbolo del dollaro % Segno percentuale & E commerciale () Parentesi
+ Segno più , Virgola - Trattino . Periodo /\ Barra, barra rovesciata
# Segno numerico : Due punti ; Punto e virgola =, <> Uguale a, minore di o maggiore di
@ Chiocciola [] Parentesi ^ Simbolo dell'accento circonflesso _ Carattere di sottolineatura ` Accento grave | Barra verticale ~ Simbolo della tilde -
RedactConfig— Oscura rimuovendo completamente i dati. Ad esempio, ssn:
123-45-6789diventa ssn:.{ "Operation": { "Deidentify": { "RedactConfig": {} } }
In un messaggio in entrata, i dati sensibili vengono deidentificati dopo l'operazione di verifica e il chiamante dell'API SNS:Publish riceve il seguente errore di parametro non valido quando l'intero messaggio è sensibile.
Error code: AuthorizationError ...
Operazione di rifiuto
L'operazione Deny (Rifiuto) interrompe l'esecuzione della richiesta API Publish o la consegna del messaggio se il messaggio contiene dati sensibili. L'oggetto dell'operazione Deny (Rifiuto) è vuoto in quanto non richiede una configurazione aggiuntiva.
"Operation": { "Deny": {} }
In un messaggio in entrata, il chiamante dell'API SNS:Publish riceve un errore di autorizzazione.
Error code: AuthorizationError ...
In un messaggio in uscita, l'argomento Amazon SNS non consegna il messaggio alla sottoscrizione. Per tenere traccia di operazioni di consegna non autorizzate, abilita l'opzione Delivery status logging (Registrazione dello stato della consegna) dell'argomento. Nell'esempio seguente viene mostrato un esempio di registro dello stato della consegna:
{ "notification": { "messageMD5Sum": "29638742ffb68b32cf56f42a79bcf16b", "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf", "topicArn": "arn:aws:sns:us-east-1:123412341234:PII-data-topic", "timestamp": "2022-05-12T2:12:44Z" }, "delivery": { "deliveryId": "98236591c-56aa-51ee-a5ed-0c7d43493170", "destination": "arn:aws:sqs:us-east-1:123456789012:NoNameAccess", "providerResponse": "The topic's data protection policy prohibits this message from being delivered to <subscription-arn>", "dwellTimeMs":20, "attempts":1, "statusCode": 403 }, "status": "FAILURE" }