In einigen Regionen gibt es Vorschriften zum Löschen von Daten, die Publisher dazu verpflichten, Nutzern ihrer Inhalte die Möglichkeit zu geben, das Löschen ihrer Daten zu beantragen. Wenn in Ihrer Echtzeitgebots-Integration eigene Kennungen verwendet werden und Sie Inventar aus Regionen mit Vorschriften zum Löschen von Daten erhalten, empfiehlt Google, dass Sie die Integration mit dem Data Deletion Request Framework des IAB vornehmen.
Wenn ein Nutzer seine Kennungen aus der App oder von der Website eines Publishers löschen möchte, kann der Publisher mit dem Data Deletion Request Framework eine Anfrage zum Löschen von Daten weiterleiten. Der Publisher sendet eine Anfrage zum Löschen von Daten an Exchanges, die diese Anfrage an Sie weiterleiten können. Wenn Sie eine Anfrage zum Löschen von Daten erhalten, müssen Sie diese an die Unternehmen weiterleiten, für die Sie die eigenen Daten des Publishers freigegeben haben. Wenn Sie beispielsweise eine Open Bidding-Integration haben, müssen Sie die Anfrage an die Bieter auf Ihrem Exchange weiterleiten, für die die eigenen Daten freigegeben wurden.
In dieser Anleitung wird die erste Einrichtung Ihrer Data Deletion Request Framework-Integration mit dem Google-Exchange beschrieben. Außerdem erhalten Sie einen Überblick über den Workflow des Data Deletion Request Framework im Kontext des Google-Exchange. Weitere Informationen finden Sie unter Data Deletion Request Framework.
Integration einrichten
Damit Sie Anfragen zum Löschen von Daten von Google erhalten können, müssen Sie eine Domain bei Google registrieren, die mit Ihrem Konto verknüpft werden soll. Außerdem müssen Sie eine dsrdelete.json-Datei im Stammverzeichnis Ihrer registrierten Domain hosten. Wenden Sie sich an Ihren Account Manager, um Ihre Domain bei Google zu registrieren. Die Datei dsrdelete.json hat mehrere Zwecke, z. B.:
- Sie gibt den Endpunkt an, an den Google Anfragen zum Löschen von Daten sendet.
- Sie listet Ihre unterstützten Kennungen und deren Format auf.
- Sie gibt Ihre öffentlichen Schlüssel an, die dem JSON Web Key (JWK)-Standard entsprechen und von anderen Parteien verwendet werden, um die Authentizität weitergeleiteter Anfragen zum Löschen von Daten oder Bestätigungen zu überprüfen, die Sie senden.
Weitere Informationen zur Datei drsdelete.json, z. B. zu den erforderlichen und optionalen
Feldern, die Sie ausfüllen können, finden Sie unter Discovery.
Ihr in der Datei dsrdelete.json angegebener Endpunkt muss eingehende Anfragen zum Löschen von Daten empfangen und darauf reagieren. Google empfiehlt, eine kryptografische Bibliothek für die von Ihnen gewählte Programmiersprache zu verwenden, um die empfangenen Anfragen zu überprüfen und die gesendeten Bestätigungen zu signieren.
Im folgenden Beispiel wird eine dsrdelete.json-Datei mit einem Endpunkt, Kennungen und einem öffentlichen Schlüssel festgelegt:
{
"endpoint": "https://www.doubleclick.net/iab-ddrf",
"identifiers": [
{ "id": 1, "type": "ppuid", "format": "plaintext" },
{ "id": 2, "type": "ifv", "format": "plaintext" },
{ "id": 3, "type": "sco", "format": "plaintext" }
],
"publicKey": [
{
"kty": "EC",
"crv": "P-256",
"x": "_OPPeKSEdi3_JEHla93vOGTx8VD01ozhyYxwQzYCVLs",
"y": "_XHufu2A_hbN5Uj4Wm7JPHE7ly0_4cmqntmz93pweys",
"kid": "yUa3wQ",
"use": "sig",
"alg": "ES256"
}
],
"vendorScriptRequirement": false
}
Anfrage zum Löschen von Daten erhalten
Google leitet Anfragen zum Löschen von Daten von Publishern an Sie weiter, wenn alle folgenden Bedingungen erfüllt sind:
- Sie hosten eine gültige
dsrdelete.json-Datei in einer bei Google registrierten Domain. - Der Publisher sendet eine Anfrage zum Löschen von Daten für eine Kennung an Google.
- Google stellt fest, dass die in der Anfrage zum Löschen von Daten gesendete Publisher-Kennung für Sie freigegeben wurde.
Wenn Sie eine Anfrage zum Löschen von Daten erhalten, sind Sie dafür verantwortlich, die angegebenen Daten zu löschen. Sie müssen die Anfrage zum Löschen von Daten auch an andere Datenpartner weiterleiten, für die Sie die eigenen Daten des Publishers freigegeben haben. Google unterstützt Anfragen zum Löschen von Daten für die folgenden Kennungen:
ppuid: vom Publisher bereitgestellte Kennungensco: eigene Kennungen des Publishers für das Webifv: eigene Kennungen des Publishers für iOS-Geräte
Google sendet die Anfrage zum Löschen von Daten als HTTP-POST-Anfrage an den in Ihrer dsrdelete.json-Datei angegebenen Endpunkt. Der Text der Anfrage zum Löschen von Daten
enthält ein JSON Web Token (JWT), das aus
den folgenden Teilen besteht:
- Ein JOSE-Header , der den Verschlüsselungsalgorithmus beschreibt.
- Eine JWS-Nutzlast mit der Löschanfrage.
- Eine JWS-Signatur zur Überprüfung der Authentizität der Anfrage.
Google codiert den Header, die Nutzlast und die Signatur in Base64 und formatiert diese Elemente so:
WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOAD.WEB_SAFE_BASE64_ENCODED_SIGNATURE
Weitere Informationen zu den verschiedenen JWTs, die im Data Deletion Request Framework verwendet werden, finden Sie unter JSON Web Token (JWT) Implementation. Die Anfrage zum Löschen von Daten, die Sie von Google erhalten, ist ein Request-JWT (rqJWT), das das Identity-JWT (idJWT) enthält, das der Publisher beim Anfordern des Löschens gesendet hat.
Validierungsdetails im Header finden
Der Header ist ein JSON-Objekt, das den Algorithmus beschreibt, den Sie verwenden müssen, um einen Hash der Anfrage zu erstellen. Dieser ist erforderlich, um die Authentizität der Anfrage zu überprüfen. Wenn der Aussteller mehrere private Schlüssel hat, mit denen er eine Signatur erstellen kann, gibt der Header auch an, welchen öffentlichen Schlüssel des Ausstellers Sie verwenden können, um die Signatur zu validieren.
Das folgende Beispiel ist ein decodierter Header, der zeigt, dass Sie den RSA256-Algorithmus mit der Schlüssel-ID abc123 verwenden können, um die Signatur zu validieren:
{
"typ": "JWT",
"alg": "RS256",
"kid": "abc123"
}
Anfrage authentifizieren
Sie können mit dem öffentlichen Schlüssel in der dsrdelete.json-Datei von Google überprüfen, ob Google die Anfragen zum Löschen von Daten gesendet hat. Die Google dsrdelete.json-Datei wird gehostet
unter https://static.doubleclick.net/dsrdelete.json
So überprüfen Sie die Authentizität der Anfrage zum Löschen von Daten:
Berechnen Sie den Hash des Headers und der Nutzlast mit dem im Header angegebenen Algorithmus. Die an Ihre Hash-Funktion übergebenen Daten müssen die folgende Struktur haben:
WEB_SAFE_BASE64_ENCODED_HEADER.WEB_SAFE_BASE64_ENCODED_PAYLOADEntschlüsseln Sie die decodierte Signatur mit dem öffentlichen Schlüssel, der in der
dsrdelete.json-Datei des Ausstellers angegeben ist.Vergleichen Sie den im ersten Schritt generierten Hash mit dem entschlüsselten Wert aus der Signatur. Wenn diese Elemente übereinstimmen, ist die Anfrage zum Löschen von Daten authentisch.
Nutzlast der Löschanfrage parsen
Nachdem Sie die Authentizität der Anfrage zum Löschen von Daten überprüft haben, müssen Sie die Nutzlast parsen, um zu überprüfen, welche Kennung gelöscht werden soll. Die decodierte Nutzlast ist ein rqJWT-Token. Weitere Informationen finden Sie unter rqJWT: „request“-JWT des Anfragenden.
Das folgende Beispiel zeigt eine decodierte Nutzlast als rqJWT-Token und enthält optionale Parameter:
{
"optionalParameters": "{\"gamNetworkCode\":\"311057\"}",
"sub": "{\n \"identifierValue\": \"crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd\",\n \"identifierType\": \"ppid\",\n \"identifierFormat\": \"plaintext\"\n }",
"iat": 1756257951,
"version": "1.0",
"iss": "test_publisher",
"idJWT": "eyJhbGciOiJFUzI1NiIsImtpZCI6IkVodWR1USIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0ZXN0X3B1Ymxpc2hlciIsInN1YiI6IntcbiAgICBcImlkZW50aWZpZXJWYWx1ZVwiOiBcImNydkJ0TGpMcU5VaWFmd1haaXl1a0xENFRmNm1NVVloQmRRYVBaMHBqeWRcIixcbiAgICBcImlkZW50aWZpZXJUeXBlXCI6IFwicHBpZFwiLFxuICAgIFwiaWRlbnRpZmllckZvcm1hdFwiOiBcInBsYWludGV4dFwiXG4gIH0iLCJpYXQiOjE3NTYyNTc5NTEsInZlcnNpb24iOiIxLjAifQ.Dh17fv1sxKMnkOa7HOWfVdsIYo8BBy2p9SkDTSfZoW6ypMdl_5wDYtUIYEfuX3n6UbwMoH0WVgGQnFQraMH6XQ"
}
Die Anfrage zum Löschen von Daten enthält das Feld sub, das einen JSON-String enthält, der angibt, dass der Publisher das Löschen einer PPID mit dem Wert crvBtLjLqNUiafwXZiyukLD4Tf6mMUYhBdQaPZ0pjyd anfordert. Das rqJWT-Token enthält das codierte idJWT-Token. Weitere Informationen finden Sie unter
idJWT: „identifier“-JWT des Ausstellers .
Anfrage zum Löschen von Daten weiterleiten
Sie müssen die Anfrage zum Löschen von Daten an alle Datenpartner weiterleiten, für die Sie die angegebenen Kennungen freigegeben haben. Wenn Sie beispielsweise in Open Bidding eingebunden sind, müssen Sie die Anfrage zum Löschen von Daten an die Bieter auf Ihrem Exchange weiterleiten, für die die eigene Kennung freigegeben wurde. Dazu müssen Sie Datenpartnern ein rqJWT-Token senden. Das rqJWT-Token muss die relevanten Kennungen enthalten, die gemäß den Konfigurationen in der dsrdelete.json-Datei des Datenpartners formatiert sind. Außerdem muss das rqJWT-Token Ihre mit Ihrem privaten Schlüssel generierte Signatur enthalten.
Anfrage zum Löschen von Daten bestätigen
Um zu bestätigen, dass Sie die Anfrage zum Löschen von Daten erhalten und bearbeitet haben, senden Sie ein Bestätigungs-JWT an den Endpunkt, den Google in der dsrdelete.json-Datei angibt. Weitere Informationen finden Sie unter
acJWT: „acknowledgement“-JWT des Empfängers.
Der HTTP-Statuscode Ihrer Antwort hängt vom folgenden Ergebnis ab:
- Erfolg: Geben Sie
HTTP 202zurück, wenn die Anfrage erfolgreich empfangen, geparst und bearbeitet wurde. - Fehler: Geben Sie
HTTP 400zurück, wenn die Anfrage nicht erfolgreich empfangen, geparst und bearbeitet wurde.
Der Anfragetext muss ein acJWT-Token mit einer Nutzlast enthalten, die das Feld raResultCode mit einem ganzzahligen Ergebniscode füllt. Optional können Sie im Feld raResultString beschreibenden Text zum Ergebnis angeben. Das acJWT-Token muss Ihre mit Ihrem privaten Schlüssel generierte Signatur enthalten.
Weitere Informationen zu den im Data Deletion Request Framework unterstützten Ergebniscodes finden Sie unter Ergebniscodes.
acJWT-Token-Header erstellen
Füllen Sie den Header basierend auf der Hash-Funktion und dem öffentlichen Schlüssel aus, die der Empfänger verwenden soll, um Ihre Signatur zu überprüfen. Der nicht codierte Header im folgenden Beispiel gibt an, dass der Empfänger den ES256-Algorithmus verwenden soll, um den Hash zu generieren. Außerdem muss der Empfänger den öffentlichen Schlüssel mit der Schlüssel-ID EhuduQ aus Ihrer dsrdelete.json-Datei verwenden, um Ihre Signatur zu entschlüsseln.
{
"alg": "ES256",
"typ": "JWT",
"kid": "EhuduQ"
}
acJWT-Token-Nutzlast erstellen
Füllen Sie die Nutzlast basierend auf dem Ergebnis der Löschanfrage aus und füllen Sie das Feld rqJWT mit der codierten Form des rqJWT-Tokens, das Sie bestätigen. Im folgenden Beispiel wird ein Feld raResultCode mit dem Wert 0 angegeben, um anzugeben, dass der Vorgang erfolgreich war:
{
"version": "1.0",
"jti": "965492b2-74e5-409a-90f4-f041902db05f",
"raResultString": "",
"iat": 1756408212,
"iss": "doubleclick.net",
"raResultCode": 0,
"rqJWT": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVodWR1USJ9.eyJvcHRpb25hbFBhcmFtZXRlcnMiOiJ7XCJnYW1OZXR3b3JrQ29kZVwiOlwiMzExMDU3XCJ9Iiwic3ViIjoie1xuICAgIFwiaWRlbnRpZmllclZhbHVlXCI6IFwiY3J2QnRMakxxTlVpYWZ3WFppeXVrTEQ0VGY2bU1VWWhCZFFhUFowcGp5ZFwiLFxuICAgIFwiaWRlbnRpZmllclR5cGVcIjogXCJwcGlkXCIsXG4gICAgXCJpZGVudGlmaWVyRm9ybWF0XCI6IFwicGxhaW50ZXh0XCJcbiAgfSIsImlhdCI6MTc1NjI1Nzk1MSwidmVyc2lvbiI6IjEuMCIsImlzcyI6InRlc3RfcHVibGlzaGVyIiwiaWRKV1QiOiJleUpoYkdjaU9pSkZVekkxTmlJc0ltdHBaQ0k2SWtWb2RXUjFVU0lzSW5SNWNDSTZJa3BYVkNKOS5leUpwYzNNaU9pSjBaWE4wWDNCMVlteHBjMmhsY2lJc0luTjFZaUk2SW50Y2JpQWdJQ0JjSW1sa1pXNTBhV1pwWlhKV1lXeDFaVndpT2lCY0ltTnlka0owVEdwTWNVNVZhV0ZtZDFoYWFYbDFhMHhFTkZSbU5tMU5WVmxvUW1SUllWQmFNSEJxZVdSY0lpeGNiaUFnSUNCY0ltbGtaVzUwYVdacFpYSlVlWEJsWENJNklGd2ljSEJwWkZ3aUxGeHVJQ0FnSUZ3aWFXUmxiblJwWm1sbGNrWnZjbTFoZEZ3aU9pQmNJbkJzWVdsdWRHVjRkRndpWEc0Z0lIMGlMQ0pwWVhRaU9qRTNOVFl5TlRjNU5URXNJblpsY25OcGIyNGlPaUl4TGpBaWZRLkRoMTdmdjFzeEtNbmtPYTdIT1dmVmRzSVlvOEJCeTJwOVNrRFRTZlpvVzZ5cE1kbF81d0RZdFVJWUVmdVgzbjZVYndNb0gwV1ZnR1FuRlFyYU1INlhRIn0.zZnuUsUDzkARg31RzkhLOJCSXD5jPca8qff5IqyYrrRITgRgm29T__6gC3oOOK5RAcd_AFFYWzE8onx6Kj1w8A"
}