Papéis e permissões no Cloud SQL

Nesta página, você encontra informações sobre papéis e permissões do gerenciamento de identidade e acesso (IAM) e permissões para usá-los na conexão com uma instância do Cloud SQL.

Introdução

O controle de acesso para as APIs do Google Cloud abrange autenticação, autorização e auditoria. A autenticação determina quem você é. Os desenvolvedores de aplicativos usam o serviço do IAM e as contas dos usuários para fazer a autenticação no Google Cloud. As contas usam papéis, que incluem conjuntos de permissões. Consulte Controle de acesso ao projeto para ver uma lista completa de todos os papéis e permissões disponíveis no Cloud SQL.

Quando você usa uma conta para se conectar a uma instância do Cloud SQL, essa conta precisa ter o papel Cloud SQL > Cliente (roles/cloudsql.client), que inclui as permissões obrigatórias para a conexão.

Adicione papéis a uma conta na página IAM e administrador > IAM do Console e veja quais permissões pertencem a quais papéis na página IAM e administrador > Papéis.

O Cloud SQL usa contas de serviço para autenticação entre o Cloud SQL e outros produtos do Google Cloud. As contas de serviço fornecem credentials no formato JSON. Faça o download desse arquivo pelo Console e use-o para autenticação em vários cenários. Por exemplo: conexão a partir de um aplicativo em execução em um contêiner do Docker.

Papéis e permissões do Cloud SQL com o proxy do Cloud SQL Auth

Se estiver se conectando a uma instância do Cloud SQL a partir de uma instância do Compute Engine usando o proxy do Cloud SQL Auth, será possível utilizar a conta de serviço padrão associada à instância do Compute Engine.

Assim como todas as contas conectadas a uma instância do Cloud SQL, a conta de serviço precisa ter o papel Cloud SQL > Cliente.

Papéis e permissões do Cloud SQL com opções sem servidor

As opções sem servidor do Google Cloud incluem o App Engine, o Cloud Functions e o Cloud Run.

Use uma conta de serviço para autorizar o acesso a essas opções. A conta de serviço autoriza o acesso a todo o Cloud SQL em um projeto específico. Ao criar um aplicativo ou um Cloud Functions, esse serviço cria essa conta para você. É possível encontrar a conta na página IAM e administrador > IAM , com o sufixo apropriado:

Opção sem servidor Sufixo da conta de serviço
App Engine @gae-api-prod.google.com.iam.gserviceaccount.com
Cloud Functions @appspot.gserviceaccount.com
Cloud Run compute@developer.gserviceaccount.com

Assim como todas as contas conectadas a uma instância do Cloud SQL, a conta de serviço precisa ter o papel Cloud SQL > Cliente.

Papéis e permissões do Cloud SQL com o Cloud Storage

Os atributos de importação e exportação no Cloud SQL funcionam juntos. As exportações realizam gravações no Cloud Storage, enquanto as importações fazem leituras. Por esse motivo, a conta de serviço usada para essas operações precisa de permissões de leitura e gravação no Cloud Storage:

  • Para importar e exportar dados do Cloud Storage, a conta de serviço da instância do Cloud SQL precisa ter o papel storage.objectAdmin do IAM definido no projeto. É possível encontrar o nome da conta de serviço da instância na página Visão geral da instância no Console do Google Cloud.
  • Use o comando gsutil iam para conceder esse papel do IAM à conta de serviço do bucket.
  • Para receber ajuda com a configuração de papéis e permissões do IAM, consulte Como usar permissões do IAM.
  • Para mais informações, consulte a página sobre IAM para o Cloud Storage.

Papéis e permissões do Cloud SQL com outros cenários

O Cloud SQL interage com outros produtos e ferramentas do Google Cloud. Essas interações também exigem papéis e permissões específicos que podem variar conforme o cenário. A documentação do Cloud SQL fornece informações detalhadas sobre esses requisitos para cada caso abaixo:

A seguir