Nesta página, você encontra informações sobre os papéis e as permissões do Identity and Access Management (IAM) e como são usados com instâncias do Cloud SQL.
Introdução
Nesta página, falaremos sobre os aspectos do IAM que são relevantes para o Cloud SQL. Para ver informações detalhadas sobre o IAM e seus recursos gerais, consulte Gerenciamento de identidade e acesso. Consulte especificamente a seção Como gerenciar políticas do IAM. Com o IAM, você controla quem tem acesso a recursos no seu projeto do Google Cloud. O conjunto de regras de acesso aplicado a um recurso é chamado de política de IAM. Uma política do IAM aplicada ao projeto define as ações que os usuários podem executar em todos os recursos do projeto.
Os membros são o "quem" do IAM. Podem ser usuários individuais, grupos, domínios ou até mesmo o público em geral. A eles são atribuídos papéis que permitem a execução de ações no Cloud SQL e no Google Cloud de modo geral. Cada papel se baseia em um conjunto de uma ou mais permissões. As permissões são as unidades básicas do IAM. Com cada uma delas, é possível executar uma determinada ação. Consulte Papéis do IAM no Cloud SQL e Permissões do IAM no Cloud SQL para ver listas completas 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.
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
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 Cloud Run functions, esse serviço cria a 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 Run functions | @appspot.gserviceaccount.com |
Cloud Run | compute@developer.gserviceaccount.com |
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
gcloud storage buckets add-iam-policy-binding
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 para integração do Dataplex
Para fornecer acesso aos metadados do Cloud SQL no Dataplex,
você pode conceder a um usuário o papel roles/cloudsql.schemaViewer
ou adicionar o
cloudsql.schemas.view
para um papel personalizado.
Para mais informações, consulte Gerenciar recursos do Cloud SQL com o Dataplex Catalog.
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:
- Como usar chaves de criptografia gerenciadas pelo cliente (CMEK).
- Papéis do IAM para administrar VPC Service Controls.
Usar o IAM com projetos
As seções a seguir mostram como concluir tarefas básicas de IAM em projetos.
Para concluir as tarefas a seguir, você precisa ter as
permissões de IAM resourcemanager.projects.getIamPolicy
e
resourcemanager.projects.setIamPolicy
.
Adicionar um membro a uma política no nível do projeto
Para ver a lista de papéis associados ao Cloud SQL, consulte Papéis do IAM.
Console
- Acesse a página IAM e administrador no Console do Google Cloud.
- No menu suspenso do projeto, na barra superior, selecione o projeto ao qual você quer adicionar um membro.
- Clique em Adicionar. A caixa de diálogo Adicionar membros, papéis ao projeto é exibida.
- No campo Novos membros, especifique o nome da entidade à qual você está concedendo acesso.
- Na lista suspensa Selecionar papel, escolha o papel que você quer conceder a esses membros. Os papéis que afetam os recursos do Cloud SQL estão nos submenus Projeto e Cloud SQL.
- Clique em Salvar.
gcloud
Para adicionar uma política do IAM para envolvidos no projeto, use gcloud beta projects add-iam-policy-binding
.
Ver a política de IAM de um projeto
Console
- Acesse a página IAM e administrador no Console do Google Cloud.
- No menu suspenso do projeto, na barra superior, selecione o projeto no qual está a política que você quer visualizar.
- Há duas maneiras de visualizar as permissões do projeto:
- Visualizar por membros: visualize a coluna Papel associada a membros individuais para ver quais papéis cada membro tem.
- Visualizar por papéis: use a lista suspensa associada a papéis individuais para ver quais membros têm o papel.
gcloud
Para visualizar a política de IAM de um projeto, use gcloud beta projects get-iam-policy
.
Remover um membro de uma política no nível do projeto
Console
- Acesse a página IAM e administrador no Console do Google Cloud.
- No menu suspenso do projeto, na barra superior, selecione o projeto do qual você quer remover um membro.
- Verifique se você está visualizando as permissões por Membros e selecione aqueles que quer remover.
- Clique em Remover.
- Na janela de sobreposição exibida, clique em Confirmar.
gcloud
Para remover uma política do IAM para envolvidos no projeto, use gcloud beta projects remove-iam-policy-binding
.
Práticas recomendadas
O IAM, como qualquer outra configuração administrativa, exige que o gerenciamento ativo seja eficaz. Antes de tornar um recurso acessível a outros usuários, saiba quais são os papéis que serão atribuídos a essas pessoas. As mudanças no gerenciamento de projetos, nos padrões de uso e na propriedade organizacional podem exigir que você modifique as configurações de IAM em buckets e projetos, especialmente se gerenciar o Cloud SQL em uma organização ou para um grande grupo de usuários. Ao avaliar e planejar as configurações de controle de acesso, lembre destas práticas recomendadas:
Use o princípio do menor privilégio ao conceder acesso. O princípio de privilégio mínimo é uma diretriz de segurança para conceder acesso a seus recursos. Ao conceder acesso com base no princípio do menor privilégio, você dá a um usuário apenas o acesso necessário para realizar a tarefa atribuída.
Evite conceder papéis com a permissão
setIamPolicy
a desconhecidos. Com a permissãosetIamPolicy
, o usuário consegue alterar permissões e assumir o controle dos dados. Por isso, use papéis com a permissãosetIamPolicy
somente quando quiser delegar o controle administrativo de objetos e buckets.Delegue o controle administrativo de seus recursos. Verifique se os recursos ainda podem ser gerenciados por outros membros da equipe caso um indivíduo com acesso administrativo saia do grupo. Duas maneiras comuns para fazer isso são as seguintes:
- Atribua o papel Administrador do Cloud SQL do projeto a um grupo em vez de um indivíduo.
- Atribua o papel Administrador do Cloud SQL do projeto a pelo menos dois indivíduos.
A seguir
- Saiba mais sobre como controlar o acesso.