or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

application-api-security.mdcloud-security-posture.mdcompliance-governance.mdconfiguration-settings.mddevops-security.mdindex.mdnetwork-security.mdsecurity-assessment-monitoring.mdvulnerability-management.md
tile.json

tessl/pypi-azure-mgmt-security

Microsoft Azure Security Center Management Client Library for Python

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/azure-mgmt-security@7.0.x

To install, run

npx @tessl/cli install tessl/pypi-azure-mgmt-security@7.0.0

index.mddocs/

Azure Security Center Management Client

A comprehensive Python library for managing Microsoft Azure Security Center resources. This package provides unified access to all Azure Security Center functionality across 69 operation groups, enabling security assessment, compliance monitoring, threat protection, and security configuration management for Azure and multi-cloud environments.

Package Information

  • Package Name: azure-mgmt-security
  • Language: Python
  • Installation: pip install azure-mgmt-security
  • Version: 7.0.0

Core Imports

from azure.mgmt.security import SecurityCenter

For authentication:

from azure.identity import DefaultAzureCredential

Basic Usage

from azure.identity import DefaultAzureCredential
from azure.mgmt.security import SecurityCenter

# Initialize with default credentials and subscription
credential = DefaultAzureCredential()
subscription_id = "your-subscription-id"

# Create the Security Center client
client = SecurityCenter(credential, subscription_id)

# List security alerts
alerts = client.alerts.list()
for alert in alerts:
    print(f"Alert: {alert.display_name}, Severity: {alert.severity}")

# Get security assessments
scope = f"subscriptions/{subscription_id}"
assessments = client.assessments.list(scope)
for assessment in assessments:
    print(f"Assessment: {assessment.display_name}, Status: {assessment.status.code}")

# Check secure score
secure_scores = client.secure_scores.list()
for score in secure_scores:
    print(f"Secure Score: {score.current_score}/{score.max_score}")

# Configure pricing/defender plans
pricing = client.pricings.get(pricing_name="VirtualMachines")
print(f"Defender for VMs: {pricing.pricing_tier}")

Architecture

The Azure Security Center Management Client uses a multi-API architecture that provides:

  • Unified Client Interface: Single SecurityCenter class provides access to all functionality
  • Multi-API Version Support: Each operation group uses its optimal API version (36 versions supported from 2015-06-01-preview through 2024-04-01)
  • Profile-Based Configuration: LATEST_PROFILE automatically maps operation groups to recommended API versions
  • Azure ARM Integration: Built on Azure Resource Manager pipeline with automatic resource provider registration
  • Multi-Cloud Support: Configurable endpoints for Azure Government, Azure China, and other environments

Client Structure

class SecurityCenter:
    def __init__(
        self,
        credential: TokenCredential,
        subscription_id: str,
        api_version: Optional[str] = None,
        base_url: str = "https://management.azure.com",
        profile: KnownProfiles = KnownProfiles.default,
        **kwargs: Any
    ) -> None
    
    def close(self) -> None
    def __enter__(self) -> "SecurityCenter"
    def __exit__(self, *exc_details) -> None
    
    @classmethod
    def models(cls, api_version: str = "2024-04-01") -> Any

Capabilities

Security Assessment and Monitoring

Core security assessment functionality including alerts, assessments, secure scores, and security recommendations. Essential for understanding and improving your security posture.

# Alert Management (API Version: 2022-01-01)
client.alerts.list() -> Iterator[Alert]
client.alerts.get_subscription_level(asc_location: str, alert_name: str) -> Alert
client.alerts.update_subscription_level_state_to_dismiss(asc_location: str, alert_name: str) -> None

# Security Assessments (API Version: 2021-06-01) 
client.assessments.list(scope: str) -> Iterator[SecurityAssessmentResponse]
client.assessments.get(resource_id: str, assessment_name: str, expand: Optional[str] = None) -> SecurityAssessmentResponse
client.assessments.create_or_update(scope: str, assessment_name: str, assessment: SecurityAssessment) -> SecurityAssessment

# Secure Score (API Version: 2020-01-01)
client.secure_scores.list() -> Iterator[SecureScoreItem]
client.secure_score_controls.list() -> Iterator[SecureScoreControlDetails]

Security Assessment and Monitoring

Compliance and Governance

Regulatory compliance management, governance assignments, and compliance reporting across multiple standards like PCI DSS, SOC, and industry frameworks.

# Regulatory Compliance (API Version: 2019-01-01-preview)
client.regulatory_compliance_standards.list() -> Iterator[RegulatoryComplianceStandard]
client.regulatory_compliance_controls.list(standard_name: str) -> Iterator[RegulatoryComplianceControl]
client.regulatory_compliance_assessments.list(standard_name: str, control_name: str) -> Iterator[RegulatoryComplianceAssessment]

# Governance (API Version: 2022-01-01-preview)
client.governance_rules.list() -> Iterator[GovernanceRule]
client.governance_assignments.list(scope: str) -> Iterator[GovernanceAssignment]

Compliance and Governance

DevOps Security Integration

Comprehensive DevOps security for Azure DevOps, GitHub, and GitLab repositories, including security scanning, policy enforcement, and configuration management. Note: DevOps operations require API version 2024-04-01 or 2023-09-01-preview.

# Create version-specific client for DevOps operations
from azure.mgmt.security.v2024_04_01 import SecurityCenter as SecurityCenter_v2024_04_01

devops_client = SecurityCenter_v2024_04_01(credential, subscription_id)

# DevOps Configuration
devops_client.dev_ops_configurations.list() -> Iterator[DevOpsConfiguration]
devops_client.dev_ops_operation_results.get(operation_result_id: str) -> OperationResult

# Azure DevOps Integration
devops_client.azure_dev_ops_orgs.list() -> Iterator[AzureDevOpsOrg]
devops_client.azure_dev_ops_projects.list(org_name: str) -> Iterator[AzureDevOpsProject]
devops_client.azure_dev_ops_repos.list(org_name: str, project_name: str) -> Iterator[AzureDevOpsRepository]

# GitHub Integration
devops_client.git_hub_owners.list() -> Iterator[GitHubOwner]
devops_client.git_hub_repos.list(owner_name: str) -> Iterator[GitHubRepository]

# GitLab Integration  
devops_client.git_lab_groups.list() -> Iterator[GitLabGroup]
devops_client.git_lab_projects.list(group_name: str) -> Iterator[GitLabProject]

DevOps Security Integration

Network Security

Network security hardening, just-in-time VM access policies, network topology analysis, and connection monitoring.

# Network Hardening (API Version: 2020-01-01)
client.adaptive_network_hardenings.list(resource_group_name: str) -> Iterator[AdaptiveNetworkHardening]
client.allowed_connections.list() -> Iterator[AllowedConnectionsResource]
client.topology.list() -> Iterator[TopologyResource]

# Just-in-Time Access
client.jit_network_access_policies.list() -> Iterator[JitNetworkAccessPolicy]
client.jit_network_access_policies.initiate(
    resource_group_name: str,
    jit_network_access_policy_name: str,
    body: JitNetworkAccessPolicyInitiateRequest
) -> JitNetworkAccessRequest

Network Security

Application and API Security

Application security controls, API discovery and protection, and adaptive application whitelisting for enhanced application protection.

# Adaptive Application Controls (API Version: 2020-01-01)
client.adaptive_application_controls.list() -> Iterator[AdaptiveApplicationControlGroup]
client.adaptive_application_controls.get(group_name: str) -> AdaptiveApplicationControlGroup

# Application Management (API Version: 2022-07-01-preview)
client.applications.list() -> Iterator[Application]
client.application.get(application_id: str) -> Application

# API Security (API Version: 2023-11-15)
client.api_collections.list(subscription_id: str) -> Iterator[ApiCollection]
client.api_collection_onboarding.onboard(api_id: str) -> None
client.api_collection_offboarding.offboard(api_id: str) -> None

Application and API Security

Vulnerability Management

Comprehensive vulnerability scanning and management for servers, SQL databases, and detailed vulnerability findings with baseline rule management.

# Server Vulnerability Assessment (API Version: 2020-01-01)
client.server_vulnerability_assessment.list(resource_id: str) -> Iterator[ServerVulnerabilityAssessment]
client.server_vulnerability_assessments_settings.list() -> Iterator[ServerVulnerabilityAssessmentsSettings]

# SQL Vulnerability Assessment (API Version: 2023-02-01-preview)
client.sql_vulnerability_assessment_scans.list(resource_id: str) -> Iterator[SqlVulnerabilityAssessmentScan]
client.sql_vulnerability_assessment_scan_results.list(resource_id: str, scan_id: str) -> Iterator[SqlVulnerabilityAssessmentScanResult]
client.sql_vulnerability_assessment_baseline_rules.list(resource_id: str) -> Iterator[SqlVulnerabilityAssessmentBaselineRule]

# Sub-Assessments (API Version: 2019-01-01-preview)
client.sub_assessments.list(scope: str) -> Iterator[SubAssessment]

Vulnerability Management

Configuration and Settings

Security Center configuration, contact management, workspace settings, and data export configuration for centralized security management.

# Settings Management (API Version: 2022-05-01)
client.settings.list() -> Iterator[Setting]
client.settings.get(setting_name: str) -> Setting
client.settings.update(setting_name: str, setting: Setting) -> Setting

# Security Contacts (API Version: 2020-01-01-preview)
client.security_contacts.list() -> Iterator[SecurityContact]
client.security_contacts.create(security_contact_name: str, security_contact: SecurityContact) -> SecurityContact

# Auto Provisioning (API Version: 2017-08-01-preview)
client.auto_provisioning_settings.list() -> Iterator[AutoProvisioningSetting]
client.workspace_settings.list() -> Iterator[WorkspaceSetting]

Configuration and Settings

Cloud Security Posture Management

Multi-cloud security connectors, Microsoft Defender service configuration, and cloud security posture management across Azure, AWS, and GCP.

# Security Connectors (API Version: 2023-10-01-preview)
client.security_connectors.list() -> Iterator[SecurityConnector]
client.security_connectors.create_or_update(
    resource_group_name: str,
    security_connector_name: str, 
    security_connector: SecurityConnector
) -> SecurityConnector

# Defender Services (API Version: 2022-12-01-preview)
client.defender_for_storage.get(resource_id: str) -> DefenderForStorageSettings
client.pricings.list() -> Iterator[Pricing]
client.pricings.update(pricing_name: str, pricing: Pricing) -> Pricing

# Legacy Connectors (API Version: 2020-01-01-preview)
client.connectors.list() -> Iterator[ConnectorSetting]

Cloud Security Posture Management

Core Types

# Core Imports
from azure.mgmt.security import SecurityCenter
from azure.core.credentials import TokenCredential
from azure.profiles import KnownProfiles
from typing import Optional

# Main Client
class SecurityCenter:
    credential: TokenCredential
    subscription_id: str
    api_version: Optional[str]
    base_url: str
    
# Common Response Types
class Alert:
    id: Optional[str]
    name: Optional[str] 
    display_name: Optional[str]
    severity: Optional[str]  # High, Medium, Low, Informational
    status: Optional[str]    # Active, Resolved, Dismissed
    
class SecurityAssessment:
    id: Optional[str]
    name: Optional[str]
    display_name: Optional[str] 
    status: Optional[AssessmentStatus]
    
class AssessmentStatus:
    code: Optional[str]      # Healthy, Unhealthy, NotApplicable
    cause: Optional[str]
    description: Optional[str]

class SecureScoreItem:
    id: Optional[str]
    name: Optional[str]
    current_score: Optional[float]
    max_score: Optional[int]
    percentage: Optional[float]

class SecurityAssessmentResponse:
    id: Optional[str]
    name: Optional[str]
    display_name: Optional[str]
    status: Optional[AssessmentStatus]