建立 AML AI 執行個體

如要使用 AML AI,請建立執行個體。AML AI Instance 資源位於所有其他 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:包含金鑰環的專案 ID Google Cloud
  • LOCATION:金鑰環的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID:使用者定義的金鑰環 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:包含金鑰環的專案 ID Google Cloud
  • LOCATION:金鑰環的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID:使用者定義的金鑰環 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:包含金鑰環的專案 ID Google Cloud
  • LOCATION:金鑰環的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID:使用者定義的金鑰環 ID
  • KEY_ID:使用者定義的金鑰 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:包含金鑰環的專案 ID Google Cloud
  • LOCATION:金鑰環的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • KEY_RING_ID:使用者定義的金鑰環 ID
  • KEY_ID:使用者定義的金鑰 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:您在身分與存取權管理設定中列出的 Google Cloud 專案 ID
  • LOCATION金鑰環和執行個體的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • INSTANCE_ID:使用者定義的執行個體 ID
  • KMS_PROJECT_ID:包含金鑰環的專案 ID Google Cloud
  • KEY_RING_ID:使用者定義的金鑰環 ID
  • KEY_ID:使用者定義的金鑰 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。複製傳回的 OPERATION_ID,以便在下一節中使用。

查看結果

使用 projects.locations.operations.get 方法檢查執行個體是否已建立。如果回應包含 "done": false,請重複執行指令,直到回應包含 "done": true 為止。這些作業可能需要幾分鐘到幾小時才能完成。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:您在身分與存取權管理設定中列出的 Google Cloud 專案 ID
  • LOCATION:執行個體的位置;請使用其中一個支援的區域
    顯示地區
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
    • australia-southeast1
  • OPERATION_ID:作業的 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 Settings」(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
  • 這個執行個體中資料集內參與者資料表中的預期參與者人數
  • 這個執行個體內資料集「Transaction」資料表中的預期每年交易次數

如要申請額外配額限制,請參閱「配額」一文。

AML AI 提供多種記錄,包括平台記錄、稽核記錄和資料存取記錄。進一步瞭解各種類型的記錄: