如需使用 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 密钥
步骤
如需创建 Google Cloud 项目并启用相应 API,请参阅设置项目和权限。
请按照以下步骤创建 CMEK 密钥和 AML AI 实例。
创建加密密钥
如需创建加密密钥,请先创建密钥环,然后再创建密钥本身。如需了解详情,请参阅使用 Cloud KMS 创建加密密钥。
创建密钥环
如需创建钥匙串,请使用 projects.locations.keyRings.create
方法。
REST
在使用任何请求数据之前,请先进行以下替换:
KMS_PROJECT_ID
:包含密钥串的项目的 Google Cloud 项目 IDLOCATION
:密钥环的位置;请使用某个受支持的地区显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
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 项目 IDLOCATION
:密钥环的位置;请使用某个受支持的地区显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
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 项目 IDLOCATION
:密钥环的位置;请使用某个受支持的地区显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
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 项目 IDLOCATION
:密钥环的位置;请使用某个受支持的地区显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
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_ID
:IAM 设置中列出的 Google Cloud 项目 IDLOCATION
:密钥环的位置和实例;请使用某个受支持的区域显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
australia-southeast1
INSTANCE_ID
:实例的用户定义标识符KMS_PROJECT_ID
:包含密钥串的项目的 Google Cloud 项目 IDKEY_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_ID
:IAM 设置中列出的 Google Cloud 项目 IDLOCATION
:实例的位置;请使用某个受支持的地区显示位置us-central1
us-east1
asia-south1
europe-west1
europe-west2
europe-west4
northamerica-northeast1
southamerica-east1
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.iam.gserviceaccount.com" \
--role="roles/cloudkms.cryptoKeyEncrypterDecrypter" \
--project="PROJECT_ID"
与支持团队联系
每次创建 AML AI 实例时,请与支持团队联系。请提供以下信息,以便 AML AI 产品团队根据您的需求对实例进行最佳配置:
- 项目 ID
- Google Cloud 区域
- 实例 ID
- 此实例中数据集中 Party 表中的预期派对数量
- 此实例中数据集中 Transaction 表中每年预计的交易数量
如需申请更多配额限制,请参阅配额。
AML AI 提供多种类型的日志,包括平台日志、审核日志和数据访问日志。详细了解每种日志记录类型: