Crie uma instância de IA de AML

Para usar a IA de AML, crie uma instância. O recurso AML AI Instance encontra-se na raiz de todos os outros recursos de IA da AML. É possível criar várias instâncias na mesma região num Google Cloud projeto. As instâncias cumprem o seguinte:

  • Cada instância é específica de uma Google Cloud região, o que garante a residência dos dados na Google Cloud região.
  • Cada instância requer que todos os dados de entrada e saída existam na mesmaGoogle Cloud região e projeto.
  • Cada instância requer uma única chave de encriptação gerida pelo cliente (CMEK) associada, que é usada para encriptar todos os dados criados pela IA de AML.
  • Os recursos secundários de uma instância herdam a localização e as definições de encriptação da instância principal.
  • Cada instância suporta a gestão de acesso personalizada.

Pode encontrar a lista de Google Cloud regiões disponíveis na página Localizações de IA da AML. Pode mapear uma (ou várias) geografias nas quais opera para uma (ou várias) localizações de IA de AML disponíveis, com base nas suas políticas. Tem de criar, pelo menos, uma instância de IA da AML por localização de IA da AML que usar.

Pode executar a classificação de risco para clientes comerciais e de retalho numa instância de IA de combate ao branqueamento de capitais. No entanto, crie uma instância separada para fazer qualquer uma das seguintes ações:

  • Restrinja o acesso a diferentes conjuntos de dados de AML a membros distintos na sua organização
  • Use chaves CMEK diferentes para diferentes conjuntos de dados de AML

Passos

Para criar um Google Cloud projeto e ativar a API, consulte o artigo Configure um projeto e autorizações.

Siga estes passos para criar uma chave CMEK e uma instância de IA da AML.

Crie uma chave de encriptação

Para criar uma chave de encriptação, primeiro crie um conjunto de chaves e, em seguida, a própria chave. Para mais informações, consulte o artigo Crie chaves de encriptação com o Cloud KMS.

Crie um conjunto de chaves

Para criar um conjunto de chaves, use o método projects.locations.keyRings.create.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • KMS_PROJECT_ID: o ID do Google Cloud projeto para o projeto que contém o conjunto de chaves
  • LOCATION: a localização do conjunto de chaves; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID: um identificador definido pelo utilizador para o conjunto de chaves

Para enviar o seu pedido, escolha uma destas opções:

curl

Execute o seguinte 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

Execute o seguinte 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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KEY_RING_ID",
  "createTime": "2023-03-14T15:52:55.358979323Z"
}

gcloud

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • KMS_PROJECT_ID: o ID do Google Cloud projeto para o projeto que contém o conjunto de chaves
  • LOCATION: a localização do conjunto de chaves; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID: um identificador definido pelo utilizador para o conjunto de chaves

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

gcloud kms keyrings create KEY_RING_ID \
  --project KMS_PROJECT_ID --location LOCATION

Windows (PowerShell)

gcloud kms keyrings create KEY_RING_ID `
  --project KMS_PROJECT_ID --location LOCATION

Windows (cmd.exe)

gcloud kms keyrings create KEY_RING_ID ^
  --project KMS_PROJECT_ID --location LOCATION
Deve receber uma resposta vazia:
$

Crie uma chave

Para criar uma chave, use o método projects.locations.keyRings.cryptoKeys.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • KMS_PROJECT_ID: o ID do Google Cloud projeto para o projeto que contém o conjunto de chaves
  • LOCATION: a localização do conjunto de chaves; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID: o identificador definido pelo utilizador para o conjunto de chaves
  • KEY_ID: um identificador definido pelo utilizador para a chave

Corpo JSON do pedido:

{
  "purpose": "ENCRYPT_DECRYPT"
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

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

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

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

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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": "2023-03-14T15:52:55.358979323Z",
    "protectionLevel": "SOFTWARE",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION",
    "generateTime": "2023-03-14T15:52:55.358979323Z"
  },
  "purpose": "ENCRYPT_DECRYPT",
  "createTime": "2023-03-14T15:52:55.358979323Z",
  "versionTemplate": {
    "protectionLevel": "SOFTWARE",
    "algorithm": "GOOGLE_SYMMETRIC_ENCRYPTION"
  },
  "destroyScheduledDuration": "86400s"
}

gcloud

Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:

  • KMS_PROJECT_ID: o ID do Google Cloud projeto para o projeto que contém o conjunto de chaves
  • LOCATION: a localização do conjunto de chaves; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID: o identificador definido pelo utilizador para o conjunto de chaves
  • KEY_ID: um identificador definido pelo utilizador para a chave

Execute o seguinte comando:

Linux, macOS ou Cloud Shell

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

Windows (PowerShell)

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

Windows (cmd.exe)

gcloud kms keys create KEY_ID ^
  --keyring KEY_RING_ID ^
  --project KMS_PROJECT_ID ^
  --location LOCATION ^
  --purpose "encryption"
Deve receber uma resposta vazia:
$

Crie uma instância

Crie uma instância para a região específica onde os dados devem residir. Esta instância faz referência à chave de encriptação que criou. Para mais informações, consulte o artigo Chaves de encriptação geridas pelo cliente (CMEK).

Para criar uma instância, use o método projects.locations.instances.create.

(As seguintes informações também estão disponíveis no artigo Crie e faça a gestão de instâncias.)

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu Google Cloud projeto indicado nas definições de IAM
  • LOCATION: a localização do conjunto de chaves e a instância; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • INSTANCE_ID: um identificador definido pelo utilizador para a instância
  • KMS_PROJECT_ID: o ID do Google Cloud projeto para o projeto que contém o conjunto de chaves
  • KEY_RING_ID: o identificador definido pelo utilizador para o conjunto de chaves
  • KEY_ID: o identificador definido pelo utilizador para a chave

Corpo JSON do pedido:

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

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

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

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Guarde o corpo do pedido num ficheiro denominado request.json. Execute o seguinte comando no terminal para criar ou substituir este ficheiro no diretório atual:

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

Em seguida, execute o seguinte comando para enviar o seu pedido 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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": "2023-03-14T15:52:55.358979323Z",
    "target": "projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

Se for bem-sucedido, o corpo da resposta contém uma operação de execução longa que contém um ID que pode ser usado para obter o estado em curso da operação assíncrona. Copie o OPERATION_ID devolvido para usar na secção seguinte.

Verifique o resultado

Use o método projects.locations.operations.get para verificar se a instância foi criada. Se a resposta contiver "done": false, repita o comando até que a resposta contenha "done": true. Estas operações podem demorar alguns minutos a várias horas a serem concluídas.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do seu Google Cloud projeto indicado nas definições de IAM
  • LOCATION: a localização da instância; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • OPERATION_ID: o identificador da operação

Para enviar o seu pedido, escolha uma destas opções:

curl

Execute o seguinte 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

Execute o seguinte 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

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.financialservices.v1.OperationMetadata",
    "createTime": "2023-03-14T15:52:55.358979323Z",
    "endTime": "2023-03-14T16:52:55.358979323Z",
    "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"
  }
}

Conceda acesso à chave CMEK

A API cria automaticamente uma conta de serviço no seu projeto. A conta de serviço precisa de acesso à chave CMEK para poder usá-la para encriptar e desencriptar os dados subjacentes. Conceda acesso à chave.

Para PROJECT_NUMBER, use o número do projeto associado a PROJECT_ID. Pode encontrar o número do projeto na página Definições 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"

Contactar o apoio técnico

Sempre que criar uma instância de IA de AML, contacte o apoio técnico. Inclua as seguintes informações para que a equipa do produto de IA de AML possa configurar de forma ideal a sua instância com base nas suas necessidades:

  • ID do projeto
  • Google Cloud região
  • ID da instância
  • Número esperado de partes na tabela Party em conjuntos de dados nesta instância
  • Número esperado de transações por ano na tabela Transaction nos conjuntos de dados nesta instância

Para pedir limites de quotas adicionais, consulte o artigo Quotas.

A IA de AML disponibiliza vários tipos de registos, incluindo registos da plataforma, registos de auditoria e registos de acesso aos dados. Saiba mais sobre cada tipo de registo: