View a markdown version of this page

Operazioni relative alle policy di protezione dei dati in Amazon SNS - Amazon Simple Notification Service

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:

  1. FindingsDestination— La destinazione di registrazione quando l'argomento Amazon SNS trova dati sensibili nel payload.

  2. 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:

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

Sono necessarie azioni aggiuntive per utilizzare il bucket Amazon S3 con SSE-KMS la crittografia abilitata.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": [ "arn:aws:logs:us-west-1:123456789012:SampleLogGroupName:*:*" ] }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "firehose:TagDeliveryStream" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:PutBucketPolicy", "s3:GetBucketPolicy" ], "Resource": [ "arn:aws:s3:::bucket-name" ] } ] }

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.

Esempi di una verifica che mostra i dati in un periodo di tempo specificato.

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-6789 diventa 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-6789 diventa 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" }