Halaman ini menjelaskan cara menggunakan Cloud Key Management Service (Cloud KMS) untuk membuat kunci yang digabungkan yang kemudian dapat Anda gunakan untuk mengirim permintaan deidentify
dan reidentify
ke Cloud Data Loss Prevention API dari Sensitive Data Protection.
Proses penggunaan kunci kriptografis untuk mende-identifikasi dan mengidentifikasi ulang konten disebut pseudonimisasi (atau tokenisasi). Untuk informasi konseptual tentang proses ini, lihat Pseudonimisasi.
Untuk contoh menyeluruh yang menunjukkan cara membuat kunci yang digabungkan, membuat token konten, dan mengidentifikasi ulang konten yang di-tokenisasi, lihat Panduan memulai: Menghapus identifikasi dan mengidentifikasi ulang teks sensitif.
Anda dapat menyelesaikan langkah-langkah dalam topik ini dalam waktu 5 hingga 10 menit, tidak termasuk langkah-langkah Sebelum memulai.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Sensitive Data Protection and Cloud KMS APIs:
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Sensitive Data Protection and Cloud KMS APIs:
gcloud services enable dlp.googleapis.com
cloudkms.googleapis.com -
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/dlp.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
Langkah 1: Buat key ring dan kunci
Sebelum memulai prosedur ini, tentukan tempat Anda ingin Perlindungan Data Sensitif
memproses permintaan de-identifikasi dan re-identifikasi. Saat membuat kunci Cloud KMS, Anda harus menyimpannya di global
atau di region yang sama dengan yang akan Anda gunakan untuk permintaan Perlindungan Data Sensitif.
Jika tidak, permintaan Perlindungan Data Sensitif akan gagal.
Anda dapat menemukan daftar lokasi yang didukung di Lokasi Perlindungan Data Sensitif. Catat nama
region yang Anda pilih (misalnya, us-west1
).
Prosedur ini menggunakan global
sebagai lokasi untuk semua permintaan API. Jika Anda ingin
menggunakan region lain, ganti global
dengan nama region.
Buat key ring:
gcloud kms keyrings create "dlp-keyring" \ --location "global"
Buat kunci:
gcloud kms keys create "dlp-key" \ --location "global" \ --keyring "dlp-keyring" \ --purpose "encryption"
Cantumkan key ring dan kunci Anda:
gcloud kms keys list \ --location "global" \ --keyring "dlp-keyring"
Anda akan mendapatkan output berikut:
NAME PURPOSE ALGORITHM PROTECTION_LEVEL LABELS PRIMARY_ID PRIMARY_STATE projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key ENCRYPT_DECRYPT GOOGLE_SYMMETRIC_ENCRYPTION SOFTWARE 1 ENABLED
Dalam output ini,
PROJECT_ID
adalah ID project Anda.Jalur di bagian
NAME
adalah nama resource lengkap kunci Cloud KMS Anda. Perhatikan hal ini karena permintaan penghapusan identitas dan identifikasi ulang memerlukannya.
Langkah 2: Buat kunci AES yang dienkode base64
Bagian ini menjelaskan cara membuat kunci Advanced Encryption Standard (AES) dan mengenkodenya dalam format base64.
Buat kunci AES 128-, 192-, atau 256-bit. Perintah berikut menggunakan
openssl
untuk membuat kunci 256-bit di direktori saat ini:openssl rand -out "./aes_key.bin" 32
File
aes_key.bin
ditambahkan ke direktori Anda saat ini.Enkode kunci AES sebagai string base64:
base64 -i ./aes_key.bin
Anda akan mendapatkan output yang mirip dengan berikut ini:
uEDo6/yKx+zCg2cZ1DBwpwvzMVNk/c+jWs7OwpkMc/s=
Langkah 3: Gabungkan kunci AES menggunakan kunci Cloud KMS
Bagian ini menjelaskan cara menggunakan kunci Cloud KMS yang Anda buat di Langkah 1 untuk menggabungkan kunci AES yang dienkode base64 yang Anda buat di Langkah 2.
Untuk menggabungkan kunci AES, gunakan curl
untuk mengirim permintaan berikut ke Cloud KMS API projects.locations.keyRings.cryptoKeys.encrypt
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key:encrypt" \
--request "POST" \
--header "Authorization:Bearer $(gcloud auth application-default print-access-token)" \
--header "content-type: application/json" \
--data "{\"plaintext\": \"BASE64_ENCODED_AES_KEY\"}"
Ganti kode berikut:
PROJECT_ID
: ID project Anda.BASE64_ENCODED_AES_KEY
: string berenkode base64 yang ditampilkan di Langkah 2.
Respons yang Anda dapatkan dari Cloud KMS mirip dengan JSON berikut:
{ "name": "projects/PROJECT_ID/locations/global/keyRings/dlp-keyring/cryptoKeys/dlp-key/cryptoKeyVersions/1", "ciphertext": "CiQAYuuIGo5DVaqdE0YLioWxEhC8LbTmq7Uy2G3qOJlZB7WXBw0SSQAjdwP8ZusZJ3Kr8GD9W0vaFPMDksmHEo6nTDaW/j5sSYpHa1ym2JHk+lUgkC3Zw5bXhfCNOkpXUdHGZKou1893O8BDby/82HY=", "ciphertextCrc32c": "901327763", "protectionLevel": "SOFTWARE" }
Dalam output ini, PROJECT_ID
adalah ID project Anda.
Catat nilai ciphertext
dalam respons yang Anda dapatkan.
Ini adalah kunci gabungan Anda.
Langkah selanjutnya
Pelajari lebih lanjut cara membuat token data melalui kunci kriptografis.
Pelajari contoh menyeluruh yang menunjukkan cara membuat kunci yang digabungkan, membuat token konten, dan mengidentifikasi ulang konten yang di-token.
Pelajari lebih lanjut metode de-identifikasi yang menerima kunci yang digabungkan ini, dan lihat contoh kode.