O Memorystore oferece o recurso de autenticação do Identity and Access Management (IAM) que usa o IAM para ajudar você a gerenciar melhor o acesso de login para usuários e contas de serviço. A autenticação baseada no IAM se integra ao Redis AUTH, permitindo que você gire as credenciais (tokens do IAM) sem depender de senhas estáticas.
Para instruções sobre como configurar a autenticação do IAM para seu cluster da Memorystore, consulte Gerenciar a autenticação do IAM.
Autenticação do IAM para Redis
Ao usar a autenticação do IAM, a permissão para acessar um cluster do Memorystore não é concedida diretamente ao usuário final. Em vez disso, as permissões são agrupadas em papéis, que são concedidos a principais. Para mais informações, consulte a visão geral do IAM.
Os administradores que se autenticam com o IAM podem usar a autenticação do IAM do Memorystore para gerenciar centralmente o controle de acesso às instâncias usando políticas do IAM. As políticas do IAM envolvem as seguintes entidades:
Principais. No Memorystore, é possível usar dois tipos de principais: uma conta de usuário e uma conta de serviço (para aplicativos). Outros tipos de principais, como grupos do Google, domínios do Google Workspace ou domínios do Cloud Identity, ainda não são compatíveis com a autenticação do IAM. Para mais informações, consulte Conceitos relacionados à identidade.
Papéis. Para a autenticação do IAM do Memorystore, um usuário precisa da permissão redis.clusters.connect para se autenticar com um cluster. Para receber essa permissão, vincule o usuário ou a conta de serviço ao papel predefinido de usuário de conexão do banco de dados do cluster do Redis (roles/redis.dbConnectionUser). Para mais informações sobre papéis do IAM, consulte Papéis.
Recursos. Os recursos que os principais acessam são clusters do Memorystore. Por padrão, as vinculações de política do IAM são aplicadas no nível do projeto, de modo que os principais recebam permissões de papel para todas as instâncias do Memorystore no projeto. No entanto, as vinculações de políticas do IAM podem ser restritas a um cluster específico. Para instruções, consulte Gerenciar permissões para autenticação do IAM.
Comando AUTH do Redis
O recurso de autenticação do IAM usa o comando AUTH do Redis para se integrar ao IAM, permitindo que os clientes forneçam um token de acesso do IAM que será verificado pelo cluster do Memorystore antes de permitir o acesso aos dados.
Como todo comando, o comando AUTH é enviado não criptografado, a menos que a criptografia em trânsito esteja ativada.
Para um exemplo de como o comando AUTH pode ser, consulte Como se conectar a um cluster Redis que usa a autenticação do IAM.
Período do token de acesso do IAM
Por padrão, o token de acesso do IAM que você recupera como parte da autenticação expira uma hora depois de ser recuperado. Como alternativa, ao gerar o token de acesso, você pode definir o prazo de validade dele.
Ao estabelecer uma nova conexão do Redis, é necessário apresentar um token de acesso válido usando o comando AUTH
. Se o token expirar, você precisará receber um novo
para estabelecer novas conexões. No entanto, se você já tiver autenticado uma conexão, ela vai continuar funcionando, mesmo que o token expire.
Encerrar uma conexão autenticada
Se quiser encerrar a conexão, use o comando CLIENT KILL
do Redis. Para encontrar a conexão que você quer encerrar, primeiro execute CLIENT LIST
, que retorna as conexões do cliente por ordem de idade. Em seguida, execute CLIENT KILL
para encerrar a conexão.
Ativar a autenticação do IAM
Ativar a autenticação do IAM não prejudica o desempenho do estado estável. No entanto, isso afeta a taxa em que você pode estabelecer uma conexão.
A ativação da autenticação do IAM limita a taxa de conexões de clientes estabelecidas a cada segundo. Isso acontece porque a autenticação do IAM do Google Cloud precisa autenticar cada nova conexão. Em estado estável, um aplicativo ativa pools de conexões para que esse impacto seja negligenciável. No entanto, quando os aplicativos clientes são atualizados por implantações ou processamento de rejeição, pode haver um aumento de conexões estabelecidas novamente. Se você atualizar os clientes gradualmente e implementar espera exponencial, será possível absorver essa taxa reduzida.
Para ver um exemplo de código de como usar a autenticação do IAM, consulte Exemplo de código de autenticação do IAM e criptografia em trânsito.
Segurança e privacidade
A autenticação do IAM ajuda a garantir que seu cluster do Redis só seja acessível por principais autorizados do IAM. A criptografia TLS não é fornecida, a menos que a Criptografia em trânsito esteja ativada. Por isso, é recomendável ativar a criptografia em trânsito ao usar a autenticação do IAM.
Conectar-se a uma VM do Compute Engine
Se você estiver usando uma VM do Compute Engine para se conectar a uma instância que usa a autenticação do IAM, ative os seguintes escopos de acesso e APIs no projeto:
Escopo da API do Cloud Platform. Para instruções sobre como ativar esse escopo, consulte Anexar a conta de serviço e atualizar o escopo de acesso. Para uma descrição das práticas recomendadas para esse escopo de acesso, consulte Práticas recomendadas de escopos.
API Memorystore for Redis Cluster. Para acessar um link e ativar a API, clique no botão a seguir:
Memorystore para Redis Cluster