创建 AML AI 实例

如需使用 AML AI,请创建一个实例。AML AI 实例资源位于所有其他 AML AI 资源的 根目录。您可以在一个 Google Cloud 项目的同一区域中创建多个 实例。如果实例中使用相同的当事方 ,则可以在 实例之间共享当事方注册,以降低费用。如需了解详情,请参阅 多个实例的当事方注册共享。 和价格页面

实例遵循以下准则:

  • 每个实例都特定于一个 Google Cloud 区域,确保数据驻留在该 Google Cloud 区域内。
  • 每个实例都要求所有输入和输出数据存在于同一 Google Cloud 区域和项目中。
  • 每个实例都需要一个关联的客户管理的加密密钥 (CMEK),该密钥用于加密 AML AI 创建的任何数据。
  • 实例的子资源继承父实例的位置和加密设置。
  • 每个实例都支持自定义访问权限管理。

您可以在 Google Cloud AML AI 位置 页面上找到可用区域的列表。您可以根据自己的政策,将您运营的一个(或多个)地理位置映射到一个(或多个)可用的 AML AI 位置。对于您使用的每个 AML AI 位置,您都需要至少创建一个 AML AI 实例。

您可以在一个 AML AI 实例中为商业客户和零售客户运行风险评分。但是,如需执行以下任何操作,请创建一个单独的实例:

  • 限制组织内不同成员对不同 AML 数据集的访问权限。
  • 为不同的 AML 数据集使用不同的 CMEK 密钥。
  • 将生产 AML AI 提醒流水线与新 AML AI 模型的训练和评估分开。如需了解详情,请参阅 多个实例的当事方注册共享

步骤

如需创建 Google Cloud 项目并启用 API,请参阅 设置项目和权限

请按照以下步骤创建 CMEK 密钥和 AML AI 实例。

创建加密密钥

如需创建加密密钥,请先创建密钥环,然后 创建密钥本身。如需了解详情,请参阅 使用 Cloud KMS 创建加密密钥

创建密钥环

如需创建密钥环,请使用 projects.locations.keyRings.create 方法。

REST

在使用任何请求数据之前, 请先进行以下替换:

  • KMS_PROJECT_ID:包含密钥环的 Google Cloud 项目的项目 ID
  • LOCATION:密钥环的位置; 请使用其中一个 受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • KEY_RING_ID:用户定义的 密钥环标识符

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

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

执行以下命令:

$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

您应该收到类似以下内容的 JSON 响应:

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

gcloud

在使用下面的命令数据之前, 请先进行以下替换:

  • KMS_PROJECT_ID: Google Cloud 包含密钥环的项目的项目 ID
  • LOCATION:密钥环的位置; 请使用其中一个 受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • KEY_RING_ID:用户定义的 密钥环标识符

执行以下命令:

Linux、macOS 或 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
您应该会收到一个空响应:
$

创建密钥

如需创建密钥,请使用 projects.locations.keyRings.cryptoKeys 方法。

REST

在使用任何请求数据之前, 请先进行以下替换:

  • KMS_PROJECT_ID:包含密钥环的 Google Cloud 项目的项目 ID
  • LOCATION:密钥环的位置;请使用其中一个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • KEY_RING_ID:用户定义的 密钥环标识符
  • KEY_ID:用户定义的密钥标识符

请求 JSON 正文:

{
  "purpose": "ENCRYPT_DECRYPT"
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

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

然后,执行以下命令以发送 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

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

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

然后,执行以下命令以发送 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

您应该收到类似以下内容的 JSON 响应:

{
  "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

在使用下面的命令数据之前, 请先进行以下替换:

  • KMS_PROJECT_ID:包含密钥环的 Google Cloud 项目的项目 ID
  • LOCATION:密钥环的位置;请使用其中一个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • KEY_RING_ID:用户定义的 密钥环标识符
  • KEY_ID:用户定义的密钥标识符

执行以下命令:

Linux、macOS 或 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"
您应该会收到一个空响应:
$

创建实例

为数据应驻留的特定区域创建实例。此实例引用您创建的加密密钥。如需了解详情,请参阅 客户管理的加密密钥 (CMEK)

如需创建实例,请使用 projects.locations.instances.create 方法。

(以下信息也可在 创建和管理实例中找到。)

在使用任何请求数据之前, 请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:密钥环和实例的位置;请使用其中一个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • INSTANCE_ID:用户定义的实例标识符
  • KMS_PROJECT_ID:包含密钥环的项目的 Google Cloud 项目 ID
  • KEY_RING_ID:用户定义的 密钥环标识符
  • KEY_ID:用户定义的密钥标识符

请求 JSON 正文:

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

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

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

然后,执行以下命令以发送 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

将请求正文保存在名为 request.json 的文件中。在终端中运行以下命令,在当前目录中创建或覆盖此文件:

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

然后,执行以下命令以发送 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

您应该收到类似以下内容的 JSON 响应:

{
  "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
}

如果成功,响应正文将包含一个 长时间运行的操作 ,其中包含一个 ID,该 ID 可用于检索 异步操作的进行中状态。复制返回的 OPERATION_ID 以在下一 部分中使用。

检查结果

使用 projects.locations.operations.get 方法检查实例是否已创建。如果响应包含 "done": false,请重复该命令,直到响应包含 "done": true。 这些操作可能需要几分钟到几小时才能完成。

在使用任何请求数据之前, 请先进行以下替换:

  • PROJECT_IDIAM 设置中列出的 Google Cloud 项目 ID
  • LOCATION:实例的位置;请使用其中一个受支持的区域
    显示位置
    • us-central1
    • us-east1
    • europe-west2
    • europe-west6
    • me-central2
    • australia-southeast1
  • OPERATION_ID:操作的标识符

如需发送请求,请选择以下方式之一:

curl

执行以下命令:

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

执行以下命令:

$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

您应该收到类似以下内容的 JSON 响应:

{
  "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"
  }
}

授予对 CMEK 密钥的访问权限

API 会在您的项目中自动创建一个服务帐号。服务账号需要访问 CMEK 密钥,以便使用该密钥加密和解密底层数据。授予对密钥的访问权限。

对于 PROJECT_NUMBER,请使用与 PROJECT_ID关联的项目编号。您可以在 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." \
  --role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
  --project="PROJECT_ID"

与支持团队联系

每次创建 AML AI 实例时, 请与 支持团队联系。请提供以下信息,以便 AML AI 产品团队可以根据您的需求以最佳方式配置您的实例:

  • 项目 ID
  • Google Cloud 区域
  • 实例 ID
  • 此实例内的数据集 中的 Party 表格中的预期当事方数量
  • 此实例内的数据集中的 Transaction 表格中的预期每年交易数量

如需申请更多配额限制,请参阅 配额

AML AI 提供多种类型的日志,包括平台日志、审核日志和数据访问日志。详细了解每种类型的日志记录: