O Google Cloud fornece contas de serviço para 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.
Há várias maneiras de configurar contas de serviço como identidades para cargas de trabalho. Os métodos que você pode usar dependem de onde suas cargas de trabalho estão em execução.
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
- Identidades de carga de trabalho gerenciada (apenas para cargas de trabalho executadas no Compute Engine)
- Identidade da carga de trabalho (apenas para cargas de trabalho executadas no Google Kubernetes 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.
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.
Identidade da carga de trabalho do GKE
Para cargas de trabalho em execução no GKE, a Identidade da carga de trabalho permite que uma conta de serviço do Kubernetes no seu cluster do GKE atue como uma conta de serviço do IAM. Os pods que usam a conta de serviço do Kubernetes configurada usam a conta de serviço do IAM automaticamente como identidade ao acessar as APIs do Google Cloud. Com o uso da Identidade da carga de trabalho, é possível atribuir autorizações e identidades detalhadas e distintas para cada aplicativo no cluster.
Para saber mais sobre a Identidade da carga de trabalho do GKE, consulte Federação de identidade da carga de trabalho para o GKE.
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. As chaves da conta de serviço são um risco de segurança quando não são gerenciadas corretamente. Sempre que possível, escolha uma alternativa mais segura para as chaves de conta de serviço. Caso seja necessário autenticar com uma chave de conta de serviço, você será responsável pela segurança da chave privada e por outras operações descritas em Práticas recomendadas para gerenciar chaves de contas de serviço. Se não for possível criar uma chave de conta de serviço, a criação pode estar desativada para sua organização. Para mais informações, consulte Gerenciar recursos da organização com segurança por padrão.
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. As chaves da conta de serviço são um risco de segurança quando não são gerenciadas corretamente. Sempre que possível, escolha uma alternativa mais segura para as chaves de conta de serviço. Caso seja necessário autenticar com uma chave de conta de serviço, você será responsável pela segurança da chave privada e por outras operações descritas em Práticas recomendadas para gerenciar chaves de contas de serviço. Se não for possível criar uma chave de conta de serviço, a criação pode estar desativada para sua organização. Para mais informações, consulte Gerenciar recursos da organização com segurança por padrão.
Desenvolvimento local
Se você estiver desenvolvendo em um ambiente local, poderá configurar cargas de trabalho para usar as credenciais de usuário 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.