Diagnostiquer votre environnement (nouveau ou mis à niveau)

Plusieurs facteurs peuvent créer des problèmes lors de l'utilisation du service d'agrégation, y compris la mise en forme des rapports, les problèmes de domaine de sortie et les problèmes de coordinateur. Il est important de comprendre la source de l'erreur et les métadonnées qu'elle contient pour diagnostiquer précisément le problème.

Thèmes du guide:

Vérifier la configuration de l'API de mesure du client

Une fois que vous avez vérifié que votre serveur d'origine a été correctement enregistré, procédez comme suit:

  1. Vérifiez comment vous déclenchez les rapports. Vérifiez que vous recevez le bon format de rapport en fonction de l'API utilisée:

  2. Si vous déclenchez des rapports comme recommandé, mais que le problème persiste, vérifiez si des erreurs sont détectées dans la console de développement Chrome, dans les onglets "Console" et "Réseau".

Si vous avez besoin d'aide supplémentaire pour résoudre les problèmes liés à ces API clientes, consultez nos conseils de débogage pour l'API Attribution Reporting et l'API Private Aggregation + Shared Storage.

Résoudre les problèmes de configuration de l'origine des rapports

Le serveur d'origine des rapports est l'endroit où vous avez déclaré les points de terminaison .well-known correspondants appropriés auxquels les rapports cumulables seront envoyés. Vérifiez que votre serveur source de création de rapports déployé a été correctement enregistré et inscrit.

Votre origine de création de rapports reçoit-elle des rapports ?

Vérifiez que le serveur source de rapports déployé a été correctement inscrit et enregistré. C'est sur ce serveur que vous avez déclaré les points de terminaison .well-known correspondants appropriés auxquels les rapports agrégables seront envoyés.

API de mesure côté client Point de terminaison agrégable correspondant
Attribution Reporting POST /.well-known/attribution-reporting/report-aggregate-attribution
Private Aggregation + Shared Storage (Combo) POST /.well-known/private-aggregation/report-shared-storage
Private Aggregation + Protected Audience (combinaison) POST /.well-known/private-aggregation/report-protected-audience

Une fois que vous avez vérifié que votre serveur d'origine a été correctement enregistré, procédez comme suit:

  1. Vérifiez comment vous déclenchez les rapports. Vérifiez que vous recevez le bon format de rapport en fonction de l'API utilisée:

  2. Si vous déclenchez des rapports comme recommandé, mais que le problème persiste, vérifiez si des erreurs sont détectées dans la console de développement Chrome, dans les onglets "Console" et "Réseau".

Si vous avez besoin d'aide supplémentaire pour résoudre les problèmes liés à ces API clientes , consultez les conseils de débogage pour l'API Attribution Reporting et l'API Private Aggregation + Shared Storage.

Résoudre les problèmes liés à vos rapports agrégables

Les rapports agrégables sont générés par les API de mesure côté client et envoyés à votre origine de création de rapports. Votre point de terminaison de création de rapports doit convertir ces rapports au format AVRO. En cas de problème avec cette conversion ou si les rapports eux-mêmes ne sont pas intacts, des erreurs peuvent s'afficher dans le service d'agrégation.

Vos rapports agrégables sont-ils correctement convertis ?

Vérifiez que votre point de terminaison de création de rapports (.well-known/…) convertit correctement le rapport JSON agrégable donné en AVRO.

Voici les erreurs d'API qui peuvent se produire en raison de ce problème:

Erreur DECRYPTION_ERROR
Exemple
                "result_info": {
                    "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                    "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                    "error_summary": {
                        "error_counts": [
                            {
                                "category": "DECRYPTION_ERROR",
                                "count": 1,
                                "description": "Unable to decrypt the report. This may be caused by: tampered aggregatable report shared info, corrupt encrypted report, or other such issues."
                            },
                            {
                                "category": "NUM_REPORTS_WITH_ERRORS",
                                "count": 1,
                                "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                            }
                        ],
                        "error_messages": []
                    }
                }
            
Vérifier Cela peut se produire en raison d'erreurs de déchiffrement, qui peuvent être causées par des rapports AVRO mal générés, qu'il s'agisse des rapports AVRO agrégables ou du domaine de sortie AVRO. Les rapports AVRO agrégables sont-ils générés correctement ? La charge utile doit être décodée en base64 et convertie en tableau d'octets. Assurez-vous que le rapport est au format Avro. Vérifiez également si le domaine de sortie AVRO est correct. Les buckets sont convertis au format hexadécimal Unicode avec échappement, puis en tableau d'octets. Si vous voyez plusieurs erreurs, vous pouvez en savoir plus sur la page GitHub du service d'agrégation.
Erreur DECRYPTION_KEY_NOT_FOUND
Exemple
                "result_info": {
                    "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                    "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                    "error_summary": {
                        "error_counts": [{
                            "category": "DECRYPTION_KEY_NOT_FOUND",
                            "count": 1,
                            "description": "Could not find decryption key on private key endpoint."
                        }, {
                            "category": "NUM_REPORTS_WITH_ERRORS",
                            "count": 1,
                            "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                        }],
                        "error_messages": []
                    }
                }
            
Vérifier API Attribution Reporting

Pour l'API Attribution Reporting, cette erreur peut être due à un problème d'enregistrement du déclencheur. Vérifiez qu'il a enregistré son déclencheur avec le bon cloud à l'aide du champ "aggregation_coordinator_origin" (instructions ici). Vous pouvez également fournir des rapports chiffrés AWS à leur déploiement Google Cloud du service d'agrégation ou des rapports chiffrés Google Cloud à leur déploiement AWS. Demandez-lui de vérifier quel point de terminaison de clé publique a été utilisé pour chiffrer les rapports agrégables. Pour Google Cloud, le champ "aggregation_coordinator_origin" du rapport agrégable doit être https://publickeyservice.msmt.gcp.privacysandboxservices.com. Pour AWS, il s'agit de https://publickeyservice.msmt.aws.privacysandboxservices.com.

API Private Aggregation

Pour l'API Private Aggregation, vous devez définir "aggregationCoordinatorOrigin" à l'aide de l'exemple de la section "Choix du coordinateur d'agrégation" de la présentation de l'API Private Aggregation. Veuillez spécifier https://publickeyservice.msmt.gcp.privacysandboxservices.com comme aggregationCoordinatorOrigin.

Exemple :

                sharedStorage.run('someOperation', {'privateAggregationConfig':
                {'aggregationCoordinatorOrigin': ' https://publickeyservice.msmt.gcp.privacysandboxservices.com'}});

            
Erreur DECRYPTION_KEY_FETCH_ERROR
Exemple
                "result_info": {
                        "return_code": "REPORTS_WITH_ERRORS_EXCEEDED_THRESHOLD",
                        "return_message": "Aggregation job failed early because the number of reports excluded from aggregation exceeded threshold.",
                        "error_summary": {
                            "error_counts": [
                                {
                                    "category": "DECRYPTION_KEY_FETCH_ERROR",
                                    "count": 1,
                                    "description": "Fetching the decryption key for report decryption failed. This can happen using an unapproved aggregation service binary, running the aggregation service binary in debug mode, key corruption or service availability issues."
                                },
                                {
                                    "category": "NUM_REPORTS_WITH_ERRORS",
                                    "count": 1,
                                    "description": "Total number of reports that had an error. These reports were not considered in aggregation. See additional error messages for details on specific reasons."
                                }
                            ]
                        }
                }
            
Vérifier En cas de problème lié à un binaire non approuvé ou au mode débogage, utilisez le bon binaire pour résoudre le problème. Suivez les instructions ci-dessous pour utiliser une AMI prédéfinie ou créer votre propre AMI.

Pour vérifier les points suivants, procédez comme suit:

  1. Vous pouvez utiliser l'outil aggregatable_report_converter pour convertir les rapports agrégables que vous avez collectés à partir du point de terminaison .well-known en AVRO et créer les clés de domaine de sortie. (Remarque: Les fichiers de domaine de sortie doivent être une chaîne d'octets big-endian de 16 octets.)

  2. Suivez les étapes de l'atelier de programmation pour votre fournisseur de cloud public afin de collecter vos rapports de débogage et d'exécuter une tâche de service d'agrégation à l'aide de vos clés de domaine de sortie : a. Google Cloud: suivez les étapes 3.1.2 à 3.2.3 du Google Cloud Codelab sur le service d'agrégation. Amazon Web Services: suivez les étapes 4.2 à 5.3 du atelier de programmation AWS sur le service d'agrégation.

Si une réponse SUCCESS est renvoyée, cela signifie que votre conversion fonctionne.

Vos rapports agrégables sont-ils intacts ?

Vérifiez que votre rapport agrégé, les clés de domaine de sortie et les informations partagées sont intacts. Pour en savoir plus, consultez les exemples de code pour convertir des rapports agrégables et créer des fichiers de domaine.

Les erreurs d'API qui peuvent s'afficher et correspondre à ce problème sont les suivantes:

Erreur INPUT_DATA_READ_FAILED
Point de terminaison createJob
Vérifier Les champs input_data_bucket_name, input_data_blob_prefix, output_data_bucket_name et output_data_blob_prefix de la requête createJob sont-ils corrects ? L'emplacement des données du rapport d'entrée contient-il les rapports à traiter ? Disposez-vous d'une autorisation de lecture à partir de l'emplacement de stockage des rapports et du domaine de sortie ?

Pour vérifier les points suivants, procédez comme suit:

  1. Vérifiez le rapport agrégable:

    • Générez des rapports agrégés et utilisez l'outil aggregatable_report_converter pour convertir le domaine de sortie au format AVRO.
    • Exécutez une requête createJob avec ce rapport agrégable et le fichier de domaine de sortie.
    • Si cette valeur renvoie SUCCESS, cela signifie que le rapport agrégable est intact. Si une erreur s'affiche, cela signifie que vous rencontrez un problème avec votre rapport agrégable ou avec le rapport et le domaine.
    • Passez à l'étape suivante pour vérifier le fichier de domaine.
  2. Vérifiez le fichier de domaine de sortie:

    • Générez le fichier de domaine de sortie et utilisez l'outil aggregatable_report_converter pour créer le rapport cumulable.
    • Exécutez une requête createJob avec ce rapport agrégable et le fichier de domaine de sortie.
    • Si SUCCESS est renvoyé, cela signifie que le domaine de sortie est intact et qu'il existe un problème avec votre code pour créer le rapport agrégable.
    • Passez à l'étape suivante pour vérifier le shared_info.
  3. Vérifiez les informations partagées:

    • Assurez-vous d'avoir activé les rapports de débogage. Les rapports avec débogage activé disposent d'un champ debug_cleartext_payload.
    • Créez un rapport de débogage à utiliser avec l'outil de test local et utilisez debug_cleartext_payload comme charge utile.
    • Exécutez l'outil de test local avec votre fichier de domaine. S'il s'agit d'un SUCCESS, cela signifie que votre fichier shared_info a été falsifié.

Si vous soupçonnez d'autres erreurs ou falsifications, collectez le rapport agrégé JSON, la clé de domaine, le rapport AVRO agrégé généré et le domaine de sortie, puis passez aux étapes suivantes.

Inspecter votre nouvelle version de déploiement

Vérifiez que votre version du service d'agrégation est toujours prise en charge. Une fois que vous avez déterminé la version que vous utilisez, consultez la liste des versions du service d'agrégation et vérifiez que votre version ne comporte pas l'avertissement de fin de prise en charge : This release has reached its end of support on { date }. Les instructions suivantes pour déterminer la version que vous avez déployée s'appliquent aux clouds publics compatibles.

Procédure pour Google Cloud

  1. Accédez à Compute Engine > Instances de VM.
  2. Cliquez sur l'instance de machine virtuelle dont le nom contient -worker-.
  3. Accédez à la section Custom Metadata, puis recherchez la clé tee-image-reference.
  4. La valeur de tee-image-reference contient le numéro de version. Par exemple, le numéro de version du chemin d'accès suivant est v2.9.1. Il s'agit d'images prédéfinies qui se trouvent dans le registre Artifact Registry d'un projet Google Cloud.
    • Remarque: Cette information est pertinente si vous utilisez les composants prédéfinis. Si ce n'est pas le cas, elle doit correspondre à ce que vous avez personnellement nommé et tagué votre image. (exemple: us.docker.pkg.dev/<gcp_project_name>/artifacts:aggregation-service- container-artifacts-worker_mp_go_prod:2.9.1)

Étapes pour Amazon Web Services

  1. Accédez à Instances EC2 dans la console Amazon Web Services.
  2. Cliquez sur l'instance portant le nom aggregation-service-operator-dev-env.
  3. Sur la page de l'instance, accédez à "Détails" > AMI (Amazon Machine Image).
  4. Le nom de la version doit être inclus dans le chemin d'accès à l'image. Par exemple, le numéro de version du chemin d'accès suivant est v2.9.1.
    • Remarque: Cette information est pertinente si vous utilisez les composants prédéfinis. Si ce n'est pas le cas, elle doit correspondre à ce que vous avez personnellement nommé et tagué votre image. (exemple: aggregation-service-enclave_2.9.1--2024-10-03T01-24-25Z)

Étapes suivantes

Si vous ne parvenez pas à résoudre votre problème lié au service d'agrégation, veuillez nous en informer en signalant un problème sur GitHub ou en remplissant ce formulaire d'assistance technique.