A Python-based connector for Microsoft Enterprise Security Solutions (ESS) that enables seamless integration with Microsoft's security services and APIs.
This project provides a robust connector for integrating with Microsoft's Enterprise Security Solutions, enabling seamless data exchange and security operations. It includes support for API management, policy enforcement, and security configurations.
- Secure authentication and authorization with Microsoft services
- API Management integration with Swagger/OpenAPI support
- Policy enforcement and configuration management
- Resource template management
- Comprehensive error handling and logging
- Type-safe implementation
- CLI and certification configuration support
- Python 3.9+
- uv for dependency management
- Git
- Microsoft Azure subscription (for API access)
- Appropriate Microsoft security service credentials
- Clone the repository:
git clone https://github.com/yourusername/MSFT_ESS_Connector.git
cd MSFT_ESS_Connector
- Create and activate a virtual environment using uv:
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
- Install dependencies:
uv pip install -r requirements.txt
The connector supports multiple configuration modes:
- CLI Configuration (
connector-config-cli.json
) - Certification Configuration (
connector-config-certification.json
) - Internal Configuration (
connector-config-internal.json
)
Update the appropriate configuration file with your Microsoft service credentials and settings.
MSFT_ESS_Connector/
├── apiDefinition.swagger.json # API definition in Swagger/OpenAPI format
├── connector-config-*.json # Various configuration files
├── icon.png # Connector icon
├── intro.md # Detailed documentation
├── policies.xml # Policy definitions
├── PolicySourceCode.cs # Policy implementation
├── resourceTemplate-apimRegister.json # API Management resource template
└── Microsoft.Azure.Connectors.EightFold.csproj # Project configuration
- Install development dependencies:
uv pip install -r requirements-dev.txt
- Run tests:
pytest
- Run linting:
ruff check .
The connector uses the Swagger/OpenAPI specification (apiDefinition.swagger.json
) to define the API endpoints and operations. The resource template (resourceTemplate-apimRegister.json
) provides the necessary configuration for API Management integration.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Please report any security issues to [email protected]
For support, please open an issue in the GitHub repository.