O Memorystore oferece o recurso de autenticação do Identity and Access Management (IAM), que aproveita 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 AUTH do Valkey, permitindo que você gire credenciais (tokens do IAM) sem problemas, sem depender de senhas estáticas.
Para instruções sobre como configurar a autenticação do IAM para sua instância do Memorystore, consulte Gerenciar a autenticação do IAM.
Autenticação do IAM para o Valkey
Ao usar a autenticação do IAM, a permissão para acessar uma instância 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 memorystore.instances.connect para se autenticar com uma instância. Para receber essa permissão, vincule o usuário ou a conta de serviço ao papel predefinido Usuário da conexão do banco de dados do Memorystore (roles/memorystore.dbConnectionUser). Para mais informações sobre papéis do IAM, consulte Papéis.
Recursos. Os recursos que os principais acessam são instâncias 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 uma instância específica. Para instruções, consulte Gerenciar permissões para autenticação do IAM.
Comando AUTH do Valkey
O recurso de autenticação do IAM usa o comando AUTH do Valkey para se integrar ao IAM, permitindo que os clientes forneçam um token de acesso do IAM que será verificado pela instância do Valkey 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 ver um exemplo de como o comando AUTH pode ser, consulte Conectar-se a uma instância que usa a autenticação do IAM.
Período do token de acesso do IAM
O token de acesso do IAM que você recupera como parte da autenticação expira uma hora depois de ser recuperado por padrão. Como alternativa, você pode definir o tempo de expiração do token de acesso ao gerar o token de acesso. Um token válido precisa ser apresentado pelo comando AUTH ao estabelecer uma nova conexão do Valkey. Se o token expirou, você precisa receber um novo token de acesso para estabelecer novas conexões.
Encerrar uma conexão autenticada
Para encerrar uma conexão, use o comando CLIENT KILL
do Valkey. Primeiro, execute CLIENT LIST
para identificar a conexão e, em seguida, execute CLIENT KILL
para encerrá-la.
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 insignificante. No entanto, quando os aplicativos cliente são reiniciados ou implantados, pode haver um aumento repentino de novas conexões. Se você atualizar os clientes gradualmente e implementar a 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 para autenticação do IAM e criptografia em trânsito.
Segurança e privacidade
A autenticação do IAM ajuda a garantir que sua instância do Valkey 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.
Como se conectar 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 Valkey. Para acessar um link e ativar a API, clique no botão a seguir:
Memorystore for Valkey