Gerenciar conexões para uso com a descoberta

Esta página descreve como trabalhar com as conexões que a Proteção de dados sensíveis cria quando você configura a descoberta para o Cloud SQL.

Conseguir o ID do agente de serviço

Para realizar os procedimentos desta página, você precisa do ID do agente de serviço associado à configuração da verificação. Para conferir o ID do agente de serviço, siga estas etapas:

  1. Acesse a lista de configurações de verificação de descoberta.

    Acessar as configurações de verificação de descoberta

  2. Selecione a configuração de verificação.
  3. Na página exibida, copie o ID do agente de serviço. Esse ID está no formato de um endereço de e-mail.

Conceder os papéis do IAM necessários ao agente de serviço

  1. Verifique se o agente de serviço associado à configuração de verificação tem o papel de driver necessário:

    • Se o escopo da operação de descoberta for toda a organização ou uma pasta, verifique se o agente de serviço tem a função de Driver de perfis de dados da organização do DLP (roles/dlp.orgdriver).
    • Se o escopo da operação de descoberta for um único projeto, verifique se o agente de serviço tem o papel de driver dos perfis de dados do projeto do DLP (roles/dlp.projectdriver).
  2. Conceda ao agente de serviço o papel de "Acessador de secret do Secret Manager" (roles/secretmanager.secretAccessor).

Para conferir o ID do agente de serviço, consulte Conferir o ID do agente de serviço nesta página.

Para mais informações, consulte Conceder papéis a agentes de serviço na documentação do Identity and Access Management.

Criar um usuário para cada instância do Cloud SQL

Para cada instância que está no escopo da descoberta, crie uma conta de usuário que tenha os privilégios necessários para criar um perfil dos seus dados.

Você pode usar uma conta de usuário existente, mas precisa garantir que ela tenha os privilégios listados nesta seção.

Criar um usuário para uma instância do Cloud SQL para MySQL

Esta seção descreve como criar uma conta de usuário do MySQL para uso com criação de perfis de dados. Se você criar uma conta de usuário ou reutilizar uma já existente, ela precisará ter o plug-in de autenticação mysql_native_password. Esta seção inclui informações sobre como modificar uma conta de usuário do banco de dados para usar esse plug-in de autenticação.

  1. Conecte-se à instância.
  2. Prepare a conta de usuário do banco de dados.

    • Se você quiser criar um usuário de banco de dados, no prompt mysql, execute o seguinte comando:

      CREATE USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      Substitua:

      • USERNAME: o nome de usuário da conta de usuário
      • PASSWORD: a senha da conta de usuário

      Para mais informações, consulte a instrução CREATE USER na documentação do MySQL.

    • Se você quiser usar uma conta de usuário do banco de dados que não usa o plug-in de autenticação mysql_native_password, use o comando ALTER USER para mudar o plug-in de autenticação dessa conta:

      ALTER USER 'USERNAME'@'%' IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
      

      Para mais informações, consulte a instrução ALTER USER na documentação do MySQL.

  3. Conceda os privilégios SELECT e SHOW VIEW ao usuário.

    GRANT SELECT, SHOW VIEW ON *.* TO 'USERNAME'@'%';
    

    O resultado será assim:

    Query OK, 0 rows affected (0.00 sec)

    Para mais informações, consulte Instrução GRANT na documentação do MySQL.

  4. Opcional: se você quiser que o perfil performance_schema.log_status seja criado, conceda o privilégio BACKUP_ADMIN ao usuário. Para mais informações, consulte o Esquema de performance do MySQL na documentação do MySQL.

    GRANT BACKUP_ADMIN ON *.* TO 'USERNAME'@'%';
    
  5. No Secret Manager, crie um secret para armazenar a senha. Crie o secret no projeto que contém a instância do Cloud SQL.

    Anote o nome do recurso do secret.

Criar um usuário para uma instância do Cloud SQL para PostgreSQL

Para instâncias do Cloud SQL para PostgreSQL, a Proteção de Dados Sensíveis oferece suporte a dois tipos de contas de usuário:

  • Uma conta de usuário integrada criada pelo PostgreSQL.
  • Um principal do IAM, especificamente, o agente de serviço associado à configuração de verificação.

Opção 1: criar uma conta de usuário integrada no PostgreSQL

Esta seção descreve como criar uma conta de usuário integrada pelo PostgreSQL.

  1. Conecte-se à instância.
  2. No prompt postgres, execute o comando a seguir para criar o usuário:

    CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
    

    Substitua:

    • USERNAME: o nome de usuário da conta de usuário
    • PASSWORD: a senha da conta de usuário

    O resultado será assim:

    CREATE ROLE

    Para mais informações, consulte CREATE USER na documentação do PostgreSQL.

  3. Conceda a função pg_read_all_data ao usuário:

    GRANT pg_read_all_data TO USERNAME;
    

    O resultado será assim:

    GRANT ROLE

    Para mais informações, consulte GRANT na documentação do PostgreSQL.

  4. No Secret Manager, crie um secret para armazenar a senha. Crie o secret no projeto que contém a instância do Cloud SQL.

    Anote o nome do recurso do secret.

Opção 2: adicionar o agente de serviço como usuário na instância (somente PostgreSQL)

Siga estas etapas somente se você estiver configurando uma instância do Cloud SQL para PostgreSQL.

  1. Siga as instruções para adicionar uma conta de serviço do IAM a um banco de dados na documentação do Cloud SQL para PostgreSQL.

    A conta de serviço que você fornece precisa ser o agente de serviço associado à configuração de verificação. Para conferir o ID do agente de serviço, consulte Conferir o ID do agente de serviço nesta página.

  2. No PostgreSQL, atribua o papel pg_read_all_data ao agente de serviço:

    GRANT pg_read_all_data TO "TRUNCATED_SERVICE_AGENT_ID";
    

    Substitua TRUNCATED_SERVICE_AGENT_ID pelo ID do agente de serviço sem o sufixo .gserviceaccount.com. Por exemplo, service-1234567890@dlp-api.iam.

    O resultado será assim:

    GRANT ROLE

Conceder acesso às suas instâncias do Cloud SQL

Depois que você cria a configuração de verificação, a Proteção de dados sensíveis cria automaticamente conexões de serviço padrão para cada instância no escopo da descoberta. Antes de iniciar o perfil, você precisa editar cada conexão de serviço para fornecer as credenciais de cada instância do Cloud SQL.

Para atualizar uma conexão, siga estas etapas:

  1. No console do Google Cloud, acesse a página Conexões de serviço.

    Acessar as conexões de serviço

    Suas conexões são exibidas em uma lista.

  2. Na conexão que você quer atualizar, clique em Ações > Editar conexão.

  3. Escolha uma destas opções:

Depois que você atualiza uma conexão, a Proteção de dados sensíveis tenta se conectar à instância com as credenciais fornecidas. Se houver um erro com uma conexão, a Proteção de Dados Sensíveis vai tentar se conectar automaticamente à instância. Para mais informações, consulte Conferir erros de conexão nesta página.

Fornecer credenciais da conta de usuário

Insira o nome de usuário e o recurso do Secret Manager que contém a senha. O recurso do Secret Manager precisa estar no seguinte formato:

projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/VERSION_NUMBER

Substitua:

  • PROJECT_NUMBER: o ID numérico do projeto.
  • SECRET_NAME: o nome do secret que contém a senha.
  • VERSION_NUMBER: o número da versão do secret. Para fornecer a versão mais recente, use latest.

Usar o agente de serviço como uma conta de usuário

Essa opção está disponível apenas para instâncias do Cloud SQL para PostgreSQL.

Para usar o agente de serviço como a conta de usuário, selecione Autenticação de banco de dados do IAM do Cloud SQL.

Atualizar o número máximo de conexões simultâneas em uma instância

Por padrão, a Proteção de dados sensíveis usa no máximo duas conexões simultâneas para minimizar o impacto da descoberta nas suas instâncias do Cloud SQL. Recomendamos que você aumente esse número para um valor adequado com base no tamanho e na utilização da instância.

Para mais informações, consulte Conexões simultâneas máximas na documentação do Cloud SQL.

Para mudar o limite máximo de conexão do serviço de descoberta, faça o seguinte:

  1. No console do Google Cloud, acesse a página Conexões de serviço.

    Acessar as conexões de serviço

    Suas conexões são exibidas em uma lista.

  2. Na conexão que você quer atualizar, clique em Ações > Editar conexão.

  3. No campo Número máximo de conexões, insira o novo limite.

  4. Clique em Concluído.

Conferir erros de conexão

  1. No console do Google Cloud, acesse a página Conexões de serviço.

    Acessar as conexões de serviço

    Suas conexões são listadas. Se uma conexão tiver um erro, ela será exibida com um ícone de erro.

  2. Para a conexão com um erro, clique em Ações > Conferir erros. As mensagens de erro associadas são listadas. Cada mensagem inclui o nome da configuração de verificação que solicitou a conexão.

  3. Resolva o erro conforme necessário. Dependendo do erro, a resolução pode envolver uma das seguintes ações:

    • Editar as credenciais fornecidas.
    • Atualizar a senha armazenada no Secret Manager.
    • Fazer login no banco de dados e conceder ao usuário do banco de dados os privilégios necessários.
    • Atribuir o papel do IAM especificado ao agente de serviço associado à configuração de verificação especificada.

A Proteção de dados sensíveis tenta se conectar à instância automaticamente. Se uma tentativa de reconexão tiver sucesso, as mensagens de erro serão apagadas.

Permitir a descoberta de instâncias sem endereço IP público

Para executar a descoberta em uma instância do Cloud SQL que não tem um endereço IP público, selecione a opção Ativar caminho particular para essa instância. Essa opção permite que os serviços do Google Cloud acessem dados em uma instância do Cloud SQL por uma conexão IP particular.

Para ver mais informações, consulte os seguintes tópicos:

A seguir