Nesta página, descrevemos como ativar e usar a autenticação integrada do Cloud SQL.
Para uma visão geral, consulte Autenticação de banco de dados integrada do Cloud SQL.Antes de criar usuários
- Crie uma instância do Cloud SQL. Para mais informações, consulte Criar instâncias.
- Ative as políticas de senha para a instância. Para mais informações, consulte Políticas de senha da instância.
Se você planeja usar o cliente administrativo do banco de dados para gerenciar usuários, realize estas ações:
Conecte o cliente à sua instância. Consulte Opções de conexão para aplicativos externos.
Defina a senha para configurar o usuário padrão na instância. Consulte Definir a senha da conta de usuário padrão.
Definir a senha da conta de usuário padrão
Ao criar uma nova instância do Cloud SQL, defina uma senha para a conta de usuário padrão antes de se conectar a ela.
No Cloud SQL para PostgreSQL, o usuário padrão épostgres.
Console
-
No console Google Cloud , 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 do SQL.
- Encontre o usuário
postgrese selecione Alterar senha no menu "Mais ações"
.
- Forneça uma senha forte, de que se lembre posteriormente, e clique em OK.
gcloud
Use o comando gcloud sql users set-password da seguinte forma para definir a senha do usuário padrão.
Substitua INSTANCE_NAME pelo nome da instância antes de executar o comando.
gcloud sql users set-password postgres \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Para atualizar a senha da conta de usuário padrão, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a senha do usuário
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON da solicitação:
{
"name": "user-id",
"password": "password"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
Para atualizar a senha da conta de usuário padrão, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a senha do usuário
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=user-id
Corpo JSON da solicitação:
{
"name": "user-id",
"password": "password"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
Criar um usuário
Depois de configurar a conta de usuário padrão, é possível criar outros usuários.
Console
-
No console Google Cloud , 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 do 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 se autentica 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 que você consiga lembrar.
- Clique em Adicionar.
Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.
Se você precisar alterar os atributos desses usuários, use o comando
ALTER ROLE (em inglês)
no cliente psql. Nem todos os atributos podem ser
modificados com ALTER ROLE. As exceções incluem os
papéis NOSUPERUSER e NOREPLICATION.
gcloud
Para criar um usuário, use o comando gcloud sql users create.
Substitua:
- USER_NAME: o nome de usuário.
- INSTANCE_NAME: o nome da instância
- PASSWORD: a senha do usuário.
gcloud sql users create USER_NAME \ --instance=INSTANCE_NAME \ --password=PASSWORD
Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.
Se você precisar alterar os atributos desses usuários, use o comando
ALTER ROLE (em inglês)
no cliente psql. Nem todos os atributos podem ser
modificados com ALTER ROLE. As exceções incluem os
papéis NOSUPERUSER e NOREPLICATION.
Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.
Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.
Terraform
Para criar um usuário, use um recurso do Terraform.
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto Google Cloud , siga as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto Google Cloud padrão em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf, por exemplo,main.tf. Neste tutorial, o arquivo é chamado demain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tfrecém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as 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
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu Google Cloud projeto para conferir os resultados. No console do Google Cloud , navegue até seus recursos na UI para verificar se foram criados ou atualizados pelo Terraform.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
- Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento
deletion_protectioncomofalse.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yesno prompt:terraform destroy
REST v1
Para criar um usuário, utilize uma solicitação POST com o método users:insert.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a senha do usuário
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Corpo JSON da solicitação:
{
"name": "user-id",
"password": "password"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:44:16.656Z",
"startTime": "2020-02-07T22:44:16.686Z",
"endTime": "2020-02-07T22:44:20.437Z",
"operationType": "CREATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.
Se você precisar alterar os atributos desses usuários, use o comando
ALTER ROLE (em inglês)
no cliente psql. Nem todos os atributos podem ser
modificados com ALTER ROLE. As exceções incluem os
papéis NOSUPERUSER e NOREPLICATION.
Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.
Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.
REST v1beta4
Para criar um usuário, utilize uma solicitação POST com o método users:insert.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a senha do usuário
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Corpo JSON da solicitação:
{
"name": "user-id",
"password": "password"
}
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:44:16.656Z",
"startTime": "2020-02-07T22:44:16.686Z",
"endTime": "2020-02-07T22:44:20.437Z",
"operationType": "CREATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
Os usuários criados em instâncias que usam o método de autenticação do Cloud SQL recebem o papel cloudsqlsuperuser automaticamente e têm estes privilégios associados a ele: CREATEROLE, CREATEDB e LOGIN.
Se você precisar alterar os atributos desses usuários, use o comando
ALTER ROLE (em inglês)
no cliente psql. Nem todos os atributos podem ser
modificados com ALTER ROLE. As exceções incluem os
papéis NOSUPERUSER e NOREPLICATION.
Os limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no PostgreSQL no local.
Ao criar um usuário, é possível adicionar parâmetros da política de senha do usuário.
Cliente psql
- No prompt
psql, crie o usuário:CREATE USER USER_NAME WITH PASSWORD PASSWORD ATTRIBUTE1 ATTRIBUTE2...;
Digite a senha quando solicitada.
Para mais informações sobre os atributos de papéis, consulte a documentação do PostgreSQL.
- Você pode confirmar a criação do usuário exibindo a tabela do usuário:
SELECT * FROM pg_roles;
Definir uma política de senha do usuário
É possível definir uma política de senha com o tipo de autenticação integrado.
gcloud
Para definir a política de senha do usuário, use o comando
gcloud sql users set-password-policy.
Substitua:
- USER_NAME: o nome de usuário.
- INSTANCE_NAME: o nome da instância
- HOST: o nome do host do usuário como um endereço IP específico, intervalo de endereços ou qualquer host (
%). - PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS (opcional): o número de vezes que um usuário pode tentar a senha incorretamente antes de a conta ser bloqueada. Use
--password-policy-enable-failed-attempts-checkpara ativar e--no-password-policy-enable-failed-attempts-checkpara desativar a verificação. - PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION (opcional): especifica o número de dias após o qual a senha expira e o usuário precisa criar uma nova.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --password-policy-enable-failed-attempts-check \ --password-policy-allowed-failed-attempts=PASSWORD_POLICY_ALLOWED_FAILED_ATTEMPTS \ --password-policy-password-expiration-duration=PASSWORD_POLICY_PASSWORD_EXPIRATION_DURATION
Para remover uma política de senha do usuário, use o parâmetro --clear-password-policy.
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
Para ver a política de senha do usuário, consulte Listar usuários.
REST v1
Para definir uma política de senha do usuário, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da instância
- USER_ID: o ID do usuário
- PASSWORD: a senha do usuário
- FAILED_ATTEMPTS_CHECK: defina como
truepara ativar uma verificação do número de tentativas malsucedidas de login após as quais a conta é bloqueada - NUMBER_OF_ATTEMPTS: o número de tentativas malsucedidas de login após as quais a conta é bloqueada
- PASSWORD_EXPIRATION_DURATION: o número de dias após o qual a senha expira e o usuário precisa criar uma nova
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON da solicitação:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
"allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
"passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION"
}
},
}
}Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Para ver a política de senha do usuário, consulte Listar usuários.
REST v1beta4
Para definir uma política de senha do usuário, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da instância
- USER_ID: o ID do usuário
- PASSWORD: a senha do usuário
- FAILED_ATTEMPTS_CHECK: defina como
truepara ativar uma verificação do número de tentativas malsucedidas de login após as quais a conta é bloqueada - NUMBER_OF_ATTEMPTS: o número de tentativas malsucedidas de login após as quais a conta é bloqueada
- PASSWORD_EXPIRATION_DURATION: o número de dias após o qual a senha expira e o usuário precisa criar uma nova
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON da solicitação:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : "FAILED_ATTEMPTS_CHECK",
"allowedFailedAttempts" : "NUMBER_OF_ATTEMPTS",
"passwordExpirationDuration" : "PASSWORD_EXPIRATION_DURATION"
}
},
}
}Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Para ver a política de senha do usuário, consulte Listar usuários.
Listar usuários
Console
-
No console Google Cloud , 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 do SQL.
gcloud
Use o comando gcloud sql users list para listar os usuários desta instância:
gcloud sql users list \ --instance=INSTANCE_NAME
O comando retorna Name, Host e
a autenticação Type para cada usuário.
Além disso, para o tipo de autenticação integrado, as configurações e o status da política de senha são retornados. Por exemplo:
NAME HOST TYPE PASSWORD_POLICY
user1 BUILT_IN {'allowedFailedAttempts': 2,
'enableFailedAttemptsCheck': True,
'passwordExpirationDuration': '7d',
'status': {
'locked': True,
'passwordExpirationTime': '2022-07-01T19:53:45.822742904Z'
}
}
REST v1
Para listar os usuários definidos para uma instância, use uma solicitação GET com o método users:list.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#usersList",
"items": [
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "sqlserver",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-1",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-2",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
...
},
{
...
}
]
}
Se uma política de senha do usuário tiver sido definida, a seção items da resposta incluirá uma seção passwordPolicy. O exemplo de código a seguir mostra a seção passwordPolicy.
{
...
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : true,
"allowedFailedAttempts" : 8,
"passwordExpirationDuration" : "7d"
}
},
...
}
REST v1beta4
Para listar os usuários definidos para uma instância, use uma solicitação GET com o método users:list.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#usersList",
"items": [
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "sqlserver",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-1",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
"kind": "sql#user",
"etag": "--redacted--",
"name": "user-id-2",
"host": "",
"instance": "instance-id",
"project": "project-id",
"sqlserverUserDetails": {
"serverRoles": [
"CustomerDbRootRole"
]
}
},
{
...
},
{
...
}
]
}
Se uma política de senha do usuário tiver sido definida, a seção items da resposta incluirá uma seção passwordPolicy. O exemplo de código a seguir mostra a seção passwordPolicy.
{
...
"passwordValidationUserPolicy" : {
{
"enableFailedAttemptsCheck" : true,
"allowedFailedAttempts" : 8,
"passwordExpirationDuration" : "7d"
}
},
...
}
Cliente psql
No prompt psql, liste os usuários do PostgreSQL:
SELECT * FROM pg_roles;
Alterar uma senha de usuário
As senhas de usuário podem ser alteradas de uma das seguintes maneiras.
Console
-
No console Google Cloud , 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 do SQL.
- Selecione o usuário a ser atualizado e clique em "Mais ações"
. - Selecione Alterar senha.
- Especifique uma nova senha.
- Clique em OK.
gcloud
Use o comando gcloud sql users set-password para alterar uma senha.
Substitua:
- USER_NAME: o nome de usuário.
- INSTANCE_NAME: o nome da instância
gcloud sql users set-password USER_NAME \ --instance=INSTANCE_NAME \ --prompt-for-password
REST v1
Para alterar uma senha de usuário, utilize uma solicitação PUT com o método users:update.
A solicitação a seguir atualiza a senha da conta de usuário user_name.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a 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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
Para alterar uma senha de usuário, utilize uma solicitação PUT com o método users:update.
A solicitação a seguir atualiza a senha da conta de usuário user_name.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância buscada
- user-id: o ID do usuário
- password: a 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 a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "UPDATE_USER",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
Cliente psql
No promptpsql, execute o comando ALTER USER.
- Desbloqueie o usuário.
ALTER USER USER_NAME WITH LOGIN;
- Altere a senha e digite-a quando for solicitada.
ALTER USER USER_NAME WITH PASSWORD PASSWORD;
Se um usuário estiver bloqueado devido às configurações de política de senha, mude a senha para desbloqueá-lo. Confirme que as senhas, quando alteradas, sigam a política de senhas.
Remover uma política de senha do usuário
É possível remover uma política de senha de um usuário que tem o tipo de autenticação integrado.
gcloud
Para remover a política de senha do usuário, use o comando gcloud sql users set-password-policy e o parâmetro --clear-password-policy.
Substitua:
- USER_NAME: o nome de usuário
- INSTANCE_NAME: o nome da instância.
- HOST: o nome do host do usuário como um endereço IP específico, intervalo de endereços ou qualquer host (
%)
gcloud sql users set-password-policy USER_NAME \ --instance=INSTANCE_NAME \ --host=HOST \ --clear-password-policy
REST v1
Para remover uma política de senha do usuário, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da instância
- USER_ID: o ID do usuário
- PASSWORD: a senha do usuário
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON da solicitação:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {}
}
}Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
REST v1beta4
Para remover uma política de senha do usuário, use uma solicitação PUT com o método users:update.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- INSTANCE_ID: o ID da instância
- USER_ID: o ID do usuário
- PASSWORD: a senha do usuário
Método HTTP e URL:
PUT https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?name=USER_ID
Corpo JSON da solicitação:
{
"name": "USER_ID",
"password": "PASSWORD",
"data":
{
"passwordValidationUserPolicy" : {}
}
}Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Remover um usuário
O usuário padrão pode remover usuários.
Antes de remover um usuário, você precisa descartar todos os objetos que são da propriedade dele ou reatribuir a propriedade e revogar os privilégios concedidos ao papel em outros objetos.
Console
-
No console Google Cloud , 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 do SQL.
- Selecione o usuário a ser removido e clique em Mais ações
. - Selecione Remover e, em seguida, selecione Remover novamente.
gcloud
Use o comando gcloud sql users delete para remover um usuário.
Substitua:
- USER_NAME: o nome de usuário.
- INSTANCE_NAME: o nome da instância
gcloud sql users delete USER_NAME \ --instance=INSTANCE_NAME
REST v1
A solicitação abaixo usa o método users:delete para excluir a conta de usuário especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância buscada
- USERNAME: o endereço de e-mail do usuário ou da conta de serviço
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "DELETE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
A solicitação abaixo usa o método users:delete para excluir a conta de usuário especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto
- INSTANCE_ID: o ID da instância buscada
- USERNAME: o endereço de e-mail do usuário ou da conta de serviço
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/users?host=&name=USERNAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "DONE",
"user": "user@example.com",
"insertTime": "2020-02-07T22:38:41.217Z",
"startTime": "2020-02-07T22:38:41.217Z",
"endTime": "2020-02-07T22:38:44.801Z",
"operationType": "DELETE_USER",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Cliente psql
- No prompt
psql, exclua o usuário:DROP ROLE USER_NAME;
Para mais informações sobre a instrução
DROP ROLE, consulte a documentação do PostgreSQL.
Atualizar propriedades do usuário
Para atualizar as propriedades do usuário, como atributos, você precisa usar o clientepsql.
Para mais informações, consulte Papéis de banco de dados na
documentação do PostgreSQL.
A seguir
- Saiba mais sobre como o Cloud SQL funciona com os usuários.
- Leia a documentação do PostgreSQL sobre a criação de funções.
- Saiba mais sobre como se conectar a instâncias.