automacao-identidade-ad/README.md

157 lines
6.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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