Criar e gerenciar usuários

Nesta página, descrevemos como ativar e usar a autenticação integrada do Cloud SQL.

Para uma visão geral, consulte Autenticação de banco de dados integrada do Cloud SQL.

Antes de criar usuários

  1. Crie uma instância do Cloud SQL. Para mais informações, consulte Criar instâncias.
  2. Ative as políticas de senha para a instância. Para mais informações, consulte Políticas de senha da instância.
  3. Se você planeja usar o cliente administrativo do banco de dados para gerenciar usuários, realize estas ações:

    1. Conecte o cliente à sua instância. Consulte Opções de conexão para aplicativos externos.

    2. Defina a senha para configurar o usuário padrão na instância. Consulte Definir a senha da conta de usuário padrão.

Definir a senha da conta de usuário padrão

Ao criar uma nova instância do Cloud SQL, defina uma senha para a conta de usuário padrão antes de se conectar a ela.

No Cloud SQL para PostgreSQL, o usuário padrão é postgres.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.
  4. Encontre o usuário postgres e selecione Alterar senha no menu "Mais ações" Ícone mais ações..
  5. Forneça uma senha forte, de que se lembre posteriormente, e clique em OK.

gcloud

Use o comando gcloud sql users set-password da seguinte forma para definir a senha do usuário padrão.

Substitua INSTANCE_NAME pelo nome da instância antes de executar o comando.

gcloud sql users set-password postgres \
--instance=INSTANCE_NAME \
--prompt-for-password

REST v1

Para atualizar a senha da conta de usuário padrão, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

Para atualizar a senha da conta de usuário padrão, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Criar um usuário

Depois de configurar a conta de usuário padrão, é possível criar outros usuários.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.
  4. Clique em Adicionar conta de usuário.

    Na página Adicionar uma conta de usuário à instância instance_name, você pode escolher se o usuário se autentica com o método de banco de dados integrado (nome de usuário e senha) ou como um usuário do IAM.

  5. Selecione Autenticação integrada (padrão) e adicione as seguintes informações:
    • Um Nome de usuário
    • Opcional. uma Senha Forneça uma senha forte que você consiga lembrar.
  6. Clique em Adicionar.

Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.

Se você precisar alterar os atributos desses usuários, use o comando ALTER ROLE (em inglês) no cliente psql. Nem todos os atributos podem ser modificados com ALTER ROLE. As exceções incluem os papéis NOSUPERUSER e NOREPLICATION.

gcloud

Para criar um usuário, use o comando gcloud sql users create.

Substitua:

  • USER_NAME: o nome de usuário.
  • INSTANCE_NAME: o nome da instância
  • PASSWORD: a senha do usuário.
gcloud sql users create USER_NAME \
--instance=INSTANCE_NAME \
--password=PASSWORD

Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.

Se você precisar alterar os atributos desses usuários, use o comando ALTER ROLE (em inglês) no cliente psql. Nem todos os atributos podem ser modificados com ALTER ROLE. As exceções incluem os papéis NOSUPERUSER e NOREPLICATION.

Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.

Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.

Terraform

Para criar um usuário, use um recurso do Terraform.

resource "random_password" "pwd" {
  length  = 16
  special = false
}

resource "google_sql_user" "user" {
  name     = "user"
  instance = google_sql_database_instance.instance.name
  password = random_password.pwd.result
}

Aplique as alterações

Para aplicar a configuração do Terraform em um projeto do Google Cloud, conclua as etapas nas seções a seguir.

Preparar o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o projeto padrão do Google Cloud em que você quer aplicar as configurações do Terraform.

    Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.

Preparar o diretório

Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.

  1. No Cloud Shell, crie um diretório e um novo arquivo dentro dele. O nome do arquivo precisa ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o arquivo é chamado de main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.

    Copie o exemplo de código no main.tf recém-criado.

    Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve as alterações.
  5. Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Revise a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expectativas:
    terraform plan

    Faça as correções necessárias na configuração.

  2. Para aplicar a configuração do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Apply complete!".

  3. Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU para verificar se foram criados ou atualizados pelo Terraform.

Excluir as alterações

Para excluir as mudanças, faça o seguinte:

  1. Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo yes no prompt:

    terraform destroy

REST v1

Para criar um usuário, utilize uma solicitação POST com o método users:insert.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:44:16.656Z",
  "startTime": "2020-02-07T22:44:16.686Z",
  "endTime": "2020-02-07T22:44:20.437Z",
  "operationType": "CREATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.

Se você precisar alterar os atributos desses usuários, use o comando ALTER ROLE (em inglês) no cliente psql. Nem todos os atributos podem ser modificados com ALTER ROLE. As exceções incluem os papéis NOSUPERUSER e NOREPLICATION.

Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.

Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.

REST v1beta4

Para criar um usuário, utilize uma solicitação POST com o método users:insert.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:44:16.656Z",
  "startTime": "2020-02-07T22:44:16.686Z",
  "endTime": "2020-02-07T22:44:20.437Z",
  "operationType": "CREATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.

Se você precisar alterar os atributos desses usuários, use o comando ALTER ROLE (em inglês) no cliente psql. Nem todos os atributos podem ser modificados com ALTER ROLE. As exceções incluem os papéis NOSUPERUSER e NOREPLICATION.

Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.

Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.

Cliente psql

  1. No prompt psql, crie o usuário:
      CREATE USER USER_NAME
          WITH PASSWORD PASSWORD
          ATTRIBUTE1
          ATTRIBUTE2...;
      

    Digite a senha quando solicitada.

    Para mais informações sobre os atributos de papéis, consulte a documentação do PostgreSQL.

  2. Você pode confirmar a criação do usuário exibindo a tabela do usuário:
      SELECT * FROM pg_roles;
      

Definir uma política de senha do usuário

É possível definir uma política de senha com o tipo de autenticação integrado.

gcloud

Para definir a política de senha do usuário, use o comando gcloud sql users set-password-policy.

Substitua:

  • USER_NAME: o nome de usuário.
  • INSTANCE_NAME: o nome da instância
  • HOST: o nome do host do usuário como um endereço IP específico, intervalo de endereços ou qualquer host (%).
  • PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS (opcional): o número de vezes que um usuário pode tentar a senha incorretamente antes de a conta ser bloqueada. Use --password-policy-enable-failed-attempts-check para ativar e --no-password-policy-enable-failed-attempts-check para desativar a verificação.
  • PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION (opcional): especifica o número de dias após o qual a senha expira e o usuário precisa criar uma nova.
gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--password-policy-enable-failed-attempts-check \
--password-policy-allowed-failed-attempts=PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS \
--password-policy-password-expiration-duration=PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION

Para remover uma política de senha do usuário, use o parâmetro --clear-password-policy.

gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--clear-password-policy

Para ver a política de senha do usuário, consulte Listar usuários.

REST v1

Para definir uma política de senha do usuário, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: ID do projeto;
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do usuário
  • PASSWORD: a senha do usuário
  • FAILED_ATTEMPTS_CHECK: defina como true para ativar uma verificação do número de tentativas malsucedidas de login após as quais a conta é bloqueada
  • NUMBER_OF_ATTEMPTS: o número de tentativas malsucedidas de login após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION: o número de dias após o qual a senha expira e o usuário precisa criar uma nova

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

Corpo JSON da solicitação:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {
      {
        "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
        "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
        "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION"
      }
    },
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Para ver a política de senha do usuário, consulte Listar usuários.

REST v1beta4

Para definir uma política de senha do usuário, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: ID do projeto;
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do usuário
  • PASSWORD: a senha do usuário
  • FAILED_ATTEMPTS_CHECK: defina como true para ativar uma verificação do número de tentativas malsucedidas de login após as quais a conta é bloqueada
  • NUMBER_OF_ATTEMPTS: o número de tentativas malsucedidas de login após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION: o número de dias após o qual a senha expira e o usuário precisa criar uma nova

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

Corpo JSON da solicitação:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {
      {
        "enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
        "allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
        "passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION"
      }
    },
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Para ver a política de senha do usuário, consulte Listar usuários.

Listar usuários

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.

gcloud

Use o comando gcloud sql users list para listar os usuários desta instância:

gcloud sql users list \
--instance=INSTANCE_NAME

O comando retorna Name, Host e a autenticação Type para cada usuário.

Além disso, para o tipo de autenticação integrado, as configurações e o status da política de senha são retornados. Por exemplo:

    NAME    HOST    TYPE        PASSWORD_POLICY
    user1           BUILT_IN    {'allowedFailedAttempts': 2,
                                 'enableFailedAttemptsCheck': True,
                                 'passwordExpirationDuration': '7d',
                                 'status': {
                                   'locked': True,
                                   'passwordExpirationTime': '2022-07-01T19:53:45.822742904Z'
                                 }
                                }
   

REST v1

Para listar os usuários definidos para uma instância, use uma solicitação GET com o método users:list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#usersList",
  "items": [
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "sqlserver",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "user-id-1",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "user-id-2",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

Se uma política de senha do usuário tiver sido definida, a seção items da resposta incluirá uma seção passwordPolicy. O exemplo de código a seguir mostra a seção passwordPolicy.

  {
  ...
  "passwordValidationUserPolicy" : {
    {
      "enableFailedAttemptsCheck" : true,
      "allowedFailedAttempts" : 8,
      "passwordExpirationDuration" : "7d"
    }
  },
  ...
}
  

REST v1beta4

Para listar os usuários definidos para uma instância, use uma solicitação GET com o método users:list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada

Método HTTP e URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#usersList",
  "items": [
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "sqlserver",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "user-id-1",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      "kind": "sql#user",
      "etag": "--redacted--",
      "name": "user-id-2",
      "host": "",
      "instance": "instance-id",
      "project": "project-id",
      "sqlserverUserDetails": {
        "serverRoles": [
          "CustomerDbRootRole"
        ]
      }
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

Se uma política de senha do usuário tiver sido definida, a seção items da resposta incluirá uma seção passwordPolicy. O exemplo de código a seguir mostra a seção passwordPolicy.

  {
  ...
  "passwordValidationUserPolicy" : {
    {
      "enableFailedAttemptsCheck" : true,
      "allowedFailedAttempts" : 8,
      "passwordExpirationDuration" : "7d"
    }
  },
  ...
}
  

Cliente psql

No prompt psql, liste os usuários do PostgreSQL:

SELECT * FROM pg_roles;

Alterar uma senha de usuário

As senhas de usuário podem ser alteradas de uma das seguintes maneiras.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.
  4. Selecione o usuário a ser atualizado e clique em "Mais ações" Ícone mais ações..
  5. Selecione Alterar senha.
  6. Especifique uma nova senha.
  7. Clique em OK.

gcloud

Use o comando gcloud sql users set-password para alterar uma senha.

Substitua:

  • USER_NAME: o nome de usuário.
  • INSTANCE_NAME: o nome da instância
gcloud sql users set-password USER_NAME \
--instance=INSTANCE_NAME \
--prompt-for-password

REST v1

Para alterar uma senha de usuário, utilize uma solicitação PUT com o método users:update.

A solicitação a seguir atualiza a senha da conta de usuário user_name.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password",
  "retainedPassword" : "dual-password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

Para alterar uma senha de usuário, utilize uma solicitação PUT com o método users:update.

A solicitação a seguir atualiza a senha da conta de usuário user_name.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • project-id: o ID do projeto
  • instance-id: o ID da instância buscada
  • user-id: o ID do usuário
  • password: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id

Corpo JSON da solicitação:

{
  "name": "user-id",
  "password": "password",
  "retainedPassword" : "dual-password"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "UPDATE_USER",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

Cliente psql

No prompt psql, execute o comando ALTER USER.
  1. Desbloqueie o usuário.
    ALTER USER USER_NAME WITH LOGIN;
  2. Altere a senha e digite-a quando for solicitada.
    ALTER USER USER_NAME WITH PASSWORD PASSWORD;

Se um usuário estiver bloqueado devido às configurações de política de senha, mude a senha para desbloqueá-lo. Confirme que as senhas, quando alteradas, sigam a política de senhas.

Remover uma política de senha do usuário

É possível remover uma política de senha de um usuário que tem o tipo de autenticação integrado.

gcloud

Para remover a política de senha do usuário, use o comando gcloud sql users set-password-policy e o parâmetro --clear-password-policy.

Substitua:

  • USER_NAME: o nome de usuário
  • INSTANCE_NAME: o nome da instância.
  • HOST: o nome do host do usuário como um endereço IP específico, intervalo de endereços ou qualquer host (%)
gcloud sql users set-password-policy USER_NAME \
--instance=INSTANCE_NAME \
--host=HOST \
--clear-password-policy

REST v1

Para remover uma política de senha do usuário, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: ID do projeto;
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do usuário
  • PASSWORD: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

Corpo JSON da solicitação:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {}
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

REST v1beta4

Para remover uma política de senha do usuário, use uma solicitação PUT com o método users:update.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: ID do projeto;
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do usuário
  • PASSWORD: a senha do usuário

Método HTTP e URL:

PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID

Corpo JSON da solicitação:

{
  "name": "USER_ID",
  "password": "PASSWORD",
  "data":
  {
    "passwordValidationUserPolicy" : {}
  }
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

Remover um usuário

O usuário padrão pode remover usuários.

Antes de remover um usuário, você precisa descartar todos os objetos que são da propriedade dele ou reatribuir a propriedade e revogar os privilégios concedidos ao papel em outros objetos.

Console

  1. No console do Google Cloud, acesse a página Instâncias do Cloud SQL.

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Selecione Usuários no menu de navegação do SQL.
  4. Selecione o usuário a ser removido e clique em Mais ações Ícone mais ações..
  5. Selecione Remover e, em seguida, selecione Remover novamente.

gcloud

Use o comando gcloud sql users delete para remover um usuário.

Substitua:

  • USER_NAME: o nome de usuário.
  • INSTANCE_NAME: o nome da instância
gcloud sql users delete USER_NAME \
--instance=INSTANCE_NAME

REST v1

A solicitação abaixo usa o método users:delete para excluir a conta de usuário especificada.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância buscada
  • USERNAME: o endereço de e-mail do usuário ou da conta de serviço

Método HTTP e URL:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "DELETE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

A solicitação abaixo usa o método users:delete para excluir a conta de usuário especificada.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto
  • INSTANCE_ID: o ID da instância buscada
  • USERNAME: o endereço de e-mail do usuário ou da conta de serviço

Método HTTP e URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "user@example.com",
  "insertTime": "2020-02-07T22:38:41.217Z",
  "startTime": "2020-02-07T22:38:41.217Z",
  "endTime": "2020-02-07T22:38:44.801Z",
  "operationType": "DELETE_USER",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Cliente psql

  1. No prompt psql, exclua o usuário:
    DROP ROLE USER_NAME;

    Para mais informações sobre a instrução DROP ROLE, consulte a documentação do PostgreSQL.

Atualizar propriedades do usuário

Para atualizar as propriedades do usuário, como atributos, você precisa usar o cliente psql. Para mais informações, consulte Papéis de banco de dados na documentação do PostgreSQL.

A seguir