Crie e faça a gestão de utilizadores

Esta página descreve como ativar e usar a autenticação integrada do Cloud SQL.

Para uma vista geral, consulte o artigo Autenticação de base de dados incorporada do Cloud SQL.

Antes de criar utilizadores

  1. Crie uma instância do Cloud SQL. Para mais informações, consulte o artigo Crie instâncias.
  2. Ative as políticas de palavras-passe para a instância. Para mais informações, consulte as políticas de palavras-passe de instâncias.
  3. Se planeia usar o cliente administrativo da sua base de dados para gerir utilizadores, faça o seguinte:

    1. Associe o cliente à sua instância. Consulte as Opções de ligação para aplicações externas.

    2. Configure o utilizador predefinido na instância definindo a palavra-passe. Consulte o artigo Defina a palavra-passe da conta de utilizador predefinida.

Defina a palavra-passe da conta de utilizador predefinida

Quando cria uma nova instância do Cloud SQL, tem de definir uma palavra-passe para a conta de utilizador predefinida antes de poder estabelecer ligação à instância.

Para o Cloud SQL para PostgreSQL, o utilizador predefinido é postgres.

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Selecione Utilizadores no menu de navegação do SQL.
  4. Encontre o utilizador postgres e selecione Alterar palavra-passe no menu de mais ações Ícone Mais ações..
  5. Introduza uma palavra-passe forte de que se consiga lembrar e clique em OK.

gcloud

Use o comando gcloud sql users set-password da seguinte forma para definir a palavra-passe do utilizador predefinido.

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 palavra-passe da conta de utilizador predefinida, use um pedido PUT com o método users:update.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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 palavra-passe da conta de utilizador predefinida, use um pedido PUT com o método users:update.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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"
}

Crie um utilizador

Depois de configurar a conta de utilizador predefinida, pode criar outros utilizadores.

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

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

    Na página Adicione uma conta de utilizador à instância instance_name, pode escolher se o utilizador se autentica com o método da base de dados incorporada (nome de utilizador e palavra-passe) ou como um utilizador do IAM.

  5. Selecione Autenticação integrada (a predefinição) e adicione as seguintes informações:
    • Um nome de utilizador.
    • Opcional. Uma palavra-passe. Indique uma palavra-passe forte de que se consiga lembrar.
  6. Clique em Adicionar.

Os utilizadores criados em instâncias que usam o método de autenticação do Cloud SQL recebem automaticamente a função cloudsqlsuperuser e têm os seguintes privilégios associados a esta função: CREATEROLE, CREATEDB e LOGIN.

Se precisar de alterar os atributos destes utilizadores, 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 utilizador, use o comando gcloud sql users create.

Substitua o seguinte:

  • USER_NAME: o nome de utilizador.
  • INSTANCE_NAME: o nome da instância.
  • PASSWORD: a palavra-passe do utilizador.
gcloud sql users create USER_NAME \
--instance=INSTANCE_NAME \
--password=PASSWORD

Os utilizadores criados em instâncias que usam o método de autenticação do Cloud SQL recebem automaticamente a função cloudsqlsuperuser e têm os seguintes privilégios associados a esta função: CREATEROLE, CREATEDB e LOGIN.

Se precisar de alterar os atributos destes utilizadores, 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 dos nomes de utilizador são os mesmos para o Cloud SQL e para o PostgreSQL no local.

Quando cria um utilizador, pode adicionar parâmetros da política de palavras-passe do utilizador.

Terraform

Para criar um utilizador, 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 num Trusted Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Trusted Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o ficheiro main.tf criado recentemente.

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

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

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

    terraform init -upgrade

Aplique as alterações

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

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

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

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Trusted Cloud projeto para ver os resultados. Na Trusted Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Eliminar as alterações

Para eliminar as alterações, faça o seguinte:

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

    terraform destroy

REST v1

Para criar um utilizador, use um pedido POST com o método users:insert.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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 utilizadores criados em instâncias que usam o método de autenticação do Cloud SQL recebem automaticamente a função cloudsqlsuperuser e têm os seguintes privilégios associados a esta função: CREATEROLE, CREATEDB e LOGIN.

Se precisar de alterar os atributos destes utilizadores, 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 dos nomes de utilizador são os mesmos para o Cloud SQL e para o PostgreSQL no local.

Quando cria um utilizador, pode adicionar parâmetros da política de palavras-passe do utilizador.

REST v1beta4

Para criar um utilizador, use um pedido POST com o método users:insert.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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 utilizadores criados em instâncias que usam o método de autenticação do Cloud SQL recebem automaticamente a função cloudsqlsuperuser e têm os seguintes privilégios associados a esta função: CREATEROLE, CREATEDB e LOGIN.

Se precisar de alterar os atributos destes utilizadores, 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 dos nomes de utilizador são os mesmos para o Cloud SQL e para o PostgreSQL no local.

Quando cria um utilizador, pode adicionar parâmetros da política de palavras-passe do utilizador.

Cliente psql

  1. No comando psql, crie o utilizador:
      CREATE USER USER_NAME
          WITH PASSWORD PASSWORD
          ATTRIBUTE1
          ATTRIBUTE2...;
      

    Introduza a palavra-passe quando lhe for pedido.

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

  2. Pode confirmar a criação do utilizador apresentando a tabela de utilizadores:
      SELECT * FROM pg_roles;
      

Defina uma política de palavras-passe do utilizador

Pode definir uma política de palavras-passe com o tipo de autenticação incorporado.

gcloud

Para definir a política de palavras-passe do utilizador, use o comando gcloud sql users set-password-policy.

Substitua o seguinte:

  • USER_NAME: o nome de utilizador.
  • INSTANCE_NAME: o nome da instância.
  • HOST: o nome do anfitrião do utilizador como um endereço IP específico, um intervalo de endereços ou qualquer anfitrião (%).
  • PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS: Opcional: o número de vezes que um utilizador pode tentar a palavra-passe 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 os quais a palavra-passe expira e o utilizador tem de 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 palavras-passe de utilizador, 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 palavras-passe do utilizador, consulte Listar utilizadores.

REST v1

Para definir uma política de palavras-passe de utilizador, use um pedido PUT com o método users:update.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do utilizador
  • PASSWORD: a palavra-passe do utilizador
  • FAILED_ATTEMPTS_CHECK: definido como true para ativar uma verificação do número de tentativas falhadas de início de sessão após as quais a conta é bloqueada
  • NUMBER_OF_ATTEMPTS: o número de tentativas falhadas de início de sessão após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION: o número de dias após os quais a palavra-passe expira e o utilizador tem de 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Para ver a política de palavras-passe do utilizador, consulte Listar utilizadores.

REST v1beta4

Para definir uma política de palavras-passe de utilizador, use um pedido PUT com o método users:update.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do utilizador
  • PASSWORD: a palavra-passe do utilizador
  • FAILED_ATTEMPTS_CHECK: definido como true para ativar uma verificação do número de tentativas falhadas de início de sessão após as quais a conta é bloqueada
  • NUMBER_OF_ATTEMPTS: o número de tentativas falhadas de início de sessão após as quais a conta é bloqueada
  • PASSWORD_EXPIRATION_DURATION: o número de dias após os quais a palavra-passe expira e o utilizador tem de 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 do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Para ver a política de palavras-passe do utilizador, consulte Listar utilizadores.

Listar utilizadores

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

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

gcloud

Use o comando gcloud sql users list para listar os utilizadores desta instância:

gcloud sql users list \
--instance=INSTANCE_NAME

O comando devolve o Name, o Host e a autenticação Type para cada utilizador.

Além disso, para o tipo de autenticação incorporado, são devolvidas as definições e o estado da política de palavras-passe. 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 utilizadores definidos para uma instância, use um pedido GET com o método users:list.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

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 tiver sido definida uma política de palavras-passe de utilizador, a secção items da resposta inclui uma secção passwordPolicy. O seguinte exemplo de código mostra a secção passwordPolicy.

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

REST v1beta4

Para listar os utilizadores definidos para uma instância, use um pedido GET com o método users:list.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido

Método HTTP e URL:

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

Para enviar o seu pedido, expanda uma destas opções:

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 tiver sido definida uma política de palavras-passe de utilizador, a secção items da resposta inclui uma secção passwordPolicy. O seguinte exemplo de código mostra a secção passwordPolicy.

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

Cliente psql

No comando psql, liste os utilizadores do PostgreSQL:

SELECT * FROM pg_roles;

Altere a palavra-passe de um utilizador

As palavras-passe dos utilizadores podem ser alteradas de uma das seguintes formas.

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Selecione Utilizadores no menu de navegação do SQL.
  4. Clique em mais ações Ícone Mais ações. para o utilizador que quer atualizar.
  5. Selecione Alterar palavra-passe.
  6. Especifique uma nova palavra-passe.
  7. Clique em OK.

gcloud

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

Substitua o seguinte:

  • USER_NAME: o nome de utilizador.
  • 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 palavra-passe de um utilizador, use um pedido PUT com o método users:update.

O pedido seguinte atualiza a palavra-passe da conta de utilizador user_name.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a nova palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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 a palavra-passe de um utilizador, use um pedido PUT com o método users:update.

O pedido seguinte atualiza a palavra-passe da conta de utilizador user_name.

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

  • project-id: o ID do seu projeto
  • instance-id: o ID de instância pretendido
  • user-id: O ID do utilizador
  • password: a nova palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

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": "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 comando psql, execute o comando ALTER USER.
  1. Desbloqueie o utilizador.
    ALTER USER USER_NAME WITH LOGIN;
  2. Altere a palavra-passe e introduza-a quando lhe for pedido.
    ALTER USER USER_NAME WITH PASSWORD PASSWORD;

Se um utilizador estiver bloqueado devido às definições da política de palavras-passe, altere a palavra-passe para o desbloquear. Certifique-se de que as palavras-passe, quando alteradas, cumprem a política de palavras-passe.

Remova uma política de palavras-passe de utilizadores

Pode remover uma política de palavras-passe de um utilizador que tenha o tipo de autenticação incorporado.

gcloud

Para remover a política de palavras-passe do utilizador, use o comando gcloud sql users set-password-policy e o parâmetro --clear-password-policy.

Substitua o seguinte:

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

REST v1

Para remover uma política de palavra-passe de utilizador, use um pedido PUT com o método users:update.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do utilizador
  • PASSWORD: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

Para remover uma política de palavra-passe de utilizador, use um pedido PUT com o método users:update.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID da instância
  • USER_ID: o ID do utilizador
  • PASSWORD: a palavra-passe do utilizador

Método HTTP e URL:

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

Corpo JSON do pedido:

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

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Remova um utilizador

O utilizador predefinido pode remover utilizadores.

Antes de remover um utilizador, tem de eliminar todos os objetos que lhe pertencem ou reatribuir a respetiva propriedade, e revogar todos os privilégios que a função lhe tenha concedido noutros objetos.

Consola

  1. Na Trusted Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Selecione Utilizadores no menu de navegação do SQL.
  4. Clique em mais ações Ícone Mais ações. junto ao utilizador que quer remover.
  5. Selecione Remover e, de seguida, selecione novamente Remover.

gcloud

Use o comando gcloud sql users delete para remover um utilizador.

Substitua o seguinte:

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

REST v1

O pedido abaixo usa o método users:delete para eliminar a conta de utilizador especificada.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID de instância pretendido
  • USERNAME: o endereço de email do utilizador 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 o seu pedido, expanda uma destas opções:

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": "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

O pedido abaixo usa o método users:delete para eliminar a conta de utilizador especificada.

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

  • PROJECT_ID: o ID do seu projeto
  • INSTANCE_ID: o ID de instância pretendido
  • USERNAME: o endereço de email do utilizador 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 o seu pedido, expanda uma destas opções:

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": "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. Na mensagem psql, elimine o utilizador:
    DROP ROLE USER_NAME;

    Para mais informações acerca da declaração DROP ROLE, consulte a documentação do PostgreSQL.

Atualize propriedades do utilizador

Para atualizar propriedades do utilizador, como atributos, tem de usar o cliente psql. Para mais informações, consulte Funções da base de dados na documentação do PostgreSQL.

O que se segue?