Criar e gerenciar secrets com o Cloud Code

Saiba como criar e gerenciar secrets usando a integração do Secret Manager do Cloud Code.


Para seguir as instruções da tarefa diretamente no editor do Cloud Shell, clique em Orientação:

Orientações


Antes de começar

  1. No console do Google Cloud, acesse a página do seletor de projetos.

    Acessar o seletor de projetos

  2. Selecione ou crie um projeto do Google Cloud.

  3. Criar o serviço do Cloud Run

    Use o editor do Cloud Shell como ambiente para criar o serviço e o secret do Cloud Run. Ele vem pré-carregado com as ferramentas necessárias para desenvolvimento na nuvem.

    Siga estas etapas para criar o serviço:

    1. Na barra de status do Cloud Code, clique no nome do projeto ativo.

      Nome do projeto ativo na barra de status

    2. No menu de escolha rápida que é exibido, clique em New Application e, em seguida, clique em Cloud Run Application.

    3. Na lista de amostras do Cloud Run, selecione Python (Flask): Cloud Run.

    4. Selecione uma pasta para seu exemplo e clique em Criar novo aplicativo.

    Depois que o editor do Cloud Shell carregar seu serviço em um novo espaço de trabalho, confira os arquivos na visualização de explorador.

    Criar um secret

    Com o Secret Manager, você armazena, gerencia e acessa secrets com segurança como blobs binários ou strings de texto. Além disso, ele gerencia os secrets, o que significa que você não precisa lidar com máquinas virtuais ou serviços operacionais.

    Para criar um secret com a integração do Secret Manager do Cloud Code, faça o seguinte:

    1. Clique em Secret Manager e aguarde alguns minutos para carregar.
    2. Se for preciso autorizar o Cloud Shell a fazer chamadas das APIs do Google Cloud, clique em Autorizar.
    3. Clique em add Criar secret.
    4. Se solicitado, escolha o projeto do Google Cloud no seletor suspenso.
    5. Se solicitado, ative a API Secret Manager.
    6. Na guia Secret Manager - Criar secret exibida, insira o seguinte no campo Nome:

      my-secret
      
    7. No campo Valor do secret, insira:

      Hello secret!
      
    8. Clique em Criar secret. Uma mensagem informando que ela foi criada será exibida.

    Adicionar um secret ao código

    Secrets são ótimos para armazenar informações de configuração, como senhas de bancos de dados, chaves de API ou certificados TLS necessários para um aplicativo no ambiente de execução.

    Para adicionar uma chave secreta ao seu código:

    1. Abra a visualização API Cloud e selecione a API Secret Manager.

      Isso abre uma guia de detalhes da API Google Cloud com a API Secret Manager como cabeçalho.

    2. Na seção Instalar biblioteca de cliente, clique na guia Python e em play_arrow Executar no terminal. Isso instala a biblioteca de cliente google-cloud-secret-manager.

    3. Abra requirements.txt e adicione a seguinte linha ao final do arquivo:

      google-cloud-secret-manager==2.1.0
      

      Suas alterações são salvas automaticamente.

    4. Para ver o valor mais recente do secret, abra app.py e copie e cole a seguinte função: após a função hello:

      def access_secret_version(secret_version_id):
          """Return the value of a secret's version"""
          from google.cloud import secretmanager
      
          # Create the Secret Manager client.
          client = secretmanager.SecretManagerServiceClient()
      
          # Access the secret version.
          response = client.access_secret_version(name=secret_version_id)
      
          # Return the decoded payload.
          return response.payload.data.decode('UTF-8')
      
      
    5. Para chamar a função access_secret_version, substitua a variável da mensagem pelo seguinte:

      message = access_secret_version("<SECRET_VERSION_ID>")
      
    6. Se a guia Secret Manager - Criar secret ainda estiver aberta, file_copy Copie o ID.

      Para conferir o ID de uma versão do secret a qualquer momento, acesse Secret Manager > [SECRET_NAME] > Versions. Mantenha o ponteiro sobre a versão e clique em Copiar ID do recurso.

    7. Para adicionar o ID da versão, substitua o marcador <SECRET_VERSION_ID> pelo ID copiado.

    Executar no emulador do Cloud Run

    Para testar o novo secret, execute o serviço do Cloud Run localmente no emulador do Cloud Run.

    1. Abra o menu Cloud Code na barra de status.
    2. Para criar e implantar seu serviço no emulador, selecione Executar no emulador do Cloud Run.
    3. Na guia "Run/Debug on Cloud Run Emulator" exibida, clique em Executar.
    4. Ao executar a configuração pela primeira vez, esse processo pode levar até cinco minutos. O painel Saída mostra o progresso à medida que o app é criado e implantado.

    5. Depois de criar o app, inicie-o clicando no link de host local que aparece no painel Saída. O valor do secret é exibido abaixo do gráfico de sucesso.

    Ver e criar uma nova versão do secret

    A visualização do Secret Manager do Cloud Code fornece uma visão rápida dos secrets do projeto, com ações para gerenciá-los.

    Como ver o valor de uma versão do secret

    1. Clique na visualização Secret Manager.
    2. Clique no secret para expandir o secret.
    3. Na pasta Versões, clique com o botão direito do mouse na versão numerada da qual você quer ver o valor e selecione Mostrar valor da versão.

    Não é possível editar uma versão do secret. Para atualizar o valor de um secret, crie uma nova versão.

    Criar uma nova versão do secret

    O valor de um secret é armazenado em uma versão do secret. Um secret pode ter muitas versões. Isso é útil em situações em que um secret é alterado. Atualizar um secret com uma nova versão significa que não é necessário atualizar seu código.

    1. Clique na visualização Secret Manager.
    2. Clique com o botão direito do mouse no nome do secret e selecione Criar versão do secret.
    3. Na guia Secret Manager - Criar versão exibida, insira um novo valor e clique em Criar versão.
    4. Depois que a guia Secret Manager - Criar secret abrir, clique em file_copy Copiar copie o ID.
    5. Para adicionar o ID da versão mais recente, substitua a versão atual que aparece na variável de mensagem em app.py pelo ID da versão mais recente que você copiou.

    Se você quiser que o código use sempre a versão mais recente, substitua o número da versão no final do ID por latest.

    Ver e gerenciar secrets

    Desativar uma versão do secret

    As versões do secret são ativadas por padrão após a criação, o que significa que elas podem ser acessadas. Não é possível acessar um secret desativado, mas é possível restaurar o acesso a ele a qualquer momento.

    Para desativar uma versão do secret:

    1. Clique em Cloud Code e expanda a seção Secret Manager.
    2. Clique no secret para expandir o secret.
    3. Na pasta Versões, clique com o botão direito do mouse na versão numerada que você quer desativar.
    4. Selecione Desativar versão.

    Destruir uma versão de secret

    Quando você destrói uma versão do secret, ela não pode ser acessada. A destruição de uma versão do secret é permanente.

    1. Clique em Cloud Code e expanda a seção Secret Manager.
    2. Clique no secret para expandir o secret.
    3. Na pasta Versões, clique com o botão direito do mouse na versão que você quer destruir.
    4. Selecione Destruir versão.

    Limpar

    Para excluir apenas o cluster criado para este guia de início rápido:

    1. Clique em Cloud Code e expanda a seção Kubernetes.
    2. Coloque o cursor sobre o nome do cluster e clique em open_in_new Abrir no console do Google Cloud.
    3. Clique em Excluir e em Excluir.

    Para excluir o projeto (e os recursos associados, incluindo os clusters):

    1. Acesse a página "Projetos" no Console do Google Cloud.

      Acessar a página "Projetos"

    2. Selecione o projeto que você criou para este guia de início rápido e clique em Excluir.

    3. Digite o ID do projeto para confirmar e clique em Encerrar.

      Isso encerrará o projeto e programará a remoção dele.