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
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
: 작업의 식별자입니다.
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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
- 이 인스턴스 내의 데이터 세트에 있는 당사자 테이블의 예상 당사자 수
- 이 인스턴스 내의 데이터 세트에 있는 트랜잭션 테이블의 연간 예상 트랜잭션 수
추가 할당량 한도를 요청하려면 할당량을 참조하세요.
AML AI는 플랫폼 로그, 감사 로그, 데이터 액세스 로그를 포함하여 여러 유형의 로그를 사용할 수 있게 해줍니다. 각 로깅 유형에 대해 자세히 알아보세요.