AML AI を使用するには、インスタンスを作成します。AML AI Instance リソースは、他のすべての AML AI リソースのルートにあります。 Google Cloud プロジェクト内の同じリージョンに複数のインスタンスを作成できます。インスタンスは次の要件を満たします。
- 各インスタンスは Google Cloud リージョンに固有であり、データ所在地が保証される Google Cloud リージョン内にあります。
- 各インスタンスでは、すべての入力データと出力データが同じGoogle Cloud リージョンとプロジェクトに存在する必要があります。
- 各インスタンスには、AML AI によって作成されたデータの暗号化に使用する関連付けられた顧客管理の暗号鍵(CMEK)が 1 つ必要です。
- インスタンスの子リソースは、親インスタンスのロケーションと暗号化の設定を継承します。
- 各インスタンスは、カスタマイズされたアクセス管理をサポートしています。
利用可能な Google Cloud リージョンのリストは、AML AI のロケーションページにあります。ポリシーに基づいて、事業を展開している 1 つ(または複数)の地域を、利用可能な 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 プロジェクト IDLOCATION: キーリングのロケーション。 サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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 が含まれています。返された OPERATION_ID をコピーして、次のセクションで使用します。
結果を確認する
インスタンスが作成されたかどうかを確認するには、projects.locations.operations.get メソッドを使用します。レスポンスに "done": false が含まれている場合は、レスポンスに "done": true が含まれるまでコマンドを繰り返します。
これらのオペレーションの完了には数分~数時間かかることがあります。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: IAM 設定に記載されている Google Cloud プロジェクト IDLOCATION: インスタンスのロケーション。 サポートされているリージョンのいずれかを使用します。ロケーションを表示us-central1us-east1asia-south1europe-west1europe-west2europe-west4northamerica-northeast1southamerica-east1australia-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 設定ページで確認できます。
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 では、プラットフォーム ログ、監査ログ、データアクセス ログなど、複数の種類のログを使用できます。各タイプのロギングの詳細: