Skip to content

canbadem/azdo-permissions-explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AzDo Permissions Explorer

React Material UI Flask Python License: MIT

Explore Azure DevOps permissions -- fast, reliable, and enterprise-ready.


What is AzDo Permissions Explorer?

A comprehensive dashboard for managing Azure DevOps repository permissions and user access. This application provides a visual interface to explore projects, repositories, security groups, and user permissions within an Azure DevOps organization.


Architecture Overview

graph LR
  A[React Frontend] <--> B[Flask API<br/>+ Cache Layer]
  B <--> C[Azure DevOps REST APIs]

  subgraph Local / Hosted App
    A
    B
  end

  C --> Azure[Azure DevOps Service]
Loading

Features

  • Projects Overview: View and select from all available projects in your Azure DevOps organization
  • Repository Intelligence: Browse repositories with contextual metadata and access surface visibility.
  • Security Groups Explorer: Inspect security groups and user composition with clarity.
  • Permission Analysis: View detailed permissions for users and groups
  • Repository Members: See who has access to specific repositories and their roles
  • Enterprise Export: Generate Excel reports for compliance reviews, audits, and offline analysis.
  • Cache Management: Clear cache to ensure you're viewing the most up-to-date data

Technology Stack

Backend

  • Python with Flask API
  • Azure DevOps Python SDK
  • Cache management system for performance optimization

Frontend

  • React with Material UI
  • Vite build system
  • Modern responsive design with dark/light theme support

Project Structure

├── backend/                # Python Flask backend
│   ├── api.py              # REST API endpoints
│   ├── azure_data.py       # Azure DevOps data retrieval and processing
│   ├── cache.py            # Caching system
│   ├── config_manager.py   # Configuration management
│   ├── excel_exporter.py   # Excel export functionality
│   └── permissions_report_*.py  # Permission report generation
│
└── frontend/              # React frontend
    ├── src/
    │   ├── api/           # API integration
    │   ├── components/    # React components
    │   └── assets/        # Static assets
    └── public/            # Public files

Setup & Installation

Prerequisites

  • Python 3.8 or higher
  • Node.js 16 or higher
  • Azure DevOps account with appropriate access

Backend Setup

  1. Navigate to the backend directory:

    cd backend
    
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    
  4. Start the Flask server:

    python api.py
    

    The API will be available at http://localhost:5000/api

Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
    
  2. Install dependencies:

    npm install
    
  3. Start the development server:

    npm run dev
    

    The application will be available at http://localhost:5173


Configuration

When you first launch the application, you'll be prompted to configure your Azure DevOps connection:

  1. Azure DevOps Organization URL (e.g., https://dev.azure.com/your-organization)
  2. Personal Access Token (PAT) with appropriate permissions

These settings will be securely stored for future use.


Usage

  1. After configuration, the dashboard will load all available projects from your Azure DevOps organization
  2. Select a project to view its repositories
  3. Navigate through tabs to explore repositories, security groups, and permissions
  4. Use the clear cache button to refresh data from Azure DevOps

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


License

Licensed under the MIT License.

About

Modern dashboard for auditing Azure DevOps repository permissions, security groups, and access control using a React + Flask stack.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors