Skip to content

Azure Custom Role Designer

Python CI Coverage Version Python 3.9+ License

Welcome

Azure Custom Role Designer is a powerful command-line tool for platform engineers to create, manage, and deploy Azure custom roles with granular permission control.

Quick Start

# Install
pip install -e .

# Enter interactive mode
azure-custom-role-tool console

# Or use commands directly
azure-custom-role-tool create --name "MyRole" --description "My custom role"

Core Features

  • Create custom roles from scratch or as templates
  • Load roles from local storage or Azure
  • Merge permissions from multiple roles with filtering
  • Remove permissions by pattern or type
  • Manage role properties (name, description, scopes)
  • Publish to Azure directly from CLI
  • Interactive console mode with command history
  • Multi-line paste mode for batch operations

Documentation Structure

📖 Guides

Step-by-step guides for common tasks: - Platform Engineer Guide - Paste Mode Guide - Delete Role Guide

Features

Detailed feature documentation: - Multi-line Scripts - Role Properties - Unified Load Feature - Merge with Azure Fallback

🔍 Reference

API and command reference: - Feature Reference - Quick Reference

👨‍💻 Development

For developers and contributors: - Code Refactoring - Implementation Summary

Key Concepts

Interactive Console Mode

Run azure-custom-role-tool console to enter an interactive shell with: - Command history navigation - Multi-line paste support - Real-time role state feedback - Shell command integration

Permission Filtering

Filter permissions by: - String pattern: Microsoft.Storage*, *read* - Type: control (management) or data (data operations) - Combination: Both string and type filters together

Role Workflow

Typical workflow: 1. Create or Load a role 2. Merge permissions from other roles 3. Remove unnecessary permissions 4. Modify properties (name, description, scopes) 5. Save locally for review 6. Publish to Azure

Get Started

Choose a getting started guide:

Support

For issues or questions: - Check the Feature Reference - Review the Platform Engineer Guide - Submit an issue on the repository


Latest Version: 1.0
Last Updated: February 2026