AML AI 인스턴스 만들기

AML AI를 사용하려면 인스턴스를 만듭니다. AML AI 인스턴스 리소스는 다른 모든 AML AI 리소스의 루트에 있습니다. Google Cloud 프로젝트 내 같은 리전에 인스턴스를 여러 개 만들 수 있습니다. 인스턴스는 다음을 준수합니다.

  • 각 인스턴스는 Google Cloud 리전에 따라 달라지므로 Google Cloud 리전 내에서 데이터 상주를 보장합니다.
  • 각 인스턴스에서 모든 입력 및 출력 데이터가 같은 Google Cloud 리전과 프로젝트에 있어야 합니다.
  • 각 인스턴스에는 AML AI에서 생성된 데이터를 암호화하는 데 사용되는 연결된 고객 관리 암호화 키(CMEK) 한 개가 필요합니다.
  • 인스턴스의 하위 리소스는 상위 인스턴스의 위치 및 암호화 설정을 상속합니다.
  • 각 인스턴스는 맞춤설정된 액세스 관리를 지원합니다.

AML AI 위치 페이지에서 사용 가능한 Google Cloud 리전 목록을 확인할 수 있습니다. 정책에 따라 작업을 수행하는 지역 하나(또는 여러 개)를 사용 가능한 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 프로젝트 ID입니다.
  • LOCATION: 키링 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • 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 프로젝트 ID입니다.
  • LOCATION: 키링 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • 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 프로젝트 ID입니다.
  • LOCATION: 키링 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • 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 프로젝트 ID입니다.
  • LOCATION: 키링 위치입니다. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • 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 프로젝트 ID
  • LOCATION: 키링 및 인스턴스 위치. 지원되는 리전 중 하나를 사용합니다.
    위치 표시
    • 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 프로젝트 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가 있는 장기 실행 작업이 포함됩니다. 반환된 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
    • 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
  • 이 인스턴스 내의 데이터 세트에 있는 당사자 테이블의 예상 당사자 수
  • 이 인스턴스 내의 데이터 세트에 있는 트랜잭션 테이블의 연간 예상 트랜잭션 수

추가 할당량 한도를 요청하려면 할당량을 참조하세요.

AML AI는 플랫폼 로그, 감사 로그, 데이터 액세스 로그를 포함하여 여러 유형의 로그를 사용할 수 있게 해줍니다. 각 로깅 유형에 대해 자세히 알아보세요.