Perguntas frequentes

Sobre o Cloud IAM

O que é o Google Cloud Identity and Access Management (Cloud IAM)?

Com o Cloud IAM, crie e gerencie permissões para recursos do Google Cloud Platform. O controle de acesso para os serviços do Cloud Platform é unificado em um único sistema e é apresentado um conjunto consistente de operações. Para mais conceitos, leia Visão geral do IAM.

Por que preciso do Cloud IAM?

Com o Cloud IAM, adote o princípio de segurança de privilégios mínimos para conceder apenas o acesso necessário aos seus recursos e impedir o acesso a outros. Com o IAM, atenda às cláusulas de conformidade relacionadas à separação das obrigações.

Quais dos serviços do Google Cloud Platform são compatíveis com o do Cloud IAM?

Todos os serviços do Cloud Platform usam o Cloud IAM para garantir que somente identidades autorizadas possam acessá-los. Além disso, alguns serviços fornecem papéis IAM específicos ou são compatíveis com a concessão de acesso ao recurso. Para mais informações sobre compatibilidade com o IAM, consulte Visão geral do IAM.

Como dar os primeiros passos no Cloud IAM?

Para começar a usar o IAM, leia Guia de início rápido do IAM.

Posso usar as políticas do Cloud IAM para gerenciar autenticação e autorização dos meus aplicativos?

Use o IAM para gerenciar autorização aos recursos do Cloud Platform. Para a autenticação dos usuários, utilize os métodos de gerenciamento que você já usa, por exemplo, LDAP, Grupos do Google etc. Com o IAM, conceda o acesso a uma Conta do Google, uma conta de serviço, um grupo do Google, uma Cloud Identity ou um domínio do G Suite.

Papéis e políticas

Qual é a relação entre um papel e uma política?

Com as permissões, você determina quais operações são permitidas em um recurso. No IAM, as permissões são representadas no formato <serviço>.<recurso>.<verbo>, por exemplo, compute.instances.get. Um papel é um conjunto de permissões. Não é possível atribuir diretamente uma permissão ao usuário. Em vez disso, atribua um papel. Quando você faz isso, concede ao usuário todas as permissões contidas no papel.

Com o IAM, controle quem (usuários) tem permissões para o quê (papéis) e para quais recursos, basta definir as políticas de IAM. Uma política de IAM em um recurso é a lista completa de papéis concedidos aos membros do recurso.

Para mais informações sobre permissões, papéis e políticas, leia Visão geral do IAM.

Qual é a diferença entre papéis primitivos e predefinidos?

Papéis primitivos são os legados de proprietário, editor e visualizador. No IAM, você tem papéis predefinidos que permitem um acesso mais granular do que os primitivos. Sempre que possível, conceda os papéis predefinidos às identidades para restringir o acesso somente aos recursos necessários.

Quando devo usar papéis primitivos?

Use papéis primitivos nos seguintes cenários:

  • Quando o serviço Cloud Platform não fornecer um papel predefinido. Consulte a tabela de papéis predefinidos para ver uma lista de todos os disponíveis.

  • Quando quiser conceder permissões mais amplas a um projeto. Isso geralmente é necessário em ambientes de desenvolvimento ou teste.

  • Quando precisar permitir que um membro modifique permissões para um projeto, conceda a ele a função de proprietário, porque somente proprietários têm permissão para conceder acesso a outros usuários de projeto.

  • Quando você trabalha em uma equipe pequena, em que os membros da equipe não precisam de permissões granulares.

Posso definir meus papéis personalizados?

Os papéis personalizados do IAM estão disponíveis em uma versão Alfa.

Como descobrir quais papéis são concedidos a um recurso?

Em um recurso, descubra quais papéis foram concedidos usando o console do Cloud Platform, o método getIamPolicy() ou a ferramenta de linha de comando gcloud. Para mais instruções, consulte Como conceder, alterar e revogar acesso aos membros do projeto.

Como é uma política do Cloud IAM?

Uma política do IAM é representada por um objeto de política que consiste em uma lista de vinculações. Uma vinculação associa uma lista de membros a um papel. Isso pode ser representado em código, conforme mostrado neste exemplo de snippet de código:

{
  "bindings": [
   {
     "role": "roles/owner",
     "members": [
       "user:alice@example.com",
       "group:admins@example.com",
       "domain:google.com",
       "serviceAccount:my-other-app@appspot.gserviceaccount.com"]
      },
      {
        "role": "roles/compute.networkViewer",
        "members": ["user:bob@example.com"]
      }
    ]
}

A política do exemplo acima atribui o papel de proprietário a alice@example.com, admins@example.com, google.com e my-other-app@appspot.gserviceaccount.com, e o papel de visualizador de rede a bob@example.com.

Como criar e gerenciar políticas do Cloud IAM?

Crie e gerencie políticas do IAM usando o Console do Google Cloud Platform, a ferramenta gcloud e os métodos do IAM. Para instruções de como fazer isso, consulte Conceder, alterar e revogar acesso aos membros do projeto.

Como descobrir a política IAM do meu projeto?

Descubra a política IAM de um projeto usando o console do Cloud Platform, o método project.getIamPolicy() ou a ferramenta gcloud. Para mais instruções, consulte Como conceder, alterar e revogar acesso aos membros do projeto.

Como descobrir a política no nível da organização?

Descubra a política no nível da organização usando o console do Cloud Platform, o método organization.getIamPolicy() ou a ferramenta gcloud. Para instruções sobre como descobrir as políticas do nível da organização, consulte Controle de acesso para organizações.

Como atualizar uma política?

Para atualizar uma política, basta usar o Console do desenvolvedor, a API e a ferramenta gcloud. Para mais instruções, consulte Conceder, alterar e revogar acesso aos membros do projeto.

Qual é o limite de tamanho de uma política?

Cada política pode conter apenas 1.500 members.

Quantas políticas de IAM posso ter?

Cada recurso que é compatível com a uma política IAM no nível dela, por exemplo, nível organizacional, de projeto ou de recurso, pode ter uma única política. No entanto, uma única política pode conter qualquer quantidade de vinculações de papel e essas vinculações podem conter qualquer quantidade de membros.

Como solucionar problemas de minhas políticas?

Use o método testIamPermissions() para verificar quais permissões foram concedidas ao autor da chamada de um determinado recurso. Nesse método, um nome de recurso e um conjunto de permissões são utilizados como parâmetros e o subconjunto de permissões do autor da chamada é retornado.

É possível validar o efeito de um papel do IAM. Por exemplo, um usuário não pode acessar a página do console do Cloud Platform se esse acesso não foi concedido a ele. Se um usuário só tem o papel de visualizador de registros, ele vê a seguinte mensagem de erro quando tenta entrar na página do App Engine:

Você não tem permissões para executar a ação no recurso selecionado.

Identidades

A quais identidades posso atribuir funções de IAM?

O Cloud IAM permite que você conceda acesso aos seguintes tipos de identidades:

  • conta do Google
  • conta de serviço
  • grupo do Google
  • domínio do G Suite ou Cloud Identity

Como usar grupos do Google com o IAM?

Sempre que possível, atribua papéis aos grupos do Google em vez de a usuários individuais. É mais fácil adicionar e remover membros de um grupo do Google em vez de atualizar várias políticas do Cloud IAM para adicionar ou remover usuários. Se você precisa atribuir vários papéis para permitir uma tarefa específica, crie um grupo do Google, atribua papéis e adicione usuários ou outros grupos a ele.

Note que as contas do grupo não são permitidas como proprietários em projetos.

Posso usar o IAM para criar e gerenciar meus usuários?

Não. Use o Cloud Identity ou o G Suite para criar e gerenciar os usuários. Isso também pode ser feito por meio dos seus métodos atuais como LDAP ou Grupos do Google. Se o método que você usa é o LDAP, é necessário utilizar o Google Cloud Directory Sync para sincronizar os dados do domínio do Google. Independentemente do método, você precisa vinculá-lo a um papel em uma política IAM, de preferência com Grupos do Google, para permitir que eles acessem os recursos.

Como desativar o acesso de um usuário aos recursos do Cloud Platform?

Se o papel do IAM foi concedido ao usuário por meio de um grupo do Google, remova o usuário do grupo e ele não terá mais acesso. Se você não usou um grupo, identifique cada política à qual concedeu acesso ao usuário individual, remova-o da política e atualize-a. Usar grupos do Google para conceder acesso é mais fácil porque não o obriga a atualizar todas as políticas ao revogar os direitos de acesso de um usuário individual.

Como conceder permissões a recursos no meu projeto para alguém que não seja membro da minha organização?

Usando os grupos do Google, adicione um usuário que não pertence a sua organização a um deles e vincule esse grupo ao papel. Note que os grupos do Google não têm credenciais de login e não é possível utilizá-los para estabelecer identidade e fazer uma solicitação para acessar um recurso.

Além disso, é possível também adicionar diretamente o usuário a uma política do IAM, mesmo que ele não faça parte da sua organização. Entretanto, verifique com seu administrador se isso é compatível com a política da empresa.

Como restringir quem pode acessar minhas instâncias?

Para restringir quem tem acesso às suas instâncias, use grupos do Google para vincular identidades a papéis. Esta vinculação é usada como parte de uma política aplicada ao projeto em que as instâncias são inicializadas. Se um usuário identificado pela Conta do Google, por exemplo, seu-usuario@seudominio.com, não é membro do grupo vinculado à política do IAM, ele não tem acesso ao recurso em que a política é aplicada.

Como usar a Autenticação Multifator (MFA, na sigla em inglês) com o IAM?

Quando usuários individuais usam o MFA, são honrados os métodos com os quais eles se autenticam. Isso significa que seu sistema de identidade precisa ser compatível com o MFA. Para as Contas do Google for Work, isso precisa ser ativado pelo próprio usuário. Para credenciais gerenciadas pelo Google for Work, o MFA pode ser ativado com as ferramentas dele.

Como uma conta de serviço se diferencia de um usuário que usa o IAM?

Uma conta de serviço é uma Conta especial do Google que pode ser usada por aplicativos para acessar os serviços do Google de modo programático. Essa conta pertence ao aplicativo ou a uma Máquina Virtual (VM, na sigla em inglês) em vez de pertencer a um usuário individual final. O aplicativo usa a conta de serviço para chamar a API de um serviço do Google, assim os usuários não são diretamente envolvidos.

Contas de serviço

Qual é o número máximo de contas de serviço que um projeto pode ter?

Podem ser criadas 100 contas de serviço em um projeto. Entre em contato com o administrador da conta se precisar criar mais de 100 contas de serviço em um projeto.

Como alternar as chaves da conta de serviço ao usar o IAM?

As chaves gerenciadas pelo GCP são trocadas diariamente. Para alternar as chaves gerenciadas pelo usuário, use a API de conta de serviço de IAM para trocar automaticamente as chaves da conta de serviço. Para fazer isso, crie uma nova chave, alterne os aplicativos para que usem essa chave e exclua a chave antiga. Use o método serviceAccount.keys().create() e serviceAccount.keys().delete() juntos para automatizar a troca.

Como controlar quem pode criar uma conta de serviço no meu projeto?

Os papéis de proprietário e editor têm permissões para criar contas de serviço em um projeto. Para conceder a um usuário permissão para criar uma conta de serviço, atribua a ele o papel de proprietário ou editor.

Posso criar uma conta de serviço em uma organização?

Atualmente, só é possível criar contas de serviço em um projeto, não diretamente em uma organização. No entanto, quando você concede permissões IAM no nível da organização, elas são herdadas pelos projetos abaixo dessa organização e, consequentemente, pelas contas de serviço abaixo dos projetos.

Eu tenho uma equipe dedicada que gerencia regras de rede e firewall. Como manter essa separação de obrigações para que as equipes de desenvolvimento possam gerenciar instâncias, mas não fazer alterações na rede ou no firewall?

Atribua o papel de administrador de rede do Compute no nível da organização ou do projeto aos administradores de rede e o papel de administrador de instância do Compute aos desenvolvedores. Desse modo, os desenvolvedores executam ações na instâncias e, ao mesmo tempo, são impedidos de fazer alterações nos recursos de rede associados aos projetos.

Preciso garantir que as equipes da minha organização não acessem as instâncias umas das outras. Como fazer isso?

Crie dois projetos, um para cada equipe. Em seguida, crie políticas separadas para cada projeto para controlar quais equipes podem acessar o projeto e as instâncias contidas nele. Uma abordagem alternativa é usar contas de serviço com papéis diferentes.

Posso alterar a conta de serviço que uso para lançar minha instância?

Não, não é possível alterar a conta de serviço para uma instância em execução no Compute Engine. Só é possível associar uma conta de serviço a uma instância no momento da criação. Altere as permissões concedidas a uma conta de serviço associada a uma instância em execução, e as alterações entram em vigor imediatamente.

Em quais cenários eu usaria o papel de agente da conta de serviço?

Com o papel de agente da conta de serviço, restrinja quem pode acessar uma instância específica com os mesmos direitos de acesso da conta de serviço que ela foi iniciada. Por exemplo, pense em um cenário em que você tem um projeto com duas instâncias, cada uma executando um único serviço. Cada serviço usa uma conta de serviço diferente para acessar os recursos do Cloud Platform necessários. Cada serviço é de propriedade de um desenvolvedor diferente. Depois, conceda a cada desenvolvedor a função de agente da conta de serviço na respectiva conta de serviço para que ele possa gerenciar os serviços dele, mas não os de outros usuários.

Auditoria

Como fazer auditoria de minhas políticas de IAM?

Use os registros de auditoria do Cloud para auditar regularmente alterações na política do IAM. Os registros de auditoria são mantidos por cerca de 30 dias e os usuários precisam exportá-los para que sejam mantidos por mais tempo.

O que é gravado nos registros de auditoria?

Os registros de auditoria da Atividade de administração contêm uma entrada para cada chamada de API ou ação administrativa que modifique a configuração ou os metadados de um serviço ou projeto. Os registros de auditoria de Acesso aos dados contêm uma entrada para os seguintes eventos:

  • Chamadas de API ou ações administrativas de leitura da configuração ou dos metadados de um serviço ou projeto.

  • Chamadas de API ou ações administrativas de criação, modificação ou leitura de dados fornecidos pelo usuário e gerenciados por um serviço, como dados armazenados em um serviço de banco de dados.

  • O método setIamPolicy() do projeto é registrado.

  • As contas de serviço e as chaves das contas de serviço são registradas.

Como controlar quem tem acesso aos meus registros de auditoria?

Você pode restringir o acesso aos registros usando papéis do Stackdriver Logging.

Como manter meus registros de auditoria?

Entradas individuais de registro de auditoria são mantidas por um período específico e depois excluídas. O período que as entradas de registro são mantidas são explicadas pela Política de cotas do Stackdriver Logging. Para manter suas entradas de registro além dos limites da Política de cotas, exporte seus registros do Stackdriver Logging para um intervalo do Google Cloud Storage ou para o BigQuery.

Faturamento

Há um custo associado ao uso do Cloud IAM?

O IAM é oferecido sem custo adicional para todos os clientes do Cloud Platform. Você só será cobrado pelo uso de outros serviços do Cloud Platform. Para informações sobre preços de outros serviços do Cloud Platform, consulte a calculadora de preços do Google Cloud Platform.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Identity and Access Management