Skip to content

Onboard compliance pipeline to CFS network isolation - #8600

Open
StellaHuang95 wants to merge 1 commit into
microsoft:mainfrom
StellaHuang95:fix/compliance-cfs-network-isolation
Open

Onboard compliance pipeline to CFS network isolation#8600
StellaHuang95 wants to merge 1 commit into
microsoft:mainfrom
StellaHuang95:fix/compliance-cfs-network-isolation

Conversation

@StellaHuang95

Copy link
Copy Markdown
Contributor

Context

The compliance pipeline was not using the official 1ES pipeline template, so it did not run the Network Isolation start/stop tasks or enforce the CFS package-feed policy. Although the shared restore path already authenticates to Azure Artifacts feeds, the pipeline also performed a global npm installation that could bypass the repository .npmrc and contact the public npm registry.

Changes

  • Migrate azure-pipelines-compliance.yml to v1/1ES.Official.PipelineTemplate.yml.
  • Enable the non-TCB Network Isolation policy with Permissive,CFSClean.
  • Remove the redundant npm i -g npm@8 step.
  • Preserve the existing compliance job, scan tasks, ordering, pool demands, variables, and schedule.
  • Resolve repository templates explicitly with @self under the external 1ES template.
  • Use 1ES.PublishBuildArtifacts@1 for the existing compliance-log artifact.

Expected result

Pipeline runs should include the 1ES Network Isolation tasks, restore dependencies through authenticated Azure Artifacts feeds, and prevent package tools from reaching public registries. Post-merge pipeline telemetry will be used to confirm clean policy enforcement and compliance lock-in.

Validation

  • Parsed the updated YAML successfully and verified the expected 1ES stage/job structure.
  • Checked the diff for whitespace errors.
  • Reviewed local template resolution and 1ES artifact-publishing compatibility.

An Azure DevOps run is required after merge to validate template expansion and Network Isolation telemetry in the hosted environment.

Migrate the compliance definition to the official 1ES template, enforce the non-TCB CFSClean policy, and remove the unauthenticated global npm install.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 7c06348a-a2e3-48f9-84b6-9eab3d077bd5
@StellaHuang95
StellaHuang95 requested a review from a team as a code owner July 31, 2026 20:26
Copilot AI review requested due to automatic review settings July 31, 2026 20:26
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@sonarqubecloud

Copy link
Copy Markdown

@StellaHuang95

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
1 pipeline(s) were filtered out due to trigger conditions.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the repository’s compliance pipeline to the official 1ES pipeline template so the run is governed by 1ES Network Isolation and CFS feed policy, reducing the chance of package restores reaching public registries.

Changes:

  • Updated azure-pipelines-compliance.yml to extends v1/1ES.Official.PipelineTemplate.yml and added the 1ES templates resources reference.
  • Enabled 1ES Network Isolation (networkIsolationPolicy: Permissive,CFSClean) and removed the global npm i -g npm@8 step.
  • Switched artifact publishing to 1ES.PublishBuildArtifacts@1 and explicitly resolved in-repo templates via @self.
Show a summary per file
File Description
azure-pipelines-compliance.yml Moves the compliance pipeline onto the 1ES official template with Network Isolation enabled, removes global npm install, and aligns artifact publishing with 1ES tasks.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants