Pour créer des ensembles de données d'AML basée sur l'IA dans une instance, vous devez préproduire dans BigQuery au sein du projet Google Cloud. Les sections suivantes présentent une façon de préparer ces ensembles de données et tables.
Créer un ensemble de données de sortie BigQuery
Exécutez la commande suivante pour créer un ensemble de données qui sera pour envoyer les résultats du pipeline à BigQuery. Dans la commande suivante, sélectionnez un nom pour BQ_OUTPUT_DATASET_NAME qui ne contient que des lettres (majuscules ou minuscules), des chiffres et des traits de soulignement. Vous ne pouvez pas utiliser de traits d'union.
bash
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
BQ_OUTPUT_DATASET_NAME
powershell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
BQ_OUTPUT_DATASET_NAME
Pour afficher les résultats de l'AML basée sur l'IA, consultez la section Modèle de données de sortie d'AML.
Créer l'ensemble de données d'entrée BigQuery
Créer un ensemble de données d'entrée BigQuery Plus tard, vous saisirez votre les données de transaction d'une institution financière dans cet ensemble de données.
gcloud
bq mk \
--location=LOCATION \
--project_id=PROJECT_ID \
BQ_INPUT_DATASET_NAME
Powershell
bq mk `
--location=LOCATION `
--project_id=PROJECT_ID `
BQ_INPUT_DATASET_NAME
Créer les tables des ensembles de données d'entrée BigQuery et importer les données de transaction
Nous fournissons le schéma du modèle de données d'entrée AML aux formats suivants:
- Un seul fichier CSV
aml-input-data-model.csv
avec toutes les tables inclus - Un seul fichier JSON
aml-input-data-model.json
contenant tous tables incluses - Fichiers JSON individuels pour chaque table :
Nous fournissons tableau des inscriptions des partis au format JSON. Vous utiliserez ce tableau plus tard lorsque vous enregistrerez des parties afin de pour créer des résultats de prédiction.
Télécharger le fichier JSON de chaque table et l'utiliser pour créer les table BigQuery en appliquant le schéma, exécutez la commande suivante : .
for table in party_registration party account_party_link transaction risk_case_event party_supplementary_data
do
curl -O "https://cloud.google.com/financial-services/anti-money-laundering/docs/reference/schemas/${table}.json"
bq mk --table --project_id PROJECT_ID BQ_INPUT_DATASET_NAME.$table $table.json
done
Importez les données de transaction de votre établissement financier dans les tables des ensembles de données. Pour en savoir plus, consultez l'un des guides de démarrage rapide de BigQuery.
Accorder l'accès aux ensembles de données BigQuery
L'API crée automatiquement un compte de service dans votre projet. Le service a besoin d'accéder aux ensembles de données d'entrée et de sortie BigQuery.
Pour PROJECT_NUMBER, utilisez la méthode numéro de projet associé à PROJECT_ID Vous trouverez le projet sur la page Paramètres IAM.
- Installez
jq
sur votre ordinateur de développement. Si vous ne pouvez pas installerjq
sur votre ordinateur de développement, vous pouvez utiliser Cloud Shell ou l'une des autres méthodes accordant l'accès à une ressource dans la documentation BigQuery. Exécutez les commandes suivantes pour accorder un accès en lecture à l'ensemble de données d'entrée et à ses tableaux.
# The BigQuery input dataset name. You created this dataset and # uploaded the financial data into it in a previous step. This dataset should be # stored in the Google Cloud project. export BQ_INPUT_DATASET_NAME="BQ_INPUT_DATASET_NAME" # The BigQuery tables in the input dataset. These tables should # be part of the same project as the intended instance. # Make sure to replace each table variable with the appropriate table name. export PARTY_TABLE="PARTY_TABLE" export ACCOUNT_PARTY_LINK_TABLE="ACCOUNT_PARTY_LINK_TABLE" export TRANSACTION_TABLE="TRANSACTION_TABLE" export RISK_CASE_EVENT_TABLE="RISK_CASE_EVENT_TABLE" # Optional table export PARTY_SUPPLEMENTARY_DATA_TABLE="PARTY_SUPPLEMENTARY_DATA_TABLE" # Registered parties table export PARTY_REGISTRATION_TABLE="PARTY_REGISTRATION_TABLE" # Grant the API read access to the BigQuery dataset. # Update the current access permissions on the BigQuery dataset and store in a temp file. # Note: This step requires jq as a dependency. # If jq is not available, the file /tmp/mydataset.json may be created manually. bq show --format=prettyjson "PROJECT_ID:BQ_INPUT_DATASET_NAME" | jq '.access+=[{"role":"READER","userByEmail":"service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" }]'> /tmp/mydataset.json # Update the BigQuery dataset access permissions using the temp file. bq update --source /tmp/mydataset.json "PROJECT_ID:BQ_INPUT_DATASET_NAME" # Grant the API read access to the BigQuery table if the table is provided. for TABLE in $PARTY_TABLE $TRANSACTION_TABLE $ACCOUNT_PARTY_LINK_TABLE $RISK_CASE_EVENT_TABLE $PARTY_SUPPLEMENTARY_DATA_TABLE $PARTY_REGISTRATION_TABLE; do [ -n TABLE ] && bq add-iam-policy-binding \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" --role="roles/bigquery.dataViewer" \ PROJECT_ID:BQ_INPUT_DATASET_NAME.${TABLE} done
Exécutez les commandes suivantes pour accorder un accès en écriture à l'ensemble de données de sortie.
# Note: This step requires jq as a dependency. # If jq isn't available, the file /tmp/mydataset.json may be created manually. bq show --format=prettyjson PROJECT_ID:BQ_OUTPUT_DATASET_NAME | jq '.access+=[{"role":"roles/bigquery.dataEditor","userByEmail":"service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" }]'> /tmp/perms.json bq update --source /tmp/perms.json PROJECT_ID:BQ_OUTPUT_DATASET_NAME