AI-300 (Microsoft Certified: Machine Learning Operations Engineer Associate) validates your ability to design and run MLOps and GenAIOps infrastructure on Azure, together branded AIOps, covering everything from provisioning an Azure Machine Learning workspace with Bicep and GitHub Actions to deploying, evaluating, and optimizing generative AI agents built on Microsoft Foundry. The exam spans five domains weighted toward the model lifecycle (25-30%, training through production monitoring) and GenAIOps infrastructure (20-25%), with lighter but still-tested coverage of generative AI quality assurance and observability plus RAG and fine-tuning optimization (10-15% each). Infrastructure as code and CI/CD are the connective tissue across every domain - a candidate comfortable deploying both Machine Learning workspaces and Foundry resources with Bicep, Azure CLI, and GitHub Actions can carry that same automation mindset from workspace setup through model retraining triggers. Expect scenario questions that test which Azure or Foundry feature fits a given operational requirement, such as a real-time versus batch endpoint, a provisioned-throughput versus serverless deployment, or MLflow tracking versus a custom logger, rather than pure recall.
What This Cheat Sheet Covers
This topic spans 15 focused tables and 167 indexed concepts, 165 flashcards, 5 practice tests with 199 questions. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Provisioning and Securing Machine Learning Workspaces
Domain 1, Task "Create and manage resources in a Machine Learning workspace": the top-level workspace resource, its datastores, its compute targets, and the identity/access control model that secures all of them.
| Concept | Example | Description | |
|---|---|---|---|
ws = Workspace(name="mlw-basic-prod", location="eastus", display_name="Basic workspace")ml_client.workspaces.begin_create(ws) | • Top-level resource that groups jobs, pipelines, data assets, models, and endpoints for a team. • Create one workspace per project for clean cost reporting, not one shared workspace for everything. • Not to be confused with a resource group, which just holds Azure resources without any ML-specific organization. | ||
Auto-created on workspace creation: Storage Account • Container Registry• Key Vault • App Insights | • Four Azure resources Azure Machine Learning provisions by default: a Storage account (artifacts, uploads), Container Registry (custom Docker images), Key Vault (secrets for compute targets), Application Insights (endpoint monitoring). • You can bring your own existing resources instead. | ||
Project(name="myexampleproject", hub_id=created_hub.id) | • Groups multiple project workspaces under shared security settings, connections, and compute for centralized governance. • Same resource type as a Microsoft Foundry hub. • Not a billing consolidation tool; cost reporting still tracks at the project workspace. | ||
ml_client.workspaces.begin_delete( name=ws.name, delete_dependent_resources=True) | • Default delete is a soft delete of the workspace object only; it does not remove the linked Storage account, Key Vault, ACR, or App Insights. • Pass delete_dependent_resources=True to also remove those. | ||
azureml://datastores/<name>/paths/<folder>/<file>.parquet | • A secure reference to an existing Azure storage account (Blob, Files, ADLS Gen1/Gen2), not a copy of the data. • Creating a datastore never creates or moves the underlying storage. | ||
Credential-based • SAS, account key, service principal Identity-based • Microsoft Entra ID or managed identity | • Two ways a datastore authenticates to storage. Identity-based is Microsoft's preferred pattern: no secret is stored, so a workspace Reader can't read out a key. • Credential-based secrets ARE visible to anyone with Reader access on the workspace. | ||
workspaceblobstore• workspaceartifactstoreworkspaceworkingdirectory• workspacefilestore | Every workspace auto-creates four datastores over its default storage account: workspaceblobstore (uploads, job snapshots, pipeline cache), workspaceartifactstore (metrics, models, components), workspaceworkingdirectory (notebooks, compute instance, prompt flow files), workspacefilestore (alternate upload container). | ||
ComputeInstance(name="ci-basic", size="STANDARD_DS3_v2") | • A fully managed, single-owner cloud workstation for interactive development (notebooks, JupyterLab, VS Code). • Single node only, billed while running, so enable idle shutdown to avoid paying for an inactive instance. • Not to be confused with a compute cluster. | ||
AmlCompute(name="cpu-cluster", min_instances=0, max_instances=2, idle_time_before_scale_down=120) | • A managed, autoscaling single- or multi-node cluster for training and batch inference jobs, shared across a workspace's users. • Set min_instances=0 to scale down to zero nodes between jobs, but idle nodes still count against subscription quota. | ||
job = command(command="echo hi", environment="azureml://...sklearn-1.5")# omit 'compute' to use serverless | • A training compute target that needs no cluster to create, size, or manage; Azure Machine Learning handles the full lifecycle. • Omitting the compute parameter on a job submission uses serverless compute automatically. | ||
Attach an existing • Azure Databricks cluster • Azure HDInsight • remote VM | • An unmanaged compute resource created and maintained outside Azure Machine Learning, then connected to the workspace. • The workspace does not create, scale, or patch it; you're responsible for its lifecycle. | ||
az ml workspace show --query identity# "type": "SystemAssigned,UserAssigned" | • The workspace identity it uses to talk to its Storage account, Key Vault, and ACR. Microsoft's recommendation for that scenario is the default system-assigned identity (SAI); user-assigned (UAI) is the alternative for an independent lifecycle across multiple resources. • A workspace can be upgraded from SAI to SAI+UAI, but not reverted back to SAI-only. | ||
AzureML Data Scientist+ AzureML Compute Operator | • Built-in workspace roles: AzureML Data Scientist (all actions except creating/deleting compute or changing the workspace), AzureML Compute Operator (create/manage/delete compute only), plus the general Reader / Contributor / Owner roles. • Combine Data Scientist + Compute Operator for self-service compute creation without full Contributor access. | ||
Grant Storage Blob Data Contributorto the workspace managed identity on the storage account | • The Azure RBAC data-plane role a workspace's managed identity needs to read and write blob data when the default storage account is configured for identity-based access. • Missing this role assignment is a common cause of "access denied" errors on an otherwise correctly identity-configured workspace. |