Criptografar recursos do Speech-to-Text

Nesta página, você verá como definir uma chave de criptografia no Speech-to-Text para criptografar recursos do Speech-to-Text.

O Speech-to-Text permite fornecer chaves de criptografia do Cloud Key Management Service e criptografar dados com a chave fornecida. Para saber mais, consulte a página sobre criptografia.

Antes de começar

  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.

      Acessar o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Salvar.
    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.

        Acessar o IAM
      2. Selecionar um projeto.
      3. Clique em CONCEDER ACESSO.
      4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

      5. Na lista Selecionar um papel, escolha um.
      6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
      7. Clique em Salvar.
      8. Install the Google Cloud CLI.
      9. To initialize the gcloud CLI, run the following command:

        gcloud init
      10. As bibliotecas de cliente podem usar o Application Default Credentials para autenticar facilmente com as APIs do Google e enviar solicitações para essas APIs. Com esse serviço, é possível testar seu aplicativo localmente e implantá-lo sem alterar o código subjacente. Para mais informações, consulte Autenticar para usar bibliotecas de cliente.

      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.

      Verifique também se você instalou a biblioteca de cliente.

      Ativar o acesso às chaves do Cloud Key Management Service

      O Speech-to-Text usa uma conta de serviço para acessar as chaves do Cloud KMS. Por padrão, a conta de serviço não tem acesso às chaves do Cloud KMS.

      O endereço de e-mail da conta de serviço é:

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

      Para criptografar recursos do Speech-to-Text usando chaves do Cloud KMS, atribua à conta de serviço o papel de roles/cloudkms.cryptoKeyEncrypterDecrypter:

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

      Mais informações sobre a política de IAM de projetos estão disponíveis em Gerenciar acesso a projetos, pastas e organizações.

      Mais informações sobre como gerenciar o acesso ao Cloud Storage estão disponíveis em Criar e gerenciar listas de controle de acesso na documentação do Cloud Storage.

      Especificar uma chave de criptografia

      Veja um exemplo de como fornecer uma chave de criptografia para o Speech-to-Text usando o recurso 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
      
      

      Quando uma chave de criptografia é especificada no recurso [Config] do projeto, todos os novos recursos criados no local correspondente são criptografados usando essa chave. Consulte a página de criptografia para mais informações sobre o que é criptografado e quando.

      Os recursos criptografados têm os campos kms_key_name e kms_key_version_name preenchidos nas respostas da API Speech-to-Text.

      Remover criptografia

      Para impedir que recursos futuros sejam criptografados com uma chave de criptografia, use o código acima e forneça a string vazia ("") como a chave na solicitação. Isso garante que novos recursos não sejam criptografados. Esse comando não descriptografa os recursos atuais.

      Rotação e exclusão de chaves

      Na rotação de chaves, os recursos criptografados com uma versão anterior da chave do Cloud KMS permanecem criptografados com essa versão. Todos os recursos criados após a rotação da chave são criptografados com a nova versão padrão da chave. Todos os recursos atualizados (usando métodos Update*) após a rotação de chaves são criptografados novamente com a nova versão padrão da chave.

      Na exclusão de chaves, o Speech-to-Text não pode descriptografar os dados nem criar recursos ou acessar recursos criptografados com a chave excluída. Da mesma forma, quando você revoga a permissão de uma chave do Speech-to-Text, ele não pode descriptografar os dados nem criar recursos ou acessar recursos criptografados com a chave de revogação de permissão do Speech-to-Text.

      Criptografar dados novamente

      Para recriptografar os recursos, chame o método Update* correspondente para cada recurso após atualizar a especificação da chave no recurso Config.

      Limpar

      Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

      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

      A seguir