Acerca da autenticação IAM

O Memorystore oferece a funcionalidade de autenticação da gestão de identidade e de acesso (IAM) que tira partido da IAM para ajudar a gerir melhor o acesso de início de sessão para utilizadores e contas de serviço. A autenticação baseada em IAM integra-se com o Redis AUTH, o que lhe permite rodar as credenciais (tokens de IAM) de forma integrada sem depender de palavras-passe estáticas.

Para consultar as instruções sobre como configurar a autenticação IAM para o seu cluster do Memorystore, consulte o artigo Faça a gestão da autenticação IAM.

Autenticação IAM para o Redis

Quando usa a autenticação do IAM, a autorização para aceder a um cluster do Memorystore não é concedida diretamente ao utilizador final. Em alternativa, as autorizações são agrupadas em funções, e as funções são concedidas a responsáveis. Para mais informações, consulte a vista geral da IAM.

Os administradores que se autenticam com o IAM podem usar a autenticação IAM do Memorystore para gerir centralmente o controlo de acesso às respetivas instâncias através de políticas do IAM. As políticas IAM envolvem as seguintes entidades:

  • Principais. No Memorystore, pode usar dois tipos de principais: Uma conta de utilizador e uma conta de serviço (para aplicações). Outros tipos de principais, como grupos Google, domínios do Google Workspace ou domínios do Cloud ID, ainda não são suportados para autenticação IAM. Para mais informações, consulte Conceitos relacionados com a identidade.

  • Funções. Para a autenticação da IAM do Memorystore, um utilizador precisa da autorização redis.clusters.connect para se autenticar com um cluster. Para receber esta autorização, pode associar o utilizador ou a conta de serviço à função predefinida de utilizador de ligação à base de dados do cluster Redis (roles/redis.dbConnectionUser). Para mais informações sobre as funções de IAM, consulte o artigo Funções.

  • Recursos. Os recursos aos quais os diretores acedem são clusters do Memorystore. Por predefinição, as associações de políticas de IAM são aplicadas ao nível do projeto, de modo que os responsáveis recebem autorizações de funções para todas as instâncias do Memorystore no projeto. No entanto, as associações de políticas do IAM podem ser restritas a um cluster específico. Para ver instruções, consulte o artigo Faça a gestão das autorizações para a autenticação de IAM.

Comando AUTH do Redis

A funcionalidade de autenticação do IAM usa o comando AUTH do Redis para se integrar com o IAM, o que permite que os clientes forneçam um token de acesso do IAM que será validado pelo cluster do Memorystore antes de permitir o acesso aos dados.

Tal como todos os comandos, o comando AUTH é enviado sem encriptação, a menos que a encriptação em trânsito esteja ativada.

Para ver um exemplo do aspeto do comando AUTH, consulte o artigo Estabelecer ligação a um cluster do Redis que usa a autenticação IAM.

Intervalo de tempo do token de acesso da IAM

Por predefinição, o token de acesso do IAM que obtém como parte da autenticação expira uma hora após a obtenção. Em alternativa, quando gera o token de acesso, pode definir o tempo de validade do token de acesso.

Quando estabelece uma nova ligação Redis, tem de apresentar um token de acesso válido através do comando AUTH. Se o token expirar, tem de obter um novo token para estabelecer novas associações. No entanto, se já tiver autenticado uma associação existente, esta continua a funcionar, mesmo que o token expire.

Termine uma ligação autenticada

Se quiser terminar a ligação, use o comando CLIENT KILL do Redis. Para encontrar a ligação que quer terminar, execute primeiro CLIENT LIST, que devolve as ligações de cliente por ordem de antiguidade. Em seguida, pode executar CLIENT KILL para terminar a ligação.

Ative a autenticação IAM

A ativação da autenticação da IAM não degrada o desempenho em estado estacionário. No entanto, afeta a taxa à qual pode estabelecer uma ligação.

A ativação da autenticação IAM limita a taxa de ligações de clientes estabelecidas por segundo. Isto deve-se ao facto de a autenticação do IAM do Google Cloud ter de autenticar cada nova ligação. No estado estável, uma aplicação ativa os conjuntos de ligações, pelo que este impacto é insignificante. No entanto, quando as aplicações cliente são atualizadas através de implementações ou do processamento de rejeições, pode haver um afluxo de ligações estabelecidas novamente. Se atualizar os seus clientes gradualmente e implementar recuos exponenciais, pode absorver esta taxa reduzida.

Para ver um exemplo de código de como usar a autenticação IAM, consulte o exemplo de código de autenticação IAM e encriptação em trânsito.

Segurança e privacidade

A autenticação de IAM ajuda a garantir que o cluster do Redis só é acessível por entidades de IAM autorizadas. A encriptação TLS não é fornecida, a menos que a encriptação em trânsito esteja ativada. Por este motivo, recomendamos que a encriptação em trânsito seja ativada quando usar a autenticação IAM.

Estabeleça ligação a uma VM do Compute Engine

Se estiver a usar uma VM do Compute Engine para estabelecer ligação a uma instância que usa a autenticação IAM, tem de ativar os seguintes âmbitos de acesso e APIs para o seu projeto: