AML AI インスタンスを作成する

AML AI を使用するには、インスタンスを作成します。AML AI Instance リソースは、他のすべての AML AI リソースのルートにあります。Google Cloud プロジェクト内の同じリージョンに複数のインスタンスを作成できます。インスタンスには次の点に注意してください。

  • 各インスタンスは Google Cloud リージョンに固有で、Google Cloud リージョン内にデータ所在地を保証します。
  • 各インスタンスでは、すべての入力データと出力データが同じ Google Cloud リージョンとプロジェクト内に存在する必要があります。
  • 各インスタンスには、AML AI によって作成されたデータの暗号化に使用する顧客管理の暗号鍵(CMEK)が 1 つ必要です。
  • インスタンスの子リソースは、親インスタンスのロケーションと暗号化の設定を継承します。
  • 各インスタンスはカスタマイズされたアクセス管理をサポートしています。

使用可能な Google Cloud リージョンのリストについては、AML AI のロケーション ページをご覧ください。ポリシーに基づいて、運用している 1 つまたは複数の地域を利用可能な AML AI ロケーションにマッピングできます。使用する AML AI のロケーションごとに少なくとも 1 つの AML AI インスタンスを作成する必要があります。

コマーシャルとリテールの両方のお客様のリスク スコアリングを 1 つの AML AI インスタンスで実行できます。ただし、次のいずれかを行うには、別のインスタンスを作成します。

  • AML データのさまざまなセットへのアクセスを、組織内の異なるメンバーに制限する
  • 異なる AML データのセットごとに異なる CMEK 鍵を使用する

ステップ

Google Cloud プロジェクトを作成して API を有効にするには、プロジェクトと権限を設定するをご覧ください。

CMEK 鍵と AML AI インスタンスを作成するには、次の手順を行います。

暗号鍵の作成

暗号鍵を作成するには、キーリングを作成してから、自体を作成します。詳細については、Cloud KMS で暗号鍵を作成するをご覧ください。

キーリングを作成する

キーリングを作成するには、projects.locations.keyRings.create メソッドを使用します。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • KMS_PROJECT_ID: キーリングを含むプロジェクトの Google Cloud プロジェクト ID
  • LOCATION: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • 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": CREATE_TIME
}

gcloud

後述のコマンドデータを使用する前に、次のように置き換えます。

  • LOCATION: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: キーリングのユーザー定義の識別子

次のコマンドを実行します。

Linux、macOS、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
空のレスポンスが返されます。
$

キーを作成

鍵を作成するには、projects.locations.keyRings.cryptoKeys メソッドを使用します。

REST

リクエストのデータを使用する前に、次のように置き換えます。

  • KMS_PROJECT_ID: キーリングを含むプロジェクトの Google Cloud プロジェクト ID
  • LOCATION: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • 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": 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

後述のコマンドデータを使用する前に、次のように置き換えます。

  • LOCATION: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • KEY_RING_ID: キーリングのユーザー定義の識別子
  • KEY_ID: 鍵のユーザー定義の識別子

次のコマンドを実行します。

Linux、macOS、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"
空のレスポンスが返されます。
$

インスタンスを作成する

データを保存する特定のリージョンに対するインスタンスを作成します。このインスタンスは、作成した暗号鍵を参照します。詳細については、顧客管理の暗号鍵(CMEK)をご覧ください。

インスタンスを作成するには、projects.locations.instances.create メソッドを使用します。

(次の情報はインスタンスの作成と管理でも確認できます)。

リクエストのデータを使用する前に、次のように置き換えます。

  • PROJECT_ID: IAM 設定に載っている Google Cloud プロジェクト ID。
  • LOCATION: キーリングのロケーションとインスタンス。サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • 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": CREATE_TIME,
    "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: IAM 設定に載っている Google Cloud プロジェクト ID。
  • LOCATION: オペレーションのロケーション。 サポートされているリージョンのいずれかを使用します。
    • us-central1
    • us-east1
    • asia-south1
    • europe-west1
    • europe-west2
    • europe-west4
    • northamerica-northeast1
    • southamerica-east1
  • 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": 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"
  }
}

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 テーブルで予想される 1 年あたりのトランザクション数

追加の割り当て上限をリクエストするには、割り当てをご覧ください。

AML AI では、プラットフォーム ログ、監査ログ、データアクセス ログなど、複数のログを使用できます。各タイプのロギングの詳細については、以下をご覧ください。