Mengenkripsi resource Speech-to-Text

Halaman ini menunjukkan cara menyetel kunci enkripsi di Speech-to-Text untuk mengenkripsi resource Speech-to-Text.

Dengan Speech-to-Text, Anda dapat menyediakan kunci enkripsi Cloud Key Management Service dan mengenkripsi data dengan kunci yang disediakan. Untuk mempelajari enkripsi lebih lanjut, lihat halaman enkripsi.

Sebelum memulai

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Aktifkan API Speech-to-Text.

    Mengaktifkan API

  5. Pastikan Anda memiliki peran berikut di project: Cloud Speech Administrator

    Memeriksa peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Akun utama, cari baris yang berisi alamat email Anda.

      Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.

    4. Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom Akun utama baru, masukkan alamat email Anda.
    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. Klik Simpan.
  6. Menginstal Google Cloud CLI.
  7. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  8. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  9. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  10. Aktifkan API Speech-to-Text.

    Mengaktifkan API

  11. Pastikan Anda memiliki peran berikut di project: Cloud Speech Administrator

    Memeriksa peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Akun utama, cari baris yang berisi alamat email Anda.

      Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.

    4. Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Google Cloud, buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom Akun utama baru, masukkan alamat email Anda.
    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. Klik Simpan.
  12. Menginstal Google Cloud CLI.
  13. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  14. Library klien dapat menggunakan Kredensial Default Aplikasi untuk dengan mudah melakukan autentikasi dengan Google API dan mengirim permintaan ke API tersebut. Dengan Kredensial Default Aplikasi, Anda dapat menguji aplikasi secara lokal dan men-deploy aplikasi tanpa mengubah kode yang mendasarinya. Untuk informasi selengkapnya, lihat Autentikasi untuk menggunakan library klien.

  15. Buat kredensial autentikasi lokal untuk Akun Google Anda:

    gcloud auth application-default login

Pastikan juga Anda telah menginstal library klien.

Mengaktifkan akses ke kunci Cloud Key Management Service

Speech-to-Text menggunakan akun layanan untuk mengakses kunci Cloud KMS Anda. Secara default, akun layanan tidak memiliki akses ke kunci Cloud KMS.

Alamat email akun layanan adalah sebagai berikut:

service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com

Untuk mengenkripsi resource Speech-to-Text menggunakan kunci Cloud KMS, Anda dapat memberikan peran roles/cloudkms.cryptoKeyEncrypterDecrypter pada akun layanan ini:

gcloud projects add-iam-policy-binding PROJECT_NUMBER \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-speech.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Informasi selengkapnya tentang kebijakan IAM project tersedia di bagian Mengelola akses ke project, folder, dan organisasi.

Informasi selengkapnya tentang cara mengelola akses ke Cloud Storage tersedia di bagian Membuat dan Mengelola daftar kontrol akses dalam dokumentasi Cloud Storage.

Menentukan kunci enkripsi

Berikut adalah contoh penyediaan kunci enkripsi ke Speech-to-Text menggunakan resource Config:

Python

from google.cloud.speech_v2 import SpeechClient
from google.cloud.speech_v2.types import cloud_speech

def enable_cmek(
    project_id: str,
    kms_key_name: str,
) -> cloud_speech.RecognizeResponse:
    """Enable CMEK in a project and region."""
    # Instantiates a client
    client = SpeechClient()

    request = cloud_speech.UpdateConfigRequest(
        config=cloud_speech.Config(
            name=f"projects/{project_id}/locations/global/config",
            kms_key_name=kms_key_name,
        ),
        update_mask={"paths": ["kms_key_name"]},
    )

    # Updates the KMS key for the project and region.
    response = client.update_config(request=request)

    print(f"Updated KMS key: {response.kms_key_name}")

    return response

Jika kunci enkripsi ditentukan dalam resource [Config] project Anda, setiap resource baru yang dibuat di lokasi terkait akan dienkripsi menggunakan kunci ini. Lihat halaman enkripsi untuk informasi selengkapnya tentang apa saja yang dienkripsi dan kapan.

Resource terenkripsi memiliki kolom kms_key_name dan kms_key_version_name yang diisi dalam respons Speech-to-Text API.

Hapus enkripsi

Agar resource di masa mendatang tidak dienkripsi dengan kunci enkripsi, gunakan kode di atas dan berikan string kosong ("") sebagai kunci dalam permintaan. Tindakan ini memastikan bahwa resource baru tidak dienkripsi. Perintah ini tidak membongkar enkripsi sumber daya yang ada.

Rotasi dan penghapusan kunci

Pada rotasi kunci, resource yang dienkripsi dengan kunci Cloud KMS versi sebelumnya tetap dienkripsi dengan versi tersebut. Setiap resource yang dibuat setelah rotasi kunci dienkripsi dengan versi default kunci yang baru. Setiap resource yang diupdate (menggunakan metode Update*) setelah rotasi kunci akan dienkripsi ulang dengan versi default baru kunci tersebut.

Saat penghapusan kunci, Speech-to-Text tidak dapat mendekripsi data Anda dan tidak dapat membuat resource atau mengakses resource yang dienkripsi dengan kunci yang dihapus. Demikian pula, saat Anda mencabut izin Speech-to-Text untuk sebuah kunci, Speech-to-Text tidak dapat mendekripsi data dan tidak dapat membuat resource atau mengakses resource yang dienkripsi dengan Speech-to -Kunci teks yang dicabut izinnya.

Enkripsi ulang data

Untuk mengenkripsi ulang resource, Anda dapat memanggil metode Update* yang sesuai untuk setiap resource setelah memperbarui spesifikasi kunci dalam resource Config.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Opsional: Cabut kredensial autentikasi yang Anda buat, dan hapus file kredensial lokal.

    gcloud auth application-default revoke
  2. Opsional: Cabut kredensial dari gcloud CLI.

    gcloud auth revoke

Konsol

  • Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  • Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  • Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
  • gcloud

    Menghapus project Google Cloud:

    gcloud projects delete PROJECT_ID

    Langkah selanjutnya