# Authelia User Manager

Веб-интерфейс для управления пользователями Authelia с автоматическим предоставлением доступа к сервисам.

## Возможности

- Добавление пользователей через веб-интерфейс
- Автоматическая генерация безопасных паролей
- Управление группами доступа
- Автоматическое предоставление доступа к сервисам на основе групп
- Удаление пользователей

## Группы и доступ

### admins
Полный доступ ко всем сервисам:
- traefik.ai-impress.com
- pgadmin.ai-impress.com
- rabbitmq.ai-impress.com
- n8n.ai-impress.com
- portainer.ai-impress.com
- status.ai-impress.com
- supabase.ai-impress.com
- wpp.ai-impress.com
- odoo.ai-impress.com

### developers
Доступ к tech-сервисам:
- n8n.ai-impress.com
- portainer.ai-impress.com
- traefik.ai-impress.com
- status.ai-impress.com
- odoo.ai-impress.com

### analysts
Доступ к аналитике и данным:
- pgadmin.ai-impress.com
- status.ai-impress.com
- odoo.ai-impress.com

### users
Базовый доступ:
- wiki.ai-impress.com
- status.ai-impress.com

## Установка

1. Обновите ACL в Authelia:
```bash
# Скопируйте содержимое update_acl.yml в /path/to/authelia/configuration.yml
# Замените секцию access_control
```

2. Запустите User Manager:
```bash
cd authelia-user-manager
docker-compose up -d
```

3. Откройте веб-интерфейс:
```
http://your-server:5000
```

## Использование

### Добавление пользователя

1. Откройте веб-интерфейс
2. Заполните форму:
   - Имя пользователя (username)
   - Email
   - Отображаемое имя
   - Выберите группы доступа
3. Нажмите "Создать пользователя"
4. Сохраните сгенерированный пароль!

### Удаление пользователя

1. Найдите пользователя в списке
2. Нажмите кнопку "Удалить"
3. Подтвердите действие

## Безопасность

- Пароли генерируются автоматически (16 символов)
- Используется Argon2id для хеширования
- Пароли показываются только один раз при создании
- Рекомендуется защитить веб-интерфейс через Authelia

## Интеграция с Traefik

Добавьте в docker-compose.yml Authelia Manager:

```yaml
labels:
  - "traefik.enable=true"
  - "traefik.http.routers.authelia-manager.rule=Host(`users.ai-impress.com`)"
  - "traefik.http.routers.authelia-manager.entrypoints=websecure"
  - "traefik.http.routers.authelia-manager.tls.certresolver=letsencrypt"
  - "traefik.http.routers.authelia-manager.middlewares=authelia@docker"
  - "traefik.http.services.authelia-manager.loadbalancer.server.port=5000"
```

Это защитит интерфейс управления через Authelia.
