Além da autenticação do Identity and Access Management (IAM), é possível usar a autenticação básica baseada em token para proteger o acesso às suas instâncias do Memorystore para Valkey. Como uma solução leve, a autenticação básica baseada em token permite que os clientes verifiquem as identidades nos aplicativos usando os tokens.
A autenticação básica baseada em token tem requisitos mínimos de recursos e uma baixa sobrecarga de recursos. Além disso, se as cargas de trabalho atuais no Memorystore para Redis ou nos aplicativos locais já usarem a autenticação básica baseada em token, esse recurso vai facilitar uma transição tranquila ao migrar para o Memorystore para Valkey.
Vantagens
Ao usar a autenticação básica baseada em token, você tem os seguintes benefícios:
- Flexibilidade: para instâncias novas e atuais, ative a autenticação a qualquer momento. Quando você ativa a autenticação básica baseada em token, suas instâncias ficam seguras. Para todas as novas conexões, os usuários precisam fornecer um token de autenticação para fazer a autenticação nas suas instâncias.
- Rotação sem inatividade: gire os tokens de usuário sem causar inatividade nos seus aplicativos.
- Compatibilidade: o superusuário
defaultmantém os mesmos privilégios concedidos a esse usuário. A autenticação básica baseada em token adiciona uma camada extra de proteção. Isso garante a compatibilidade com versões anteriores ao migrar suas cargas de trabalho do Memorystore para Redis para o Memorystore para Valkey.
Modos de autenticação
A autenticação básica baseada em token é compatível com dois modos principais:
- Autenticação simples: um método direto em que um usuário envia um
token de autenticação para se autenticar como o usuário
default. - Autenticação multiusuário: gerencie vários usuários para autenticar o acesso às suas instâncias.
Práticas recomendadas
Por motivos de segurança, recomendamos que você use as seguintes práticas recomendadas para autenticação básica baseada em token:
- Alternar tokens de usuário: use uma política de rotação para tokens de usuário.
Use o Secret Manager: não codifique as credenciais de autenticação básica baseada em token de um usuário no código do aplicativo. Em vez disso, armazene-as no Secret Manager e recupere-as no tempo de execução.
O Secret Manager oferece um cofre criptografado e centralizado para credenciais de usuário, o que elimina a expansão de secrets e reduz a sobrecarga operacional do gerenciamento manual de credenciais. Ele aplica controles de acesso usando o IAM e gera registros de auditoria automaticamente. Isso garante a conformidade e evita a exposição de credenciais.
Combine a autenticação básica baseada em token com o Transport Layer Security (TLS): ao usar a autenticação básica baseada em token, recomendamos que você ative a criptografia em trânsito. Isso garante que os nomes de usuário e tokens de autenticação não sejam enviados em texto simples pela rede.
Antes de começar
Antes de começar a proteger suas instâncias usando a autenticação básica baseada em token, conclua os pré-requisitos nesta seção.
Verificar o suporte do cliente para autenticação básica baseada em token
Para confirmar que seus aplicativos cliente podem oferecer suporte à autenticação básica baseada em token, verifique se eles podem usar o comando AUTH.
O usuário default se autentica nos aplicativos cliente usando o
seguinte comando:
AUTH TOKEN
Nesse comando, TOKEN é o token de autenticação do usuário padrão.
Todos os outros usuários se autenticam usando o seguinte comando:
AUTH USERNAME TOKEN
Nesse comando, USERNAME e TOKEN são o nome de usuário e o token de autenticação do usuário.
Para mais informações sobre o comando AUTH, consulte AUTH na documentação do Valkey.
Usar o console Google Cloud , a Google Cloud CLI e as APIs
Para usar o console Google Cloud , a CLI gcloud e as APIs, faça o seguinte:
- No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .
- Verifique se o faturamento foi ativado para o projeto. Saiba como verificar se o faturamento está ativado em um projeto.
Instale e inicialize a Google Cloud CLI (CLI gcloud).
Observação:se você instalou a CLI gcloud, execute
gcloud components updatepara verificar se tem a versão mais recente. Para acessar os comandos da CLI gcloud do Memorystore para Valkey, você precisa ter pelo menos a versão489.0.0da CLI gcloud.-
Ative a API Memorystore for Valkey.
API Memorystore for Valkey -
Ative a API Network Connectivity.
API Network Connectivity -
Ative a API Service Consumer Management.
API Service Consumer Management
Atribuir papéis
Para configurar a autenticação básica baseada em token para suas instâncias, você precisa ter um destes papéis do IAM no seu projeto Google Cloud :
roles/memorystore.admin(papel de administrador do Memorystore)roles/owner(o papel de proprietário)roles/editor(o papel de Editor)
Gerenciar a autenticação básica baseada em token para instâncias
O Memorystore para Valkey é compatível com as seguintes ações para gerenciar a autenticação básica baseada em token para instâncias:
- Criar uma instância com autenticação básica baseada em token
- Ativar a autenticação básica baseada em token para uma instância
- Criar um usuário de autenticação básica baseada em token para uma instância
- Listar usuários de autenticação básica baseada em token para uma instância
- Ver informações sobre um usuário básico de autenticação baseada em token
- Excluir um usuário de autenticação básica baseada em token de uma instância
Criar uma instância com autenticação básica baseada em token
Ao criar uma instância com autenticação básica baseada em token, você tem um método leve e amplamente compatível para restringir o acesso de um usuário à instância.
É possível criar a instância usando o console do Google Cloud ou a CLI gcloud.
Console
Para criar uma instância e ativar a autenticação básica baseada em token, consulte Criar instâncias.
gcloud
Para criar uma instância e ativar a autenticação básica baseada em token para ela, use o comando gcloud beta memorystore instances create.
gcloud beta memorystore instances create INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
Faça as seguintes substituições:
- INSTANCE_ID: o ID da instância que você quer criar para usar a autenticação básica baseada em token
- REGION: a região em que você quer que a instância esteja localizada.
Ativar a autenticação básica baseada em token para uma instância
Ao ativar a autenticação básica baseada em token para uma instância, você tem um método leve e amplamente compatível para restringir o acesso de um usuário à instância.
O usuário default pode se autenticar na instância usando apenas o token.
Todos os outros usuários se autenticam usando um nome de usuário e um token padrão. Para mais informações, consulte Verificar o suporte do cliente para autenticação básica baseada em token.
Ativar a autenticação básica baseada em token pode causar tempo de inatividade para aplicativos que tentam criar novas conexões porque a Memorystore para Valkey exige solicitações autenticadas. Embora as conexões atuais não sejam afetadas, para usar a autenticação básica baseada em token em qualquer tentativa de conexão subsequente com a instância, é necessário atualizar os aplicativos. Para mais informações, consulte Conectar-se a uma instância usando a autenticação básica baseada em token.
É possível ativar a autenticação básica baseada em token para uma instância usando o console do Google Cloud ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância em que você quer ativar a autenticação básica baseada em token.
Na página Visão geral da instância, role até o card Segurança.
Ao lado do campo Modo de autenticação, clique em Editar (edit).
Se Autenticação do IAM ou Autenticação por token aparecer ao lado do campo, significa que você já ativou a autenticação do IAM ou a autenticação básica baseada em token para a instância.
Na caixa de diálogo Modo de autenticação, selecione a opção Autenticação por token e clique em Atualizar instância.
gcloud
Para ativar a autenticação básica baseada em token, use o comando gcloud beta memorystore instances update.
gcloud beta memorystore instances update INSTANCE_ID \ --location=REGION \ --authorization-mode=token-auth
Faça as seguintes substituições:
- INSTANCE_ID: o ID da instância em que você quer ativar a autenticação básica baseada em token.
- REGION: a região em que a instância está localizada.
Criar um usuário de autenticação básica baseada em token para uma instância
Ao criar um usuário de autenticação básica baseada em token para uma instância, você configura a instância para permitir a autenticação multiusuário. Depois que o usuário faz login inicialmente, esse modo de autenticação atua como uma credencial segura e revogável para novas conexões. O usuário pode continuar usando o token de autenticação até que ele seja excluído ou o usuário seja removido.
É possível criar um usuário básico de autenticação baseada em token usando o console Google Cloud ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância para a qual você quer criar um usuário de autenticação básica baseada em token.
Na gaveta de navegação, clique no item de menu Usuários.
Se esse item de menu não aparecer na gaveta, você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
Na página Usuários, clique em Adicionar usuário.
Na caixa de diálogo Adicionar usuário, insira um ID para o usuário e clique em Adicionar.
gcloud
Para criar o usuário, use o comando gcloud beta memorystore instances create-token-auth-user.
gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Faça as seguintes substituições:
- INSTANCE_ID: o ID da instância para a qual você quer criar um usuário de autenticação básica baseada em token
- REGION: a região em que a instância está localizada.
- USERNAME: o nome de usuário do usuário
Listar usuários de autenticação básica baseada em token para uma instância
É possível recuperar uma lista de usuários básicos de autenticação baseada em token para uma instância usando o console do Google Cloud ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância para recuperar uma lista de usuários de autenticação básica baseada em token.
Na gaveta de navegação, clique no item de menu Usuários. Na página Usuários, uma lista de usuários básicos de autenticação baseada em token é exibida.
Se o item de menu Usuários não aparecer na gaveta de navegação, significa que você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
gcloud
Para listar os usuários, use o comando gcloud beta memorystore instances token-auth-users list.
gcloud beta memorystore instances token-auth-users list \ --instance=INSTANCE_ID \ --location=REGION
Faça as seguintes substituições:
- INSTANCE_ID: o ID da instância para a qual você quer recuperar uma lista de usuários de autenticação básica baseada em token.
- REGION: a região em que a instância está localizada.
Ver informações sobre um usuário de autenticação básica baseada em token
É possível conferir informações sobre um usuário de autenticação básica baseada em token usando a CLI gcloud.
Para ver informações sobre o usuário, use o comando gcloud beta memorystore instances token-auth-users describe.
gcloud beta memorystore instances token-auth-users describe USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Faça as seguintes substituições:
- USERNAME: o nome de usuário do usuário de autenticação básica baseada em token sobre o qual você quer ver informações.
- INSTANCE_ID: o ID da instância em que o usuário pode fazer autenticação
- REGION: a região em que a instância está localizada.
Excluir um usuário de autenticação básica baseada em token de uma instância
Ao excluir um usuário de autenticação básica baseada em token de uma instância, você revoga os direitos de acesso do usuário à instância.
É possível excluir um usuário de autenticação básica baseada em token de uma instância usando o Google Cloud console ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância em que você quer excluir um usuário de autenticação básica baseada em token.
Na gaveta de navegação, clique no item de menu Usuários.
Se o item de menu não aparecer na gaveta, você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
Na página Usuários, ao lado do ID do usuário que você quer excluir, clique em Ações (more_vert).
No menu exibido, selecione Remover usuário.
Na caixa de diálogo Excluir usuário?, insira o ID do usuário e clique em Excluir. O Memorystore para Valkey exclui o usuário e todos os tokens de autenticação associados a ele.
Opcional: para o usuário que você está excluindo, o Memorystore para Valkey não encerra as conexões atuais. Para encerrar essas conexões, execute o seguinte comando em todos os nós da instância:
CLIENT KILL USER USERNAME
gcloud
Para excluir o usuário, use o comando gcloud beta memorystore instances token-auth-users delete.
gcloud beta memorystore instances token-auth-users delete USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Faça as seguintes substituições:
- USERNAME: o nome de usuário da autenticação básica baseada em token.
- INSTANCE_ID: o ID da instância de que você quer excluir o usuário
- REGION: a região em que a instância está localizada.
Para o usuário que você está excluindo, o Memorystore para Valkey também exclui todos os tokens de autenticação associados a ele. Além disso, o Memorystore para Valkey não encerra as conexões atuais. Para encerrar essas conexões, execute o seguinte comando em todos os nós da instância:
CLIENT KILL USER USERNAME
Gerenciar a autenticação básica baseada em token para usuários
O Memorystore para Valkey oferece suporte às seguintes ações para gerenciar a autenticação básica baseada em token para usuários:
- Criar um token de autenticação para um usuário
- Listar tokens de autenticação para um usuário
- Ver informações sobre tokens de autenticação de um usuário
- Excluir um token de autenticação de um usuário
Criar um token de autenticação para um usuário
Quando você cria um usuário de autenticação básica baseada em token para uma instância, o Memorystore for Valkey cria um token de autenticação para o usuário automaticamente. No entanto, é possível criar um token de autenticação adicional para o usuário. Ao fazer isso, você pode alternar o token atual do usuário sem causar inatividade nos aplicativos.
É possível criar um token de autenticação para um usuário usando o console do Google Cloud ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância que tem um usuário para quem você quer criar um token de autenticação.
Na gaveta de navegação, clique no item de menu Usuários.
Se o item de menu não aparecer na gaveta, você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
Na página Usuários, ao lado do ID do usuário para quem você quer criar um token de autenticação, clique em Ações (more_vert).
No menu exibido, selecione Adicionar token de autenticação.
Na caixa de diálogo Adicionar token de autenticação, clique em Adicionar.
Se um usuário já tiver dois tokens de autenticação, antes de criar outro token para ele, exclua um token atual.
gcloud
Para criar o token, use o comando gcloud beta memorystore instances token-auth-users create-auth-token.
gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Faça as seguintes substituições:
- USERNAME: o nome de usuário para o qual você quer criar um token de autenticação.
- INSTANCE_ID: o ID da instância que o usuário pode acessar usando o token.
- REGION: a região em que a instância está localizada.
Se um usuário já tiver dois tokens de autenticação, será necessário excluir um token atual antes de criar outro.
Listar tokens de autenticação para um usuário
É possível recuperar uma lista de tokens de autenticação de um usuário usando a CLI gcloud.
Para listar os tokens, use o comando gcloud beta memorystore instances token-auth-users auth-tokens list.
gcloud beta memorystore instances token-auth-users auth-tokens list \ --token-auth-user=USERNAME \ --instance=INSTANCE_ID \ --location=REGION
Faça as seguintes substituições:
- USERNAME: o nome de usuário a que os tokens de autenticação pertencem
- INSTANCE_ID: o ID da instância a que o usuário pode acessar usando os tokens de autenticação.
- REGION: a região em que a instância está localizada.
Ver informações sobre tokens de autenticação de um usuário
É possível conferir informações sobre tokens de autenticação de um usuário usando o Google Cloud console ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância que tem os tokens de autenticação de um usuário sobre os quais você quer ver informações.
Na gaveta de navegação, clique no item de menu Usuários.
Se o item de menu não aparecer na gaveta, você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
Na página Usuários, ao lado do ID do usuário, clique em Ações (more_vert).
No menu exibido, selecione Ver tokens de autenticação. Na caixa de diálogo Tokens de autenticação, as seguintes informações são exibidas:
- O ID do usuário.
- O número de tokens de autenticação que o usuário tem (um ou dois).
- A versão de cada token de autenticação, junto com a data e a hora em que o Memorystore para Valkey criou cada versão. Sempre que você cria um token de autenticação para um usuário, o Memorystore para Valkey cria uma versão incremental do token.
- Os tokens de autenticação.
Opcional: para conseguir um token de autenticação do usuário e usá-lo para se conectar a uma instância, clique em Copiar (content_copy) ao lado de um token e cole-o em um editor de texto.
Clique em Concluído.
gcloud
Para conferir as informações, use o comando gcloud beta memorystore instances token-auth-users auth-tokens describe.
gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Faça as seguintes substituições:
- AUTH_TOKEN: o nome do token de autenticação sobre o qual você quer ver informações.
- INSTANCE_ID: o ID da instância que o usuário pode acessar usando o token.
- REGION: a região em que a instância está localizada.
- USERNAME: o nome de usuário a que o token de autenticação pertence.
Excluir um token de autenticação de um usuário
Excluir um token de autenticação de um usuário é uma ação de segurança essencial que invalida o token.
É possível excluir um token de autenticação de um usuário usando o console do Google Cloud ou a CLI gcloud.
Console
No console Google Cloud , acesse a página Memorystore para Valkey.
Clique na instância que tem um usuário de quem você quer excluir um token de autenticação.
Na gaveta de navegação, clique no item de menu Usuários.
Se o item de menu não aparecer na gaveta, você não criou uma instância com autenticação básica ou ativou a autenticação básica baseada em token para a instância.
Na página Usuários, ao lado do ID do usuário de quem você quer excluir um token de autenticação, clique em Ações (more_vert).
No menu exibido, selecione Excluir token de autenticação.
Na caixa de diálogo Excluir token de autenticação?, faça o seguinte:
- No menu Token de autenticação, selecione o token que você quer excluir.
- No campo ID de token Auth, insira o número da versão do token
(por exemplo,
version-1). - Clique em Excluir.
gcloud
Para excluir o token, use o comando gcloud beta memorystore instances token-auth-users auth-tokens delete.
gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \ --instance=INSTANCE_ID \ --location=REGION \ --token-auth-user=USERNAME
Faça as seguintes substituições:
- AUTH_TOKEN: o nome do token de autenticação que você quer excluir do usuário
- INSTANCE_ID: o ID da instância que você quer impedir que o usuário acesse ao excluir o token
- REGION: a região em que a instância está localizada.
- USERNAME: o nome de usuário do usuário que tem um token que você quer excluir
Conectar-se a uma instância usando a autenticação básica baseada em token
Você pode usar os seguintes métodos para se conectar a uma instância usando a autenticação básica baseada em token:
- String de identificador uniforme de recursos (URI): essa string única e formatada é usada por conveniência porque todas as informações de conexão necessárias (por exemplo, o nome de usuário e o token de autenticação do usuário, além do endereço IP e do nome do host da instância) estão contidas em uma string.
- Flags: esse método é mais adequado para uso individual de ferramenta de linha de comando, scripts ou ambientes em que a configuração é dividida em variáveis de ambiente separadas usando vários argumentos separados.
Nas seções a seguir, explicamos cada método de conexão.
Usar uma string de URI
Para se conectar de uma VM do Compute Engine ou de um ambiente compatível usando uma string de URI, use o seguinte comando:
valkey-cli -u redis://USERNAME:TOKEN@IP_ADDRESS:PORT
Faça as seguintes substituições:
- USERNAME: o nome do usuário que está tentando se conectar à instância
- TOKEN: o token de autenticação do usuário.
- IP_ADDRESS: o endereço IP da instância
- PORT: o número da porta reservada para a instância
Usar flags
Para se conectar de uma VM do Compute Engine ou de um ambiente compatível usando flags, use o seguinte comando:
valkey-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT
Faça as seguintes substituições:
- USERNAME: o nome do usuário que está tentando se conectar à instância
- TOKEN: o token de autenticação do usuário.
- IP_ADDRESS: o endereço IP da instância
- PORT: o número da porta reservada para a instância
Rotacionar o token de autenticação de um usuário sem inatividade
Para rotacionar o token de autenticação de um usuário sem causar inatividade nos seus aplicativos, faça o seguinte:
- Crie um token de autenticação adicional para o usuário: o Memorystore for Valkey gera um segundo token válido. Os dois tokens são válidos.
- Atualize seus aplicativos: atualize os aplicativos para usar o novo token.
- Exclua o token de autenticação do usuário: o Memorystore para Valkey remove o primeiro token. O usuário pode usar apenas o segundo token para autenticar nos seus aplicativos.
Registros de acesso para autenticação básica baseada em token
O Memorystore para Valkey gera registros de auditoria de atividade do administrador e de acesso a dados para operações associadas a tokens de autenticação e usuários. Para mais informações sobre esses registros de auditoria, consulte Monitorar o acesso usando registros de auditoria.