automacao-identidade-ad/README.md

6.5 KiB
Raw Blame History

Plaintext

Plataforma Unificada de Trabalho Digital

Status PowerShell Licença

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

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:
      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:
      Install-Module -Name Pester -Force -SkipPublisherCheck
      

Instalação

  1. Clone o repositório do Gitea para sua máquina local:
    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:
    cd plataforma-unificada-ad
    
  3. Execute os testes para garantir que tudo está funcionando como esperado:
    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:

# 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