Speech-to-Text-Ressourcen verschlüsseln

Auf dieser Seite wird gezeigt, wie Sie in Speech-to-Text einen Verschlüsselungsschlüssel festlegen, um Speech-to-Text-Ressourcen zu verschlüsseln.

Mit Speech-to-Text können Sie Verschlüsselungsschlüssel von Cloud Key Management Service bereitstellen und Daten mit dem bereitgestellten Schlüssel verschlüsseln. Weitere Informationen zur Verschlüsselung finden Sie auf der Seite Verschlüsselung.

Hinweise

  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.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf Zugriff erlauben.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

    5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
    6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
    7. Klicken Sie auf Speichern.
    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.

        IAM aufrufen
      2. Wählen Sie das Projekt aus.
      3. Klicken Sie auf Zugriff erlauben.
      4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.

      5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
      6. Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
      7. Klicken Sie auf Speichern.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. Clientbibliotheken können Standardanmeldedaten für Anwendungen verwenden, um sich einfach bei Google APIs zu authentifizieren und Anfragen an diese APIs zu senden. Mit den Standardanmeldedaten für Anwendungen können Sie Ihre Anwendung lokal testen und bereitstellen, ohne den zugrunde liegenden Code zu ändern. Weitere Informationen finden Sie unter Authentifizieren Sie sich für die Verwendung von Clientbibliotheken.

      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.

      Prüfen Sie außerdem, ob Sie die Clientbibliothek installiert haben.

      Zugriff auf Cloud Key Management Service-Schlüssel aktivieren

      Speech-to-Text verwendet ein Dienstkonto, um auf Ihre Cloud KMS-Schlüssel zuzugreifen. Standardmäßig hat das Dienstkonto keinen Zugriff auf Cloud KMS-Schlüssel.

      Die E-Mail-Adresse des Dienstkontos lautet:

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

      Zum Verschlüsseln von Speech-to-Text-Ressourcen mit Cloud KMS-Schlüsseln können Sie diesem Dienstkonto die Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter zuweisen:

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

      Weitere Informationen zur IAM-Richtlinie für Projekte finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

      Weitere Informationen zur Verwaltung des Zugriffs auf Cloud Storage finden Sie unter Zugriffssteuerungslisten erstellen und verwalten in der Cloud Storage-Dokumentation.

      Verschlüsselungsschlüssel angeben

      Im Folgenden sehen Sie ein Beispiel für die Bereitstellung eines Verschlüsselungsschlüssels für Speech-to-Text mit der Ressource 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
      
      

      Wenn in der Ressource [Config] Ihres Projekts ein Verschlüsselungsschlüssel angegeben ist, werden alle am entsprechenden Standort erstellten neuen Ressourcen mit diesem Schlüssel verschlüsselt. Auf der Seite Verschlüsselung finden Sie weitere Informationen dazu, was verschlüsselt wird und wann.

      Bei verschlüsselten Ressourcen werden die Felder kms_key_name und kms_key_version_name in die Antworten der Speech-to-Text API ausgefüllt.

      Verschlüsselung entfernen

      Wenn Sie verhindern möchten, dass zukünftige Ressourcen mit einem Verschlüsselungsschlüssel verschlüsselt werden, verwenden Sie den obigen Code und geben den leeren String ("") als Schlüssel in der Anfrage an. Dadurch wird sichergestellt, dass neue Ressourcen nicht verschlüsselt werden. Mit diesem Befehl werden vorhandene Ressourcen nicht entschlüsselt.

      Schlüsselrotation und -löschung

      Bei der Schlüsselrotation bleiben Ressourcen, die mit einer früheren Version des Cloud KMS-Schlüssels verschlüsselt wurden, mit dieser Version verschlüsselt. Alle Ressourcen, die nach der Schlüsselrotation erstellt werden, werden mit der neuen Standardversion des Schlüssels verschlüsselt. Alle nach der Schlüsselrotation aktualisierten Ressourcen werden (über Update*-Methoden) mit der neuen Standardversion des Schlüssels neu verschlüsselt.

      Beim Löschen von Schlüsseln kann Speech-to-Text Ihre Daten nicht mehr entschlüsseln. Außerdem kann es keine Ressourcen erstellen oder nicht auf Ressourcen zugreifen, die mit dem gelöschten Schlüssel verschlüsselt wurden. Wenn Sie die Speech-to-Text-Berechtigung für einen Schlüssel widerrufen, kann Speech-to-Text Ihre Daten nicht entschlüsseln und keine Ressourcen erstellen, die mit dem Speech-to-Text-Schlüssel mit widerrufener Berechtigung verschlüsselt wurden.

      Daten neu verschlüsseln

      Wenn Sie Ihre Ressourcen neu verschlüsseln möchten, können Sie nach der Aktualisierung der Schlüsselspezifikation in der Ressource Config die entsprechende Update*-Methode für jede Ressource aufrufen.

      Bereinigen

      Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

      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

      Console

    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

      Nächste Schritte