> For the complete documentation index, see [llms.txt](https://wiki.datadike.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.datadike.com/product-docs/integracoes/databases/redis.md).

# Redis

## Passo a Passo: Configuração Completa

#### Passo 1 — Criar o Ativo (Asset)

1. Acesse **Console → Ativos → Lista de Ativos**
2. Clique em **"+ Criar"** e selecione a categoria **Banco de Dados → Redis**
3. Preencha os campos:

| Campo      | Valor Exemplo     | Observação                  |
| ---------- | ----------------- | --------------------------- |
| Nome       | Redis-Producao-01 | Nome identificador do ativo |
| IP/Host    | 192.168.1.50      | Endereço do servidor Redis  |
| Porta      | 6379              | Porta padrão do Redis       |
| Plataforma | Redis             | Selecionar plataforma Redis |
| Nó         | /Default          | Nó organizacional           |
| Usar SSL   | ✅ ou ❌            | Marque se Redis usa TLS     |

4. Clique em **Enviar** para salvar

#### Passo 2 — Adicionar Conta (Account)

1. Acesse o ativo Redis criado → aba **Contas**
2. Clique em **"+ Criar"**
3. Preencha:

| Campo   | Valor       | Observação                                        |
| ------- | ----------- | ------------------------------------------------- |
| Nome    | redis-admin | Identificador da conta                            |
| Usuário | default     | Usuário padrão do Redis (ou ACL user no Redis 6+) |
| Senha   | ●●●●●●●●    | Senha do requirepass ou ACL                       |

> **Nota sobre Redis ACL (6+):** A partir do Redis 6, é possível criar múltiplos usuários com permissões granulares via ACL. O campo "Usuário" aceita o nome do usuário ACL, e a senha deve corresponder à senha configurada para aquele usuário.

4. Clique em **Enviar**

#### Passo 3 — Criar Autorização (Asset Permission)

1. Acesse **Console → Permissões → Permissões de Ativos**
2. Clique em **"+ Criar"**
3. Configure:

| Campo              | Valor                             |
| ------------------ | --------------------------------- |
| Nome               | Acesso-Redis-Prod                 |
| Usuários           | Selecionar usuário(s) ou grupo(s) |
| Ativos             | Redis-Producao-01                 |
| Contas             | redis-admin                       |
| Ações              | Conectar, Copiar/Colar            |
| Data de início/fim | Conforme política                 |

4. Clique em **Enviar**

***

### Passo 4 — Conectar ao Redis

Após a configuração, o usuário autorizado pode acessar o Redis pelo **Workbench**:

#### Método 1: DB Client (redis-cli)

1. Acesse **Workbench** com o usuário autorizado
2. Localize o ativo **Redis-Producao-01**
3. Clique em **DB Client**
4. O PAM fornecerá os parâmetros de conexão:

```bash
redis-cli -h <Magnus_IP> -p <Magnus_Port> -a <senha_proxy>
```

#### Método 2: Web CLI

1. No **Workbench**, localize o ativo Redis
2. Clique em **Web CLI**
3. Um terminal Redis abrirá diretamente no navegador
4. Execute comandos Redis normalmente:

```redis
PING
SET chave "valor"
GET chave
INFO server
KEYS *
```

> **Dica:** O Web CLI é o método mais prático para acesso rápido, sem necessidade de cliente local.

#### Método 3: RemoteApp

1. No **Workbench**, clique em **RemoteApp**
2. Uma aplicação de gerenciamento Redis (ex: Another Redis Desktop Manager) será aberta via sessão remota
3. A conexão é estabelecida automaticamente com as credenciais configuradas

#### Método 4: DB Guide

1. No **Workbench**, clique em **DB Guide**
2. O PAM exibirá as instruções de conexão manual
3. Use as informações fornecidas para conectar via seu cliente preferido

***

### Passo 5 — Verificação e Testes

Após a configuração, execute os seguintes testes:

| Teste           | Comando / Ação                   | Resultado Esperado       |
| --------------- | -------------------------------- | ------------------------ |
| Conectividade   | `redis-cli -h <IP> -p 6379 ping` | Resposta: PONG           |
| Autenticação    | `AUTH <senha>`                   | Resposta: OK             |
| Leitura/Escrita | `SET test "hello" → GET test`    | Resposta: "hello"        |
| Web CLI         | Acessar via Workbench            | Terminal Redis funcional |
| Auditoria       | Console → Auditoria → Sessões    | Sessão Redis registrada  |

***

### Troubleshooting Redis

| Problema                     | Causa Provável                     | Solução                                              |
| ---------------------------- | ---------------------------------- | ---------------------------------------------------- |
| Erro "NOAUTH"                | Senha não fornecida                | Verificar campo de senha na conta do ativo           |
| Erro "ERR invalid password"  | Senha incorreta                    | Verificar requirepass ou ACL password                |
| Connection refused           | Redis não escutando na interface   | Alterar `bind` para 0.0.0.0 no redis.conf            |
| Connection timeout           | Firewall ou rede                   | Liberar porta 6379 entre PAM e Redis                 |
| Erro "DENIED" (Redis 6+ ACL) | Usuário sem permissão para comando | Verificar ACL do usuário no Redis                    |
| Protected mode ativo         | Conexão remota sem senha           | Configurar requirepass ou desabilitar protected-mode |
| Usuário não vê o ativo       | Falta autorização                  | Criar Asset Permission para o usuário                |

> **Nota:** O Redis é um banco de dados in-memory — diferente dos bancos SQL, ele não possui tabelas ou schemas. Os comandos auditados pelo DataDike PAM incluem todas as operações Redis (GET, SET, DEL, KEYS, etc.).
