Plaintext # Plataforma Unificada de Trabalho Digital ![Status](https://img.shields.io/badge/status-em%20desenvolvimento-yellowgreen) ![PowerShell](https://img.shields.io/badge/PowerShell-5.1%2B-blue) ![Licença](https://img.shields.io/badge/licen%C3%A7a-propriet%C3%A1ria-red) Conjunto de scripts e aplicações para automação de tarefas de gestão de identidades (AD/Exchange) para o projeto **Plataforma Unificada de Trabalho Digital**. --- ## 📜 Sumário - [Visão Geral do Projeto](#-visão-geral-do-projeto) - [🚀 Módulos e Funcionalidades Principais](#-módulos-e-funcionalidades-principais) - [🛠️ Tecnologias Utilizadas](#️-tecnologias-utilizadas) - [🏁 Começando (Getting Started)](#-começando-getting-started) - [Pré-requisitos](#pré-requisitos) - [Instalação](#instalação) - [📖 Como Usar](#-como-usar) - [🗺️ Fases do Projeto (Roadmap)](#️-fases-do-projeto-roadmap) - [🤝 Como Contribuir](#-como-contribuir) --- ## 🌟 Visão Geral do Projeto Este projeto detalha a criação de uma **Plataforma Unificada de Trabalho Digital**, um portal de autoatendimento (self-service) e automação projetado para modernizar e otimizar a gestão de identidades e acessos. A plataforma visa reduzir a carga de trabalho do time de TI, empoderar os usuários, aumentar a segurança e garantir a conformidade com a LGPD através de processos automatizados e auditáveis. ## 🚀 Módulos e Funcionalidades Principais 1. **Portal de Autoatendimento do Usuário:** * Login seguro (integração com AD). * Atualização de dados cadastrais (telefone, endereço, etc.). * Reset de senha de forma autônoma e segura. * Visualização de organograma. 2. **Portal de Gestão (RH e Gestores):** * Formulário inteligente para requisição de novos colaboradores. * Fluxo de aprovação para criação de contas. * Processo automatizado de desligamento (offboarding). * Gestão de grupos de acesso e distribuição. 3. **Automação e Orquestração (Backend):** * Scripts PowerShell robustos para provisionamento em Active Directory e Exchange. * Higienização automática de dados do AD (contas inativas, dados incompletos). * Módulo de auditoria e geração de relatórios de conformidade. 4. **Integrações e Segurança:** * Integração Multi-AD (múltiplas florestas/domínios). * Conexão com sistemas de SIEM para monitoramento de eventos. * Painel de gestão para administradores de TI. ## 🛠️ Tecnologias Utilizadas * **Backend/Automação:** PowerShell 5.1+ * **Framework de Testes:** Pester * **Controle de Versão:** Git / Gitea * **Frontend (Portal):** HTML5, CSS3, JavaScript (Vue.js ou React a ser definido) * **Backend (Portal):** Node.js ou .NET Core (a ser definido) * **Banco de Dados:** PostgreSQL ou MariaDB (a ser definido) --- ## 🏁 Começando (Getting Started) Esta seção descreve como configurar o ambiente para executar os scripts de automação. ### Pré-requisitos Para executar os scripts de automação e os testes contidos neste repositório, o ambiente precisa atender aos seguintes requisitos: 1. **PowerShell 5.1** ou superior. 2. Módulo **ActiveDirectory** para PowerShell: * Pode ser instalado via "Recursos Opcionais" do Windows ou com o comando: ```powershell Install-WindowsFeature RSAT-AD-PowerShell ``` 3. Módulo **Pester** para execução dos testes: * Normalmente já vem instalado nas versões mais recentes do Windows. Para instalar ou atualizar, use: ```powershell Install-Module -Name Pester -Force -SkipPublisherCheck ``` ### Instalação 1. Clone o repositório do Gitea para sua máquina local: ```bash git clone [http://10.10.253.128/seu-usuario/plataforma-unificada-ad.git](http://10.10.253.128/seu-usuario/plataforma-unificada-ad.git) ``` 2. Navegue até o diretório do projeto: ```bash cd plataforma-unificada-ad ``` 3. Execute os testes para garantir que tudo está funcionando como esperado: ```powershell Invoke-Pester -Path .\tests\ ``` --- ## 📖 Como Usar ### Exemplo de Execução do Script O script `cria-usuario-unico.ps1` é o coração do provisionamento individual. Ele deve ser executado a partir de um terminal PowerShell com os parâmetros necessários. **Exemplo de uso:** ```powershell # 1. Primeiro, armazene as credenciais de forma segura em variáveis $clientCred = Get-Credential $exchangeCred = Get-Credential # 2. Execute o script localizado na pasta 'src' com os parâmetros do usuário .\src\cria-usuario-unico.ps1 ` -ClientADServer "dc01.cliente.local" ` -ClientADCredential $clientCred ` -ExchangeADServer "dc01.exchange.local" ` -ExchangeADCredential $exchangeCred ` -SamAccountName "joao.novo" ` -UserPrincipalName "joao.novo@cliente.com.br" ` -GivenName "Joao" ` -Surname "Novo" ` -Name "Joao Novo" ` -Path "OU=Usuarios,DC=cliente,DC=local" 🧪 Executando os Testes Os testes automatizados garantem a qualidade e a estabilidade do código. Eles foram criados com o framework Pester. Para executá-los, navegue até a pasta raiz do projeto e use o seguinte comando: PowerShell Invoke-Pester -Path .\tests\ 🗺️ Fases do Projeto (Roadmap) Fase Entrega Principal Estimativa Entregáveis e Valor Agregado 1 Discovery e Arquitetura 3-4 Semanas Blueprint técnico, DPIA/LGPD, planejamento de extensão AD 2 Prova de Conceito (PoC) de Riscos 2 Semanas Validação de integrações complexas (Multi-AD, SIEM) 3 MVP - Autoatendimento Essencial 6-8 Semanas Portal com login, troca de senha e atualização de perfil 4 Módulo de Gestão (Gestores e RH) 5-6 Semanas Criação de usuários, grupos, e módulo de desligamento 5 Módulos de Automação e Auditoria 5-7 Semanas Scripts de higienização, organograma e painel de auditoria 6 Integração com Sistemas Externos 4-6 Semanas Conectores (Exchange, Nextcloud, Zammad), dashboard unificado 7 Painel de Gestão e Configurações 3-4 Semanas Painel de admin para gerenciar variáveis e integrações 8 Lançamento e Melhoria Contínua Contínuo Plataforma em produção, monitoramento de KPIs e treinamento Exportar para as Planilhas 🤝 Como Contribuir Contribuições são o que tornam a comunidade um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada. Faça um Fork do Projeto Crie sua Feature Branch (git checkout -b feature/AmazingFeature) Faça o Commit de suas alterações (git commit -m 'Add some AmazingFeature') Faça o Push para a Branch (git push origin feature/AmazingFeature) Abra um Pull Request