Skip to content

Narrow publishing credential access - #17247

Merged
missymessa merged 2 commits into
dotnet:mainfrom
missymessa:missymessa/vg20-least-privilege
Aug 5, 2026
Merged

missymessa merged 2 commits into
dotnet:mainfrom
missymessa:missymessa/vg20-least-privilege

Conversation

@missymessa

@missymessa missymessa commented Aug 5, 2026 •

Copy link
Copy Markdown
Member

Summary

  • move the Arcade promotion GitHub PAT to a pipeline-6-only variable group
  • move the remaining Maestro/AkaMS application IDs to a pipeline-750-only variable group
  • remove all broad Publish-Build-Assets imports from Arcade and shared templates
  • remove expired/stale values from shared binlog redaction inputs

Authorization audit

  • VG20 currently authorizes 149 pipelines (108 enabled, 41 disabled)
  • pipeline 750 (Maestro Build Promotion) is the only enabled definition whose executed timeline uses both retained-variable paths
  • the replacement Arcade-Publishing-Client-Ids group is authorized only for pipeline 750

Tracking: https://dev.azure.com/dnceng/internal/_workitems/edit/10812

Use a promotion-specific variable group for the Maestro GitHub PAT and remove obsolete log-redaction inputs from the shared publishing group.

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

Copilot-Session: 8d5c9824-be94-4260-a72c-605d0ce1294d
Copilot AI review requested due to automatic review settings August 5, 2026 03:30

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 tightens credential scope in Arcade’s internal promotion validation and reduces unnecessary secret inputs to binlog redaction, aligning publishing credentials with least-privilege access for the official pipeline.

Changes:

  • Switched promotion validation to use the Arcade-Promotion-GitHub variable group for the Maestro GitHub PAT.
  • Removed expired/stale secret variables from the binlog redaction arguments.
  • Removed an obsolete comment describing credentials provided by a shared variable group.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
eng/validate-promotion.yml Uses the promotion-specific variable group to source the Maestro GitHub PAT for validate-promotion.
eng/common/core-templates/steps/publish-logs.yml Drops stale secret variables from the redact-logs invocation inputs.
eng/common-variables.yml Removes outdated documentation about which credentials the shared variable group provides.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@missymessa
missymessa requested a review from a team August 5, 2026 03:33
@missymessa
missymessa enabled auto-merge (squash) August 5, 2026 03:34
Move the remaining Maestro and AkaMS application IDs to a publishing-specific group authorized only for the centralized build-promotion pipeline, and remove unused Publish-Build-Assets imports.

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

Copilot-Session: 8d5c9824-be94-4260-a72c-605d0ce1294d
Copilot AI review requested due to automatic review settings August 5, 2026 14:11
@missymessa

Copy link
Copy Markdown
Member Author

Authorization audit update: the two values previously planned to remain in VG20 are consumed by the centralized v3 promotion definition, not by the 148 producer/validation definitions that inherited VG20. This PR now moves them to VG240, authorized only for pipeline 750, and removes all remaining VG20 imports so the broad group can be retired after merge.

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

Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.

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.

3 participants