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
- Crie uma instância do Cloud SQL. Para mais informações, consulte o artigo Crie instâncias.
- 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.
Se planeia usar o cliente administrativo da sua base de dados para gerir utilizadores, faça o seguinte:
Associe o cliente à sua instância. Consulte as Opções de ligação para aplicações externas.
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
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Utilizadores no menu de navegação do SQL.
- Encontre o utilizador
postgrese selecione Alterar palavra-passe no menu de mais ações
.
- 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
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Utilizadores no menu de navegação do SQL.
- 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.
- 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.
- 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.
Aplique as alterações
Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.
Prepare o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o Google 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).
-
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 é denominadomain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
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.tfcriado recentemente.Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.
- Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
- Guarde as alterações.
-
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
-
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.
-
Aplique a configuração do Terraform executando o seguinte comando e introduzindo
yesno comando:terraform apply
Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).
- Abra o seu Google Cloud projeto para ver os resultados. Na Google 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:
- Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento
deletion_protectioncomofalse.deletion_protection = "false"
- Aplique a configuração do Terraform atualizada executando o seguinte comando e
introduzindo
yesno comando:terraform apply
-
Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo
yesno 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
- 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 acerca dos atributos de funções, consulte a documentação do PostgreSQL.
- 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-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 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
truepara 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
truepara 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
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- 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 do 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 do 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
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Utilizadores no menu de navegação do SQL.
- Clique em mais ações
para o utilizador que quer atualizar.
- Selecione Alterar palavra-passe.
- Especifique uma nova palavra-passe.
- 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 comandopsql, execute o comando ALTER USER.
- Desbloqueie o utilizador.
ALTER USER USER_NAME WITH LOGIN;
- 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
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Selecione Utilizadores no menu de navegação do SQL.
- Clique em mais ações
junto ao utilizador que quer
remover. - 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
- 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 clientepsql.
Para mais informações, consulte Funções da base de dados na documentação do PostgreSQL.
O que se segue?
- Saiba mais sobre como o Cloud SQL funciona com os utilizadores.
- Leia a documentação do PostgreSQL sobre a criação de funções.
- Saiba mais sobre como estabelecer ligação a instâncias.