Como fazer login em um banco de dados usando a autenticação de banco de dados do IAM

Nesta página, descrevemos como usuários e contas de serviço podem fazer login nos bancos de dados do Cloud SQL usando a autenticação de banco de dados do Cloud SQL IAM. Para mais informações, consulte Visão geral da autenticação do banco de dados do IAM do Cloud SQL.

Antes de começar

Como fazer login com autenticação do banco de dados do IAM

Um usuário ou aplicativo pode se autenticar no banco de dados usando o IAM solicitando manualmente um token de acesso do Google Cloud e apresentando-o ao banco de dados. Com o SDK do Cloud, é possível solicitar explicitamente um token OAuth 2.0 com o escopo da API do Cloud SQL usado para fazer login no banco de dados. Ao fazer login como usuário do banco de dados com a autenticação do banco de dados do IAM, use o endereço de e-mail como nome de usuário e o token de acesso como senha. Use esse método com uma conexão direta com o banco de dados ou com um conector do Cloud SQL.

Nestas etapas, você faz a autenticação no Google Cloud, solicita um token de acesso e se conecta ao banco de dados passando o token como a senha do usuário do banco de dados do IAM.

Para essas etapas, você precisa:

Para usar o SDK do Cloud para gerar esse token e fazer login:

gcloud

  1. Faça a autenticação no Google Cloud

    Usuário

    Autentique-se no IAM usando gcloud auth login. Para mais informações, consulte Como autorizar com uma conta de usuário.

    Conta de serviço

    Autentique-se no IAM usando gcloud auth activate-service-account. Para mais informações, consulte Como autorizar com uma conta de serviço.

  2. Solicite o token de acesso e faça login com um cliente.

    Substitua:

    • HOSTNAME: o endereço IP da instância.
    • USERNAME: para uma conta de usuário do IAM, este é o endereço de e-mail do usuário, sem o @ ou o nome de domínio. Por exemplo, para test-user@gmail.com, digite test-user. Para uma conta de serviço, esse é o endereço de e-mail da conta de serviço sem o sufixo @project-id.iam.gserviceaccount.com.

    MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin 
    --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem --host=HOSTNAME
    --user=USERNAME

    A seguir