Nesta página, descrevemos como ativar e usar a autenticação integrada do Cloud SQL.
Para mais informações sobre os usuários que você cria usando o Cloud SQL, consulte Outros usuários do SQL Server.Antes de criar usuários
- Crie uma instância do Cloud SQL. Para mais informações, consulte Criar instâncias.
- Se você planeja usar o cliente administrativo do banco de dados para gerenciar usuários, 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.
Para o Cloud SQL para SQL Server, o usuário padrão ésqlserver
.
Console
-
No console do 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
sqlserver
e 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 sqlserver \ --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 do 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,
adicione as seguintes informações:
- Um Nome de usuário.
- Uma Senha (opcional).
- Clique em Add.
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 limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no SQL Server local.
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 do Google Cloud, conclua as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto padrão do Google Cloud 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.tf
recé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
yes
no prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu projeto do Google Cloud para ver os resultados. No console do Google Cloud, navegue até seus recursos na IU 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_protection
comofalse
.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yes
no prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yes
no 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 limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no SQL Server local.
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 limites de tamanho de nome de usuário são os mesmos no Cloud SQL e no SQL Server local.
Listar usuários
Console
-
No console do 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
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" ] } }, { ... }, { ... } ] }
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" ] } }, { ... }, { ... } ] }
Alterar uma senha de usuário
As senhas de usuário podem ser alteradas de uma das seguintes maneiras.
Console
-
No console do 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 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", "retainedPassword" : "dual-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 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", "retainedPassword" : "dual-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" }
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 do 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" }
Atualizar propriedades do usuário
Para informações relacionadas a papéis no nível do banco de dados no SQL Server, consulte Como trabalhar com papéis no nível do banco de dados na documentação do SQL Server.A seguir
- Saiba mais sobre como o Cloud SQL funciona com os usuários.