Lakehouse para Apache Iceberg: controle de acesso com o IAM

Para gerenciar o controle de acesso do Lakehouse para Apache Iceberg, é necessário adicionar usuários a um Google Cloud projeto e atribuir os papéis adequados. Por padrão, os projetos concedem acesso apenas ao criador original. Outros usuários não podem acessar recursos até serem adicionados como membros do projeto ou vinculados a recursos específicos.

O que é IAM?

Google Cloud oferece Identity and Access Management (IAM), que permite a concessão de acesso mais granular a recursos específicos e impede o acesso indesejado a outros recursos. Google Cloud Com o IAM, é possível adotar o princípio de privilégio mínimo para conceder apenas o acesso necessário aos recursos no * Lakehouse*.

O IAM também permite controlar quem (uma identidade) tem quais permissões (papéis) para quais recursos. Basta definir as políticas. As políticas de IAM atribuem funções específicas a um membro do projeto, o que confira determinadas permissões à identidade. Por exemplo, é possível atribuir o papel roles/biglake.admin a uma Conta do Google e ela poderá controlar recursos do Lakehouse no projeto, mas não poderá gerenciar outros recursos. Também é possível usar o IAM para gerenciar os papéis básicos concedidos aos membros da equipe do projeto.

Opções de controle de acesso para usuários

Para permitir que os usuários criem e gerenciem os recursos do Lakehouse, adicione-os como membros da equipe ao projeto ou a recursos específicos e conceda a eles permissões usando os papéis do IAM.

Um membro da equipe pode ser um usuário individual com uma Conta do Google válida, um Grupo do Google, uma conta de serviço ou um domínio do Google Workspace. Quando você adiciona um membro da equipe a um projeto ou a um recurso, especifica quais papéis precisam ser concedidos. O IAM oferece três tipos de papéis: predefinidos, básicos, e personalizados.

Para conferir uma lista dos recursos de cada papel do Lakehouse e os métodos de API aos quais um papel específico concede permissão, consulte Papéis do IAM do Lakehouse.

Para outros tipos de membros, como contas de serviço e grupos, consulte a Referência de vinculação de políticas.

Contas de serviço

Quando você chama as APIs do Lakehouse para executar ações em um projeto em que o serviço está localizado, o Lakehouse executa essas ações em seu nome usando uma conta de serviço do agente de serviço por catálogo serviço conta. Essas contas de serviço são usadas pelo catálogo de execução do Lakehouse e recebem o papel roles/biglake.serviceAgent no seu projeto.

Políticas de IAM para recursos

É possível conceder acesso aos recursos do Lakehouse anexando políticas do IAM diretamente a esses recursos, como um serviço do Lakehouse. Uma política do IAM permite gerenciar os papéis do IAM nesses recursos, em vez de ou além de gerenciar papéis no nível do projeto. Isso dá a você flexibilidade para aplicar o princípio de privilégio mínimo, que é conceder acesso somente aos recursos específicos que os colaboradores precisam para realizar o trabalho.

Os recursos também herdam as políticas do pai. Se você definir uma política no nível do projeto, ela será herdada por todos os recursos filhos. A política efetiva para um recurso é a união do conjunto de políticas nesse recurso e a política herdada do recurso mais alto na hierarquia. Para mais informações, consulte a hierarquia de políticas do IAM.

É possível receber e definir políticas do IAM usando o Google Cloud console, a API Identity and Access Management ou a Google Cloud CLI.

A seguir