Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Im Folgenden finden Sie Beispiele für Datenschutzrichtlinien, mit denen Sie sensible Daten überprüfen und verweigern können. Ein vollständiges Tutorial, das eine Beispielanwendung enthält, finden Sie im Blogbeitrag Introducing message data protection for Amazon SNS
Audit-Operation
Bei der Prüfung werden eingehende Nachrichten zum Thema geprüft und die Ergebnisse sensibler Daten an einem AWS Zielort protokolliert. Die Samplerate kann eine ganze Zahl zwischen 0 und 99 sein. Für diese Operation ist eine der folgenden Arten von Protokollierungszielen erforderlich:
-
FindingsDestination— Das Logging-Ziel, wenn das Amazon SNS SNS-Thema sensible Daten in der Payload findet.
-
NoFindingsDestination— Das Protokollierungsziel, wenn das Amazon SNS SNS-Thema keine sensiblen Daten in der Nutzlast findet.
Sie können AWS-Services in jedem der folgenden Protokollzieltypen Folgendes verwenden:
-
Amazon CloudWatch Logs (optional) — Das
LogGroup
muss sich im Themenbereich befinden und der Name muss mit /aws/vendedlogs/ beginnen. -
Amazon Data Firehose (optional) — Sie
DeliveryStream
müssen sich in der Themenregion befinden und Direct PUT als Quelle für den Lieferstream haben. Weitere Informationen finden Sie unter Quelle, Ziel und Name im Amazon Data Firehose Developer Guide. -
Amazon S3 (Optional) – Ein Amazon-S3-Bucket-Name. Für die Verwendung des Amazon-S3-Buckets mit aktivierter SSE-KMS-Verschlüsselung sind zusätzliche Aktionen erforderlich.
{
"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"
}
}
}
}
}
Erforderliche Berechtigungen bei der Angabe von Protokollierungszielen
Wenn Sie in der Datenschutzrichtlinie Ziele für die Protokollierung angeben, müssen Sie der IAM-Identitätsrichtlinie des IAM-Prinzipals, der in Amazon SNS die PutDataProtectionPolicy
-API oder die CreateTopic
-API mit dem --data-protection-policy
-Parameter aufruft, die folgenden Berechtigungen hinzufügen.
Audit-Ziel | IAM-Berechtigung |
---|---|
Standard | 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 |
{
"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:region:account-id:SampleLogGroupName:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"iam:CreateServiceLinkedRole",
"firehose:TagDeliveryStream"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"s3:PutBucketPolicy",
"s3:GetBucketPolicy"
],
"Resource": [
"arn:aws:s3:::bucket-name"
]
}
]
}
Erforderliche Schlüsselrichtlinie zur Verwendung mit SSE-KMS
Wenn Sie einen Amazon S3 S3-Bucket als Protokollziel verwenden, können Sie die Daten in Ihrem Bucket schützen, indem Sie entweder die serverseitige Verschlüsselung mit Amazon S3-Managed Keys (SSE-S3) oder die serverseitige Verschlüsselung mit (SSE-KMS) aktivieren. AWS KMS keys Weitere Informationen finden Sie unter Schützen von Daten mithilfe serverseitiger Verschlüsselung im Amazon S3-Entwicklerhandbuch.
Wenn Sie SSE-S3 wählen, ist keine zusätzliche Konfiguration erforderlich. Amazon S3 verarbeitet den Verschlüsselungsschlüssel.
Wenn Sie sich für SSE-KMS entscheiden, müssen Sie einen vom Kunden verwalteten Schlüssel verwenden. Sie müssen die Schlüsselrichtlinie für Ihren vom Kunden verwalteten Schlüssel aktualisieren, damit das Protokollzustellungskonto in Ihren S3-Bucket schreiben kann. Weitere Informationen zur erforderlichen Schlüsselrichtlinie für die Verwendung mit SSE-KMS finden Sie unter serverseitige Verschlüsselung des Amazon S3 S3-Buckets im Amazon CloudWatch Logs-Benutzerhandbuch.
Beispiel für ein Audit-Zielprotokoll
Im folgenden Beispiel wird callerPrincipal
verwendet, um die Quelle des sensiblen Inhalts zu identifizieren, und messageID
als Referenz zur Überprüfung der Publish
-API-Antwort.
{
"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
}
]
}
]
}
Metriken für die Audit-Operation
Wenn bei einem Prüfvorgang die NoFindingsDestination
Eigenschaft FindingsDestination
oder angegeben wurde, erhalten die Eigentümer des Themas CloudWatch MessagesWithFindings
auch MessagesWithNoFindings
Messwerte.

Vorgang anonymisieren
Der Vorgang der Anonymisierung maskiert oder redigiert sensible Daten aus veröffentlichten oder übermittelten Nachrichten. Dieser Vorgang ist nur für eingehende und ausgehende Nachrichten verfügbar und erfordert einen der folgenden Konfigurationstypen:
-
MaskConfig— Maske mit einem unterstützten Zeichen aus der folgenden Tabelle. Beispielsweise wird die SSN:
123-45-6789
zur SSN:###########
.{ "Operation": { "Deidentify": { "MaskConfig": { "MaskWithCharacter": "#" } } }
Unterstütztes Maskierungszeichen Name * Sternchen A–Z, a–z und 0–9 Alphanumerisch Leerzeichen ! Ausrufezeichen $ Dollarzeichen % Prozentzeichen & Kaufmännisches Und-Zeichen () Klammer
+ Pluszeichen , Komma - Bindestrich . Intervall /\ Schrägstrich, umgekehrter Schrägstrich
# Doppelkreuz : Doppelpunkt ; Semikolon =, <> Gleich. kleiner oder größer als
@ At-Zeichen [] Klammern ^ Caret-Symbol _ Unterstrich ` Backtick | Senkrechter Balken ~ Tilde-Zeichen -
RedactConfig— Redigieren Sie, indem Sie die Daten vollständig entfernen. Beispielsweise wird SSN:
123-45-6789
zur SSN:{ "Operation": { "Deidentify": { "RedactConfig": {} } }
Bei einer eingehenden Nachricht werden die sensiblen Daten nach dem Prüfvorgang anonymisiert, und der SNS:Publish
-API-Aufrufer erhält den folgenden „Ungültiger Parameter“-Fehler, wenn die gesamte Nachricht vertraulich ist.
Error code: AuthorizationError ...
Deny-Operation
Die Deny-Operation unterbricht entweder die Publish
-API-Anfrage oder die Zustellung der Nachricht, wenn die Nachricht sensible Daten enthält. Das Deny-Operationsobjekt ist leer, da es keine zusätzliche Konfiguration erfordert.
"Operation": {
"Deny": {}
}
Bei einer eingehenden Nachricht erhält der SNS:Publish
-API-Aufrufer einen Autorisierungsfehler.
Error code: AuthorizationError ...
Bei einer ausgehenden Nachricht stellt das Amazon-SNS-Thema die Nachricht nicht dem Abonnement zu. Wenn Sie nicht autorisierte Zustellungen verfolgen möchten, aktivieren Sie die Protokollierung des Zustellungsstatus für das Thema. Im Folgenden finden Sie ein Beispiel für ein Zustellungsstatusprotokoll:
{
"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"
}