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
- Crie uma instância do Cloud SQL. Para obter mais informações, consulte Criar instâncias .
- Habilite políticas de senha para a instância. Para obter mais informações, consulte Políticas de senha da instância .
Se você planeja usar o cliente administrativo do seu banco de dados para gerenciar usuários, faça o seguinte:
Conecte o cliente à sua instância. Consulte Opções de conexão para aplicativos externos .
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
No Google Cloud console, acesse a página Instâncias do Cloud SQL .
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Usuários no menu de navegação SQL.
- Encontre o usuário
postgres
e selecione Alterar senha no menu mais ações.
- 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
No Google Cloud console, acesse a página Instâncias do Cloud SQL .
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Usuários no menu de navegação SQL.
- 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 .
- 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.
- 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 .
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
- Inicie o Cloud Shell .
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 ).
- 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 demain.tf
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
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.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve suas alterações.
- 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
- 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.
- 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!".
- 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:
- Para desabilitar a proteção contra exclusão, no seu arquivo de configuração do Terraform defina o argumento
deletion_protection
comofalse
.deletion_protection = "false"
- Aplique a configuração atualizada do Terraform executando o seguinte comando e digitando
yes
no prompt:terraform apply
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
- 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 .
- 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
No Google Cloud console, acesse a página Instâncias do Cloud SQL .
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- 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
No Google Cloud console, acesse a página Instâncias do Cloud SQL .
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Usuários no menu de navegação SQL.
- Clique em mais ações
para o usuário que você deseja atualizar.
- Selecione Alterar senha .
- Especifique uma nova senha.
- 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 dopsql
, execute o comando ALTER USER .- Desbloqueie o usuário.
ALTER USER USER_NAME WITH LOGIN;
- 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
No Google Cloud console, acesse a página Instâncias do Cloud SQL .
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Usuários no menu de navegação SQL.
- Clique em mais ações
para o usuário que você deseja remover.
- 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
- 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 clientepsql
. Para mais informações, consulte "Funções de Banco de Dados" na documentação do PostgreSQL.O que vem a seguir
- Saiba mais sobre como o Cloud SQL funciona com os usuários .
- Leia a documentação do PostgreSQL sobre criação de funções .
- Saiba mais sobre como se conectar a instâncias .