Вы можете существенно изменить защиту KMS на месте, скопировав таблицу себе. В соответствующем примере Python вы должны установить dest_dataset_ref
и dest_table_ref
такими же, как source
, а затем сконфигурировать задание копирования, чтобы
WRITE_TRUNCATE
написать расположение, добавив следующую строку:
job_config.write_disposition = 'WRITE_TRUNCATE'
Чтобы сделать то же самое через REST API, запустите:
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" '
gcurl -X POST -T "kms_request.json" https://www.googleapis.com/bigquery/v2/projects/$PROJECT/jobs
, где kms_request.json
будет:
{
"configuration": {
"jobType": "COPY",
"copy": {
"sourceTable": {
"projectId": "[PROJECT]",
"datasetId": "[DATASET]",
"tableId": "[TABLE]"
},
"destinationTable": {
"projectId": "[PROJECT]",
"datasetId": "[DATASET]",
"tableId": "[TABLE]"
},
"writeDisposition": "WRITE_TRUNCATE",
"destinationEncryptionConfiguration": {
"kmsKeyName": "projects/[PROJECT]/locations/[KMS_KEY_LOCATION]/keyRings/[KMS_KEY_RING]/cryptoKeys/[KMS_KEY]"
}
}
}
}