Wenn Sie AML-KI-Datasets in einer Instanz erstellen möchten, müssen Sie Daten in BigQuery innerhalb dieses Google Cloud-Projekts stufen. In den folgenden Abschnitten wird eine Möglichkeit zur Vorbereitung dieser Datasets und Tabellen beschrieben.
BigQuery-Ausgabe-Dataset erstellen
Führen Sie den folgenden Befehl aus, um ein Dataset zu erstellen, mit dem die Pipeline-Ausgaben an BigQuery gesendet werden. Wählen Sie im folgenden Befehl einen Namen für BQ_OUTPUT_DATASET_NAME aus, der nur Buchstaben (Groß- oder Kleinbuchstaben), Ziffern und Unterstriche enthält. Sie dürfen keine Bindestriche verwenden.
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
Informationen zu den AML-KI-Ausgaben finden Sie unter AML-Ausgabedatenmodell.
BigQuery-Eingabedatensatz erstellen
Erstellen Sie ein BigQuery-Eingabe-Dataset. Später geben Sie die Transaktionsdaten Ihrer Finanzinstitution in diesen Datensatz ein.
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
BigQuery-Tabellen für das Eingabe-Dataset erstellen und Transaktionsdaten hochladen
Das Schema für das AML-Eingabedatenmodell wird in den folgenden Formaten bereitgestellt:
- Eine einzelne CSV-Datei
aml-input-data-model.csv
mit allen Tabellen - Eine einzelne JSON-Datei
aml-input-data-model.json
mit allen Tabellen - Einzelne JSON-Dateien für jede Tabelle:
Wir stellen die Tabelle zur Registrierung von Parteien im JSON-Format bereit. Sie verwenden diese Tabelle später, wenn Sie Parteien registrieren, um Prognoseergebnisse zu erstellen.
Führen Sie den folgenden Befehl aus, um die JSON-Datei für jede Tabelle herunterzuladen und die zugehörige BigQuery-Tabelle mit dem Schema zu erstellen.
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
Laden Sie die Transaktionsdaten Ihrer Finanzinstitution in die Dataset-Tabellen hoch. Weitere Informationen finden Sie in den BigQuery-Schnellstarts.
Zugriff auf die BigQuery-Datasets gewähren
Die API erstellt automatisch ein Dienstkonto in Ihrem Projekt. Das Dienstkonto benötigt Zugriff auf die BigQuery-Eingabe- und -Ausgabe-Datasets.
Verwenden Sie für PROJECT_NUMBER die Projektnummer, die mit PROJECT_ID verknüpft ist. Sie finden die Projektnummer auf der Seite IAM-Einstellungen.
- Installieren Sie
jq
auf Ihrem Entwicklungscomputer. Wenn Siejq
nicht auf Ihrem Entwicklungscomputer installieren können, können Sie Cloud Shell oder eine der anderen Methoden verwenden, um Zugriff auf eine Ressource zu gewähren. Eine entsprechende Anleitung finden Sie in der BigQuery-Dokumentation. Führen Sie die folgenden Befehle aus, um Lesezugriff auf den Eingabedatensatz und seine Tabellen zu gewähren.
# 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
Führen Sie die folgenden Befehle aus, um Schreibzugriff auf das Ausgabedatensatz zu gewähren.
# 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