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. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Speech-to-Text APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Buka IAM
    2. Pilih project.
    3. Klik Berikan akses.
    4. Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.

    5. Di daftar Pilih peran, pilih peran.
    6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
    7. Klik Simpan.
    8. Install the Google Cloud CLI.
    9. To initialize the gcloud CLI, run the following command:

      gcloud init
    10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    11. Make sure that billing is enabled for your Google Cloud project.

    12. Enable the Speech-to-Text APIs.

      Enable the APIs

    13. Make sure that you have the following role or roles on the project: Cloud Speech Administrator

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Buka IAM
      2. Pilih project.
      3. Klik Berikan akses.
      4. Di kolom New principals, masukkan ID pengguna Anda. Ini biasanya adalah alamat email untuk Akun Google.

      5. Di daftar Pilih peran, pilih peran.
      6. Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
      7. Klik Simpan.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. 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 Lakukan autentikasi untuk menggunakan library klien.

      11. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Selain itu, pastikan 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

      import os
      
      from google.cloud.speech_v2 import SpeechClient
      from google.cloud.speech_v2.types import cloud_speech
      
      PROJECT_ID = os.getenv("GOOGLE_CLOUD_PROJECT")
      
      
      def enable_cmek(
          kms_key_name: str,
      ) -> cloud_speech.Config:
          """Enable Customer-Managed Encryption Keys (CMEK) in a project and region.
          Args:
              kms_key_name (str): The full resource name of the KMS key to be used for encryption.
                  E.g,: projects/{PROJECT_ID}/locations/{LOCATION}/keyRings/{KEY_RING}/cryptoKeys/{KEY_NAME}
          Returns:
              cloud_speech.Config: The response from the update configuration request,
              containing the updated configuration details.
          """
          # 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. Optional: Revoke the authentication credentials that you created, and delete the local credential file.

        gcloud auth application-default revoke
      2. Optional: Revoke credentials from the gcloud CLI.

        gcloud auth revoke

      Konsol

    14. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    15. In the project list, select the project that you want to delete, and then click Delete.
    16. In the dialog, type the project ID, and then click Shut down to delete the project.
    17. gcloud

      Delete a Google Cloud project:

      gcloud projects delete PROJECT_ID

      Langkah berikutnya