Gerenciar conexões para uso com a descoberta

Nesta página, descrevemos como trabalhar com as conexões que a Proteção de dados sensíveis cria ao configurar a descoberta para o Cloud SQL.

Acessar o ID do agente de serviço

Para realizar os procedimentos nesta página, você precisa do ID do agente de serviço associado à sua configuração de verificação. Para receber 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. Na barra de ferramentas, selecione sua organização.
  3. Selecione a configuração de verificação.
  4. Na página Detalhes da configuração da verificação, copie o valor do campo Agente de serviço. O ID do agente de serviço 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 sua operação de descoberta for toda a organização ou uma pasta, verifique se o agente de serviço tem a função 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 de perfis de dados do projeto do DLP (roles/dlp.projectdriver).
  2. Conceda ao agente de serviço o papel de acessador de secrets do Secret Manager (roles/secretmanager.secretAccessor).

Para saber como conseguir o ID do agente de serviço, consulte Obter 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 no escopo da descoberta, crie uma conta de usuário com os privilégios necessários para criar perfis dos seus dados.

Você pode usar uma conta de usuário existente, mas precisa verificar se ela tem 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 usar com a criação de perfil de dados. Se você criar uma conta de usuário ou reutilizar uma existente, ela precisa 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 do 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 esteja usando 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 a instrução GRANT na documentação do MySQL.

  4. Opcional: se você quiser que performance_schema.log_status seja criado, conceda o privilégio BACKUP_ADMIN ao usuário. Para mais informações, consulte Esquema de desempenho 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 aceita 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 à sua 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 no 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 apenas 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 fornecida precisa ser o agente de serviço associado à configuração de verificação. Para conseguir o ID do agente de serviço, consulte Obter o ID do agente de serviço nesta página.

  2. No PostgreSQL, conceda 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 instâncias do Cloud SQL

Depois de criar 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, edite 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 Google Cloud , acesse a página Conexões de serviço.

    Acessar 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 de atualizar 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 à instância automaticamente. Para mais informações, consulte Ver erros de conexão nesta página.

Fornecer credenciais de conta de usuário

Digite 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 seu 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 com uma instância

Por padrão, a Proteção de Dados Sensíveis usa um máximo de 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 Número máximo de conexões simultâneas na documentação do Cloud SQL.

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

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

    Acessar 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.

Ver erros de conexão

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

    Acessar Conexões de serviço

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

  2. Na conexão com um erro, clique em Ações > Ver 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 qualquer 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 dele 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 for bem-sucedida, as mensagens de erro serão limpas.

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

Para executar a descoberta em uma instância do Cloud SQL sem endereço IP público, selecione a opção Ativar caminho privado para essa instância. Essa opção permite que os serviços 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