Crea una instancia de IA contra lavado de dinero

Para usar la IA contra el lavado de dinero, crea una instancia. El recurso Instancia de la IA contra el lavado de dinero se encuentra en la raíz de todos los demás recursos de la IA contra el lavado de dinero. Se pueden crear varias instancias en la misma región dentro de un proyecto de Google Cloud. Las instancias cumplen con lo siguiente:

  • Cada instancia es específica de una región de Google Cloud, lo que garantiza la residencia de los datos dentro de esa región.
  • Cada instancia requiere que todos los datos de entrada y salida existan en la misma región y proyecto de Google Cloud.
  • Cada instancia requiere una sola clave de encriptación administrada por el cliente (CMEK) asociada y que se usa para encriptar los datos creados por la IA contra el lavado de dinero.
  • Los recursos secundarios de una instancia heredan la ubicación y la configuración de encriptación de la instancia superior.
  • Cada instancia admite la administración personalizada de accesos.

Puedes encontrar la lista de regiones disponibles de Google Cloud en la página Ubicaciones de IA contra el lavado de dinero. Puedes asignar una (o varias) geografías en las que operas a una (o varias) ubicaciones de IA contra el lavado de dinero disponibles, según tus políticas. Debes crear al menos una instancia de IA contra el lavado de dinero por cada ubicación de IA contra el lavado de dinero que uses.

Puedes ejecutar la puntuación de riesgos para clientes comerciales y minoristas en una instancia de IA contra el lavado de dinero. Sin embargo, crea una instancia independiente para realizar cualquiera de las siguientes acciones:

  • Restringir el acceso a diferentes conjuntos de datos contra el lavado de dinero a distintos miembros dentro de tu organización
  • Usa claves CMEK diferentes para distintos conjuntos de datos contra el lavado de dinero

Pasos

Para crear un proyecto de Google Cloud y habilitar la API, consulta Configura un proyecto y los permisos.

Sigue estos pasos para crear una clave CMEK y una instancia de IA contra el lavado de dinero.

Crea una clave de encriptación

Para crear una clave de encriptación, primero crea un llavero de claves y, luego, la clave. Para obtener más información, consulta Crea claves de encriptación con Cloud KMS.

Crea un llavero de claves

Para crear un llavero de claves, usa el método projects.locations.keyRings.create.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • KMS_PROJECT_ID: Es el ID del proyecto de Google Cloud para el proyecto que contiene el llavero de claves.
  • LOCATION: Es la ubicación del llavero de claves. Usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: Es un identificador definido por el usuario para el llavero de claves.

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://cloudkms.googleapis.com/v1/projects/KMS_PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=KEY_RING_ID"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://cloudkms.googleapis.com/v1/projects/KMS_PROJECT_ID/locations/LOCATION/keyRings?key_ring_id=KEY_RING_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID",
  "createTime": CREATE_TIME
}

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • LOCATION: Es la ubicación del llavero de claves. Usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: Es un identificador definido por el usuario para el llavero de claves.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud kms keyrings create KEY_RING_ID \
  --location LOCATION

Windows (PowerShell)

gcloud kms keyrings create KEY_RING_ID `
  --location LOCATION

Windows (cmd.exe)

gcloud kms keyrings create KEY_RING_ID ^
  --location LOCATION
Deberías recibir una respuesta vacía:
$

Crear una clave

Para crear una clave, usa el método projects.locations.keyRings.cryptoKeys.

REST

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • KMS_PROJECT_ID: Es el ID del proyecto de Google Cloud para el proyecto que contiene el llavero de claves.
  • LOCATION: Es la ubicación del llavero de claves. Usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: Es el identificador definido por el usuario para el llavero de claves.
  • KEY_ID: Es un identificador definido por el usuario para la clave.

Cuerpo JSON de la solicitud:

{
  "purpose": "ENCRYPT_DECRYPT"
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

cat > request.json << 'EOF'
{
  "purpose": "ENCRYPT_DECRYPT"
}
EOF

Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://cloudkms.googleapis.com/v1/projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys?crypto_key_id=KEY_ID"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

@'
{
  "purpose": "ENCRYPT_DECRYPT"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://cloudkms.googleapis.com/v1/projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys?crypto_key_id=KEY_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID",
  "primary": {
    "name": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID/cryptoKeyVersions/1",
    "state": "ENABLED",
    "createTime": CREATE_TIME,
    "protectionLevel": "SOFTWARE",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION",
    "generateTime": GENERATE_TIME
  },
  "purpose": "ENCRYPT_DECRYPT",
  "createTime": CREATE_TIME,
  "versionTemplate": {
    "protectionLevel": "SOFTWARE",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "destroyScheduledDuration": "86400s"
}

gcloud

Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

  • LOCATION: Es la ubicación del llavero de claves. Usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: Es el identificador definido por el usuario para el llavero de claves.
  • KEY_ID: Es un identificador definido por el usuario para la clave.

Ejecuta el siguiente comando:

Linux, macOS o Cloud Shell

gcloud kms keys create KEY_ID \
  --keyring KEY_RING_ID \
  --location LOCATION \
  --purpose "encryption"

Windows (PowerShell)

gcloud kms keys create KEY_ID `
  --keyring KEY_RING_ID `
  --location LOCATION `
  --purpose "encryption"

Windows (cmd.exe)

gcloud kms keys create KEY_ID ^
  --keyring KEY_RING_ID ^
  --location LOCATION ^
  --purpose "encryption"
Deberías recibir una respuesta vacía:
$

Crea una instancia

Crea una instancia para la región específica donde deben residir los datos. Esta instancia hace referencia a la clave de encriptación que creaste. Para obtener más información, consulta Claves de encriptación administradas por el cliente (CMEK).

Para crear una instancia, usa el método projects.locations.instances.create.

La siguiente información también está disponible en Crea y administra instancias.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.
  • LOCATION: Es la ubicación del llavero de claves y la instancia. Usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • INSTANCE_ID: Un identificador definido por el usuario para la instancia
  • KMS_PROJECT_ID: Es el ID del proyecto de Google Cloud para el proyecto que contiene el llavero de claves.
  • KEY_RING_ID: Es el identificador definido por el usuario para el llavero de claves.
  • KEY_ID: El identificador definido por el usuario para la clave

Cuerpo JSON de la solicitud:

{
  "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID"
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

cat > request.json << 'EOF'
{
  "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID"
}
EOF

Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=INSTANCE_ID"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json. Ejecuta el comando siguiente en la terminal para crear o reemplazar este archivo en el directorio actual:

@'
{
  "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID"
}
'@  | Out-File -FilePath request.json -Encoding utf8

Luego, ejecuta el siguiente comando para enviar tu solicitud de REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances?instance_id=INSTANCE_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá una operación de larga duración con un ID que se puede usar para recuperar el estado en curso de la operación asíncrona. Copia el objeto OPERATION_ID que se muestra para usarlo en la siguiente sección.

Comprueba el resultado

Usa el método projects.locations.operations.get para verificar si se creó la instancia. Si la respuesta contiene "done": false, repite el comando hasta que la respuesta contenga "done": true. Estas operaciones pueden tardar entre unos minutos y varias horas en completarse.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es tu ID de tu proyecto de Google Cloud que aparece en Configuración de IAM.
  • LOCATION: La ubicación de la instancia; usa una de las regiones compatibles:
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • OPERATION_ID: Es el identificador de la operación.

Para enviar tu solicitud, elige una de estas opciones:

curl

Ejecuta el siguiente comando:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"

PowerShell

Ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://financialservices.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "endTime": END_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.Instance",
    "name": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "createTime": CREATE_TIME,
    "updateTime": UPDATE_TIME,
    "kmsKey": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID",
    "state": "ACTIVE"
  }
}

Otorga acceso a la clave CMEK

La API crea automáticamente una cuenta de servicio en tu proyecto. La cuenta de servicio necesita acceso a la clave CMEK para poder usarla a fin de encriptar y desencriptar los datos subyacentes. Otorga acceso a la clave.

Para PROJECT_NUMBER, usa el número de proyecto asociado con PROJECT_ID. Puedes encontrar el número del proyecto en la página Configuración de IAM.

gcloud kms keys add-iam-policy-binding "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID/cryptoKeys/KEY_ID" \
  --keyring "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID" \
  --location "LOCATION" \
  --member "serviceAccount:service-PROJECT_NUMBER@gcp-sa-financialservices.iam.gserviceaccount.com" \
  --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
  --project="PROJECT_ID"

Comunicarme con el equipo de Asistencia

Cada vez que crees una instancia de IA contra el lavado de dinero, comunícate con el equipo de asistencia. Incluye la siguiente información para que el equipo de producto de IA contra el lavado de dinero pueda configurar de manera óptima tu instancia según tus necesidades:

  • ID del proyecto
  • Región de Google Cloud
  • ID de la instancia
  • Cantidad esperada de grupos en la tabla Party de los conjuntos de datos dentro de esta instancia
  • Cantidad esperada de transacciones por año en la tabla Transaction, en conjuntos de datos de esta instancia

Para solicitar límites de cuota adicionales, consulta Cuotas.

La IA contra el lavado de dinero pone a disposición varios tipos de registros, como registros de plataforma, registros de auditoría y registros de acceso a los datos. Obtén más información sobre cada tipo de registro: