Esta página descreve como ativar e usar a autenticação integrada do Cloud SQL.
Para ver informações adicionais acerca dos utilizadores que cria através do Cloud SQL, consulte a secção Outros utilizadores do SQL Server.Antes de criar utilizadores
- Crie uma instância do Cloud SQL. Para mais informações, consulte o artigo Crie instâncias.
- Se planeia usar o cliente administrativo da sua base de dados para gerir utilizadores, 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 SQL Server, o utilizador predefinido ésqlserver
.
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
sqlserver
e 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 sqlserver \ --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,
adicione as seguintes informações:
- Um nome de utilizador.
- Uma palavra-passe (opcional).
- Clique em Adicionar.
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 limites de comprimento dos nomes de utilizador são os mesmos para o Cloud SQL e para o SQL Server no local.
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.tf
criado 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 as correções necessárias à configuração.
-
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!).
- 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_protection
comofalse
.deletion_protection = "false"
- Aplique a configuração do Terraform atualizada executando o seguinte comando e
introduzindo
yes
no comando:terraform apply
-
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 limites de comprimento dos nomes de utilizador são os mesmos para o Cloud SQL e para o SQL Server no local.
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 limites de comprimento dos nomes de utilizador são os mesmos para o Cloud SQL e para o SQL Server no local.
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
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" ] } }, { ... }, { ... } ] }
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" ] } }, { ... }, { ... } ] }
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" }
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" }
Atualize propriedades do utilizador
Para obter informações relacionadas com funções ao nível da base de dados no SQL Server, consulte o artigo Trabalhar com funções ao nível da base de dados na documentação do SQL Server.O que se segue?
- Saiba mais sobre como o Cloud SQL funciona com os utilizadores.