Criar e gerenciar segredos 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. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. Instale o Git para que O Cloud Code pode executar operações do Git, como a clonagem de uma amostra.
  4. Instale o plug-in do Cloud Code. caso ainda não tenha feito isso.

Criar o serviço do Cloud Run

Use o editor do Cloud Shell como ambiente para criar o serviço e o segredo 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 "Escolha rápida" que aparece, selecione Novo aplicativo e clique em Aplicativo do Cloud Run.

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

  4. Selecione uma pasta para usar como 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 do explorador.

Criar um secret

O Secret Manager permite que você armazene, gerencie e acesse segredos como blobs binários ou strings de texto. Além disso, ele gerencia seus segredos, o que significa que você não precisa lidar com máquinas virtuais ou serviços operacionais.

Para criar um segredo com a integração do Secret Manager do Cloud Code:

  1. Clique em Secreto Manager e aguarde o carregamento.
  2. Se for preciso autorizar o Cloud Shell a fazer chamadas de API do Google Cloud, Clique em Autorizar.
  3. Clique em Adicionar. Criar Secret.
  4. Se solicitado, selecione seu projeto do Google Cloud no seletor suspenso.
  5. Se solicitado, ative a API Secret Manager.
  6. Na guia Secret Manager - Criar segredo que aparece, insira o seguinte no campo Nome:

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

    Hello secret!
    
  8. Clique em Criar segredo e uma mensagem informando que sua chave secreta foi criada aparecerá.

Adicionar um segredo ao código

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

Para adicionar um segredo ao código:

  1. Abra o Google Cloud API e selecione a API Secret Manager.

    Isso abrirá a guia "Detalhes da API do Google Cloud" com a API Secret Manager como título.

  2. Na seção Instalar biblioteca de cliente, clique na guia Python e Clique em play_arrow Executar no terminal. A biblioteca de cliente google-cloud-secret-manager será instalada.

  3. Abra requirements.txt e adicione a linha a seguir à parte de baixo do arquivo:

    google-cloud-secret-manager==2.1.0
    

    Suas alterações são salvas automaticamente.

  4. Para conferir o valor mais recente do segredo, abra o arquivo 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 o 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 conseguir o ID de uma versão do secret a qualquer momento, acesse Secreto Administrador > [SECRET_NAME] > Versões, devem conter o passe o cursor sobre sua versão e clique em Copiar ID do recurso.

  7. Para adicionar o ID da versão, substitua o marcador de posição <SECRET_VERSION_ID> pelo ID da versão copiada.

Executar no emulador do Cloud Run

Para testar o novo segredo, 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 "Executar/Depurar no emulador do Cloud Run" que aparece, clique em Executar.
  4. Ao executar a configuração pela primeira vez, esse processo pode levar até cinco minutos. O painel Saída exibirá o progresso à medida que o aplicativo for criado e implantado.

  5. Após a criação do seu app, inicie-o clicando no link do host local aparece na Saída do painel de controle. O valor do secret é exibido abaixo do gráfico de sucesso.

Acessar e criar uma nova versão do segredo

A visualização do Secret Manager do Cloud Code mostra rapidamente os segredos do projeto, com ações para gerenciá-los.

Visualizar o valor de uma versão do segredo

  1. Clique no botão Secreto Manager.
  2. Clique para abrir o secret.
  3. Na pasta Versões, clique com o botão direito do mouse na versão numerada que você quer visualizar o valor e selecione Mostrar valor da versão.

Não é possível editar uma versão do segredo. Para atualizar o valor de um segredo, é necessário criar uma nova versão.

Criar uma nova versão do segredo

O valor de um segredo é armazenado em uma versão do segredo. Um segredo pode ter várias versões. Isso é útil em situações em que um segredo muda. Atualizar um segredo com uma nova versão significa que você não precisa atualizar o código.

  1. Clique no botão Secreto Manager.
  2. Clique com o botão direito do mouse no nome do segredo e selecione Criar versão do segredo.
  3. Na guia Secret Manager - Criar versão que aparece, 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 a cópia na parte superior do ID.
  5. Para adicionar o ID da versão mais recente, substitua a versão atual que aparece na mensagem no app.py pelo ID da versão mais recente que você copiou.

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

Ver e gerenciar segredos

Desativar uma versão do segredo

Versões de segredos são ativadas por padrão após a criação, o que significa que podem ser acessadas. Um secret desativado fica inacessível, mas é possível restaurar o acesso a qualquer momento a ele a qualquer momento.

Para desativar uma versão do segredo:

  1. Clique em . Cloud Code e, em seguida, expandir a seção Secret Manager.
  2. Clique para abrir o secret.
  3. Na pasta Versions, 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, em seguida, expandir a seção Secret Manager.
  2. Clique para abrir o secret.
  3. Na pasta Versions, 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 que você criou para este guia de início rápido:

  1. Clique em . Cloud Code e, em seguida, expandir a seção Kubernetes.
  2. Mantenha o ponteiro 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.