-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Talvisbord/securityinsignts/source controls/add spn details 2026 01 01 preview #38896
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Talvisbord/securityinsignts/source controls/add spn details 2026 01 01 preview #38896
Conversation
Next Steps to MergeNext steps that must be taken to merge this PR:
Important checks have failed. As of today they are not blocking this PR, but in near future they may. Addressing the following failures is highly recommended:
Comment generated by summarize-checks workflow run. |
API Change CheckAPIView identified API level changes in this PR and created the following API reviews
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request introduces a new preview API version (2026-01-01-preview) for the SecurityInsights Source Controls feature, adding support for Service Principal and Workload Identity Federation metadata. The changes extend the existing source control functionality with enhanced authentication and identity management capabilities.
Key Changes:
- Adds new
ServicePrincipalandWorkloadIdentityFederationschema definitions to track authentication metadata - Introduces new API version 2026-01-01-preview with associated specification and example files
- Updates readme.md configuration to include the new API version
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 14 comments.
| File | Description |
|---|---|
| specification/securityinsights/resource-manager/readme.md | Updates tag configuration to add package-2026-01-01-preview with SourceControls.json input file |
| specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2026-01-01-preview/SourceControls.json | New OpenAPI specification file defining source control operations with service principal and workload identity federation support |
| specification/securityinsights/resource-manager/Microsoft.SecurityInsights/preview/2026-01-01-preview/examples/sourcecontrols/CreateSourceControl.json | Example demonstrating create/update source control operation with new authentication fields |
| "info": { | ||
| "title": "Security Insights", | ||
| "description": "API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider", | ||
| "version": "2025-09-01" |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The API version in the info section is "2025-09-01" but this is a 2026-01-01-preview specification. The version field should be "2026-01-01-preview" to match the file name and API version being defined.
| "version": "2025-09-01" | |
| "version": "2026-01-01-preview" |
| }, | ||
| "workloadIdentityFederation": { | ||
| "description": "Workload Identity metadata.", | ||
| "$ref": "#/definitions/WorkloadIdentityFederation", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's a trailing comma after the closing brace which is invalid JSON syntax. Remove the comma at the end of this line.
| "$ref": "#/definitions/WorkloadIdentityFederation", | |
| "$ref": "#/definitions/WorkloadIdentityFederation" |
| "url", | ||
| "branch" | ||
| ], | ||
| "description": "metadata of a repository.", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent casing: "metadata of a repository" should follow sentence case style as used elsewhere in the file. It should be "Metadata of a repository." or "Metadata of a repository" (with capital M).
| "description": "metadata of a repository.", | |
| "description": "Metadata of a repository.", |
| "code": { | ||
| "description": "An identifier for the warning. Codes are invariant and are intended to be consumed programmatically.", | ||
| "readOnly": true, | ||
| "type": "object", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code property type is incorrectly defined as type: "object" when it should be type: "string" since it references the WarningCode enum (which is a string type).
| "type": "object", | |
| "type": "string", |
| "responses": { | ||
| "200": { | ||
| "body": { | ||
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo in the resource ID: "OperationalIinsights" should be "OperationalInsights" (only one 'I', not double 'I').
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", | |
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", |
| "state": { | ||
| "$ref": "#/definitions/PullRequestState", | ||
| "description": "State of the pull request", | ||
| "type": "object", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The state property is incorrectly defined as type: "object" when it should be type: "string" since it references the PullRequestState enum (which is a string type).
| "type": "object", |
| }, | ||
| "WarningCode": { | ||
| "readOnly": true, | ||
| "description": "The type of repository.", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The description "The type of repository." is incorrect for WarningCode enum. This should describe warning codes, not repository types. Consider: "Warning codes for source control operations."
| "description": "The type of repository.", | |
| "description": "Warning codes for source control operations.", |
| @@ -0,0 +1,190 @@ | |||
| { | |||
| "parameters": { | |||
| "api-version": "2025-09-01", | |||
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The API version in the example is "2025-09-01" but this example is for the 2026-01-01-preview API version. The api-version parameter should be "2026-01-01-preview" to match the specification version.
| "api-version": "2025-09-01", | |
| "api-version": "2026-01-01-preview", |
| }, | ||
| "201": { | ||
| "body": { | ||
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo in the resource ID: "OperationalIinsights" should be "OperationalInsights" (only one 'I', not double 'I').
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalIinsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", | |
| "id": "/subscriptions/b28fbe4a-0bb1-4593-960b-061c8655a550/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace/providers/Microsoft.SecurityInsights/sourcecontrols/789e0c1f-4a3d-43ad-809c-e713b677b04a", |
| "properties": { | ||
| "id": "789e0c1f-4a3d-43ad-809c-e713b677b04a", | ||
| "displayName": "My Source Control", | ||
| "description": "this is a source control", |
Copilot
AI
Nov 20, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Inconsistent casing: in the request body (line 12) the description is "This is a source control" but in the response (line 128) it's "this is a source control" (lowercase 't'). The response should match the request with capital 'T': "This is a source control".
| "description": "this is a source control", | |
| "description": "This is a source control", |
ARM (Control Plane) API Specification Update Pull Request
Tip
Overwhelmed by all this guidance? See the
Getting helpsection at the bottom of this PR description.PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.
Purpose of this PR
What's the purpose of this PR? Check the specific option that applies. This is mandatory!
Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to the diagram Step 2, "ARM API changes review", for this PR.
Additional information
Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the
Generated ApiViewcomment added to this PR. You can use ApiView to show API versions diff.Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
suppressions guide to get approval.
Getting help
Purpose of this PRandDue diligence checklist.write accessper aka.ms/azsdk/access#request-access-to-rest-api-or-sdk-repositoriesNext Steps to Mergecomment. It will appear within few minutes of submitting this PR and will continue to be up-to-date with current PR state.and https://aka.ms/ci-fix.
queuedstate, please add a comment with contents/azp run.This should result in a new comment denoting a
PR validation pipelinehas started and the checks should be updated after few minutes.