Criar e gerenciar usuários,Criar e gerenciar usuários,Criar e gerenciar usuários,Criar e gerenciar usuários

Esta página descreve como habilitar 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 obter mais informações, consulte Criar instâncias .
  2. Habilite políticas de senha para a instância. Para obter mais informações, consulte Políticas de senha da instância .
  3. Se você planeja usar o cliente administrativo do seu banco de dados para gerenciar usuários, faça o seguinte:

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

    2. Configure o usuário padrão na instância definindo a senha. Consulte Definir a senha para a conta de usuário padrão .

Defina a senha para a conta de usuário padrão

Ao criar uma nova instância do Cloud SQL, você deve definir uma senha para a conta de usuário padrão antes de poder se conectar à instância.

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

Console

  1. No Google Cloud console, 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 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 que você possa lembrar e clique em OK .

gcloud

Use o comando gcloud sql users set-password da seguinte maneira 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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 , você pode criar outros usuários.

Console

  1. No Google Cloud console, 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 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 será autenticado 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 e que você consiga lembrar.
  6. Clique em Adicionar .

Usuários criados em instâncias usando o método de autenticação do Cloud SQL recebem a função cloudsqlsuperuser automaticamente e têm os seguintes privilégios associados a essa função: CREATEROLE , CREATEDB e LOGIN .

Se precisar alterar os atributos desses usuários, use o comando ALTER ROLE no cliente psql . Nem todos os atributos podem ser modificados com ALTER ROLE . As exceções incluem as funções NOSUPERUSER e NOREPLICATION .

gcloud

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

Substitua o seguinte:

  • USER_NAME : O nome do 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

Usuários criados em instâncias usando o método de autenticação do Cloud SQL recebem a função cloudsqlsuperuser automaticamente e têm os seguintes privilégios associados a essa função: CREATEROLE , CREATEDB e LOGIN .

Se precisar alterar os atributos desses usuários, use o comando ALTER ROLE no cliente psql . Nem todos os atributos podem ser modificados com ALTER ROLE . As exceções incluem as funções NOSUPERUSER e NOREPLICATION .

Os limites de comprimento do nome de usuário são os mesmos para o Cloud SQL e para o PostgreSQL local.

Ao criar um usuário, você pode adicionar parâmetros de política de senha de 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
}

Aplicar as alterações

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

Preparar o Cloud Shell

  1. Inicie o Cloud Shell .
  2. Defina o padrão Google Cloud projeto onde você deseja aplicar suas configurações do Terraform.

    Você só precisa executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    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 deve ter seu 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 deve ter a extensão .tf — por exemplo, main.tf Neste tutorial, o arquivo será chamado de main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver seguindo um tutorial, você pode copiar o código de exemplo em cada seção ou etapa.

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

    Opcionalmente, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução completa.

  3. Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
  4. Salve suas 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

Aplicar as alterações

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

    Faça correções na configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply

    Aguarde até que o Terraform exiba a mensagem "Aplicação concluída!".

  3. Abra seu Google Cloud projeto para visualizar os resultados. No Google Cloud console, navegue até seus recursos na interface do usuário para garantir que o Terraform os criou ou atualizou.

Excluir as alterações

Para excluir suas alterações, faça o seguinte:

  1. Para desabilitar a proteção contra exclusão, no seu arquivo de configuração do Terraform defina o argumento deletion_protection como false .
    deletion_protection =  "false"
  2. Aplique a configuração atualizada do Terraform executando o seguinte comando e digitando yes no prompt:
    terraform apply
  1. Remova os recursos aplicados anteriormente com sua configuração do Terraform executando o seguinte comando e digitando yes no prompt:

    terraform destroy

REST v1

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

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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"
}

Usuários criados em instâncias usando o método de autenticação do Cloud SQL recebem a função cloudsqlsuperuser automaticamente e têm os seguintes privilégios associados a essa função: CREATEROLE , CREATEDB e LOGIN .

Se precisar alterar os atributos desses usuários, use o comando ALTER ROLE no cliente psql . Nem todos os atributos podem ser modificados com ALTER ROLE . As exceções incluem as funções NOSUPERUSER e NOREPLICATION .

Os limites de comprimento do nome de usuário são os mesmos para o Cloud SQL e para o PostgreSQL local.

Ao criar um usuário, você pode adicionar parâmetros de política de senha de usuário .

REST v1beta4

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

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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"
}

Usuários criados em instâncias usando o método de autenticação do Cloud SQL recebem a função cloudsqlsuperuser automaticamente e têm os seguintes privilégios associados a essa função: CREATEROLE , CREATEDB e LOGIN .

Se precisar alterar os atributos desses usuários, use o comando ALTER ROLE no cliente psql . Nem todos os atributos podem ser modificados com ALTER ROLE . As exceções incluem as funções NOSUPERUSER e NOREPLICATION .

Os limites de comprimento do nome de usuário são os mesmos para o Cloud SQL e para o PostgreSQL local.

Ao criar um usuário, você pode adicionar parâmetros de política de senha de 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 solicitado.

    Para obter mais informações sobre atributos de função, consulte a documentação do PostgreSQL .

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

Definir uma política de senha de usuário

Você pode 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 o seguinte:

  • USER_NAME : O nome do usuário.
  • INSTANCE_NAME : O nome da instância.
  • HOST : 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 digitar a senha incorretamente antes que a conta seja bloqueada. Use --password-policy-enable-failed-attempts-check para habilitar e --no-password-policy-enable-failed-attempts-check para desabilitar a verificação.
  • PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION : Opcional: especifica o número de dias após os quais 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 de 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 visualizar a política de senha do usuário, consulte Listar usuários .

REST v1

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

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : seu ID de 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 habilitar uma verificação do número de tentativas de login malsucedidas após as quais a conta será bloqueada
  • NUMBER_OF_ATTEMPTS : o número de tentativas de login malsucedidas após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION : o número de dias após os quais 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

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

REST v1beta4

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

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : seu ID de 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 habilitar uma verificação do número de tentativas de login malsucedidas após as quais a conta será bloqueada
  • NUMBER_OF_ATTEMPTS : o número de tentativas de login malsucedidas após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION : o número de dias após os quais 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

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

Listar usuários

Console

  1. No Google Cloud console, 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 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 o Name , Host e Type de autenticação para cada usuário.

Além disso, para o tipo de autenticação integrada, 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada

Método HTTP e URL:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "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 de 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada

Método HTTP e URL:

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

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

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "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 de 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 a senha de um usuário

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

Console

  1. No Google Cloud console, 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 SQL.
  4. Clique em mais ações Ícone Mais ações. para o usuário que você deseja atualizar.
  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 o seguinte:

  • USER_NAME : O nome do 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 a senha de um usuário, use 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • user-id : O ID do usuário
  • password : A nova 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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 a senha de um usuário, use 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • project-id : Seu ID de projeto
  • instance-id : O ID da instância desejada
  • user-id : O ID do usuário
  • password : A nova 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "DONE",
  "user": "[email protected]",
  "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 do 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 solicitado.
    ALTER USER USER_NAME WITH PASSWORD PASSWORD;

Se um usuário for bloqueado devido às configurações da política de senha, altere a senha para desbloqueá-lo. Certifique-se de que as senhas, quando alteradas, estejam de acordo com a política de senha.

Remover uma política de senha de usuário

Você pode remover uma política de senha de um usuário que tenha 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 o seguinte:

  • USER_NAME : o nome do usuário
  • INSTANCE_NAME : o nome da instância
  • HOST : 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 de usuário, use uma solicitação PUT com o método users:update .

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : seu ID de 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

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

Antes de usar qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : seu ID de 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

Remover um usuário

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

Antes de remover um usuário, você deve remover todos os objetos que ele possui ou reatribuir sua propriedade e revogar quaisquer privilégios que a função tenha recebido em outros objetos.

Console

  1. No Google Cloud console, 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 SQL.
  4. Clique em mais ações Ícone Mais ações. para o usuário que você deseja remover.
  5. Selecione Remover e depois Remover novamente.

gcloud

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

Substitua o seguinte:

  • USER_NAME : O nome do 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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : Seu ID de projeto
  • INSTANCE_ID : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "[email protected]",
  "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 qualquer um dos dados solicitados, faça as seguintes substituições:

  • PROJECT_ID : Seu ID de projeto
  • INSTANCE_ID : O ID da instância desejada
  • 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 sua solicitação, expanda uma destas opções:

Você deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "DONE",
  "user": "[email protected]",
  "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 obter mais informações sobre a instrução DROP ROLE , consulte a documentação do PostgreSQL .

Atualizar propriedades do usuário

Para atualizar propriedades do usuário, como atributos, você deve usar o cliente psql . Para mais informações, consulte "Funções de Banco de Dados" na documentação do PostgreSQL.

O que vem a seguir