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 Storage. 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, é possível controlar quem tem acesso aos recursos do 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: cada uma possibilita executar 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 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 |
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:
- 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 onde 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 onde 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 Save.
gsutil
As políticas de IAM para envolvidos no projeto são gerenciadas por meio do comando gcloud
,
que faz parte do SDK do Google Cloud. Para adicionar uma política 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.
gsutil
As políticas de IAM para envolvidos no projeto são gerenciadas por meio do comando gcloud
,
que faz parte do SDK do Google Cloud. Para visualizar a política de IAM de um projeto, use o
comando 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 onde 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.
gsutil
As políticas de IAM para envolvidos no projeto são gerenciadas por meio do comando gcloud
, que
faz parte do SDK do Google Cloud. Para remover uma política 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 Storage 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 buckets. Verifique se os buckets e 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 ao seu projeto para pelo menos dois indivíduos.
A seguir
- Saiba mais sobre como controlar o acesso.