O Google Cloud oferece os seguintes tipos de identidade para cargas de trabalho:
A federação de identidade da carga de trabalho e a Federação de Identidade da Carga de Trabalho para GKE permitem que as cargas de trabalho acessem a maioria dos serviços do Google Cloud usando identidades federadas que são autenticadas por um provedor de identidade externo (IdP). Depois que o Google Cloud autentica a identidade como a principal, ela pode acessar recursos usando os papéis do IAM que você concede.
É possível usar a federação de identidade da carga de trabalho com cargas de trabalho no Google Cloud ou cargas de trabalho externas executadas em plataformas como AWS, Azure, GitHub e GitLab.
É possível usar a federação de identidade da carga de trabalho para GKE com cargas de trabalho executadas em clusters do GKE para conceder acesso aos recursos do Google Cloud.
As contas de serviço do Google Cloud podem atuar como identidades de cargas de trabalho em ambientes de produção. Em vez de conceder acesso a uma carga de trabalho diretamente, conceda acesso a uma conta de serviço e permita que ela utilize a conta de serviço como identidade.
As identidades de cargas de trabalho (pré-visualização) permitem vincular identidades fortemente atestadas às cargas de trabalho do Compute Engine. É possível usar identidades de carga de trabalho gerenciada para autenticar suas cargas de trabalho em outras cargas de trabalho usando mutual TLS (mTLS), mas elas não podem ser usadas para autenticação nas APIs do Google Cloud.
Os tipos de identidades que podem ser usados para cargas de trabalho e a forma como elas são configuradas dependem de onde as cargas de trabalho são executadas.
Cargas de trabalho no Google Cloud
Se você estiver executando cargas de trabalho no Google Cloud, será possível usar os métodos a seguir para configurar identidades para suas cargas de trabalho:
- Contas de serviço anexadas
- Federação de Identidade da Carga de Trabalho para GKE (somente para cargas de trabalho executadas no Google Kubernetes Engine)
- Identidades de carga de trabalho gerenciada (apenas para cargas de trabalho executadas no Compute Engine)
- Chaves da conta de serviço
Contas de serviço anexadas
Para alguns recursos do Google Cloud, é possível especificar uma conta de serviço gerenciada pelo usuário que o recurso usa como sua identidade padrão. Esse processo é conhecido como anexar a conta de serviço ao recurso ou a associação da conta de serviço a ele. Quando o código em execução no recurso acessa serviços e recursos do Google Cloud, ele usa a conta de serviço anexada ao recurso como identidade. Por exemplo, se você anexar uma conta de serviço a uma instância do Compute Engine e os aplicativos na instância usarem uma biblioteca de cliente para chamar as APIs do Google Cloud, esses aplicativos usam automaticamente a conta de serviço anexada para autenticação e autorização.
Na maioria dos casos, você precisa anexar uma conta de serviço a um recurso ao criá-lo. Após a criação do recurso, não será possível alterar a conta de serviço anexada ao recurso. As instâncias do Compute Engine são uma exceção a essa regra. É possível alterar a conta de serviço anexada a uma instância conforme necessário.
Para saber mais, consulte Anexar uma conta de serviço a um recurso.
Federação de Identidade da Carga de Trabalho para GKE
Para cargas de trabalho executadas no GKE, a Federação de Identidade da Carga de Trabalho para GKE permite conceder papéis do IAM a conjuntos de principais distintos e refinados para cada aplicativo no cluster. A Federação de Identidade da Carga de Trabalho para GKE permite que as contas de serviço do Kubernetes no cluster do GKE acessem os recursos do Google Cloud diretamente usando a federação de identidade de colaboradores ou indiretamente, usando a identidade temporária de conta de serviço do IAM.
Ao usar o acesso direto a recursos, é possível conceder papéis do IAM à identidade da conta de serviço do Kubernetes diretamente nos recursos do serviço do Google Cloud. A maioria das APIs do Google Cloud oferece suporte ao acesso direto a recursos. No entanto, ao usar a federação de identidade, alguns métodos de API podem ter limitações. Para ver uma lista de limitações, consulte Produtos com suporte e limitações.
Como alternativa, as cargas de trabalho também podem usar a identidade temporária de conta de serviço, em que a ServiceAccount do Kubernetes configurada é vinculada a uma conta de serviço do IAM, que serve como identidade ao acessar as APIs do Google Cloud.
Para saber mais sobre a Federação de Identidade da Carga de Trabalho para GKE, consulte Federação de Identidade da Carga de Trabalho para GKE.
Identidades das cargas de trabalho gerenciadas
As identidades de cargas de trabalho gerenciadas permitem vincular identidades fortemente atestadas às cargas de trabalho do Compute Engine. É possível usar identidades de carga de trabalho gerenciada para autenticar suas cargas de trabalho em outras cargas de trabalho usando mTLS, mas elas não podem ser usadas para autenticação nas APIs do Google Cloud.
Para saber mais sobre a Identidade da carga de trabalho gerenciada, consulte Visão geral das identidades de cargas de trabalho gerenciadas.
Para saber mais sobre o uso de identidades de cargas de trabalho gerenciadas com cargas de trabalho do Compute Engine, consulte Autenticar cargas de trabalho em outras cargas de trabalho por mTLS.
Cargas de trabalho externas
Se você estiver executando cargas de trabalho fora do Google Cloud, use os seguintes métodos para configurar identidades para suas cargas de trabalho:
- Federação de identidade da carga de trabalho
- Chaves da conta de serviço
Federação de identidade da carga de trabalho
A federação de identidade da carga de trabalho permite usar credenciais de provedores de identidade externos, como a AWS e o Azure Active Directory, para gerar credenciais de curta duração, que as cargas de trabalho podem usar para representar temporariamente as contas de serviço. As cargas de trabalho podem acessar os recursos do Google Cloud usando a conta de serviço como identidade.
A federação de identidade da carga de trabalho é a maneira preferencial de configurar identidades para cargas de trabalho externas.
Para saber mais sobre a federação de identidade da carga de trabalho, consulte Federação de identidades da carga de trabalho.
Chaves da conta de serviço
Uma chave de conta de serviço permite autenticar uma carga de trabalho como uma conta de serviço e usar a identidade dessa conta para autorização.
Desenvolvimento local
Se você estiver desenvolvendo em um ambiente local, poderá configurar cargas de trabalho para usar as credenciais de usuário ou uma conta de serviço para autenticação e autorização. Para mais informações, consulte Ambiente de desenvolvimento local na documentação de autenticação.
A seguir
- Saiba como configurar a autenticação usando contas de serviço.
- Saiba como configurar a autenticação para um ambiente de desenvolvimento local.
- Saiba como conceder acesso a recursos para contas de serviço.