Skip to content

Conversation

@marabooy
Copy link
Contributor

Weekly Permissions sync 2025-11-29

@marabooy marabooy requested a review from a team as a code owner November 29, 2025 00:30
Copilot AI review requested due to automatic review settings November 29, 2025 00:30
Copy link
Contributor

Copilot AI left a 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 is a weekly permissions synchronization that updates permission definitions and provisioning information across the Microsoft Graph API permissions system. The changes enable new agent-related permissions, fix inconsistencies, and add new API endpoints.

  • Enables and populates IDs for multiple Agent Registry permissions (AgentInstance, AgentCardManifest, AgentCollection, MailboxConfigItem)
  • Adds comprehensive metadata for new agent-related permissions in the permissions registry
  • Introduces placeholder entries for three new permissions (AppRegistration.Create, AppRegistration.DeleteRestore.All, AppRegistration.EnableDisable.All, ServicePrincipal.DeleteRestore.All)

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
permissions/new/provisioningInfo.json Updates provisioning info for Agent* permissions (enabling and adding IDs), adds placeholder entries for new AppRegistration.* and ServicePrincipal.* permissions, updates MailboxConfigItem.Read with IDs, adds Group-Priority.ReadWrite.All, corrects resourceAppId for CopilotConversation.Delete
permissions/new/permissions.json Adds comprehensive definitions for Agent* permissions with display names, descriptions, and API paths; adds MailboxConfigItem.Read definition; reorganizes Calendar.Read paths; updates CloudPC and Policy paths; adds new Copilot reporting endpoints

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

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

Comment on lines 1071 to 1088
"AppRegistration.EnableDisable.All": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
},
{
"id": "",
"scheme": "Application",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
}
],
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

The permission AppRegistration.EnableDisable.All has provisioning info with empty id and environment fields. These should be populated with valid values before the permission can be used. Additionally, this permission appears in provisioningInfo.json but has no corresponding entry in permissions.json, which means it lacks the required metadata (display names, descriptions, paths, etc.).

Copilot uses AI. Check for mistakes.
Comment on lines 13170 to 13187
"ServicePrincipal.DeleteRestore.All": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000002-0000-0000-c000-000000000000"
},
{
"id": "",
"scheme": "Application",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000002-0000-0000-c000-000000000000"
}
],
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

The permission ServicePrincipal.DeleteRestore.All has provisioning info with empty id and environment fields. These should be populated with valid values before the permission can be used. Additionally, this permission appears in provisioningInfo.json but has no corresponding entry in permissions.json, which means it lacks the required metadata (display names, descriptions, paths, etc.).

Copilot uses AI. Check for mistakes.
"isEnabled": false,
"isHidden": false,
"isEnabled": true,
"resourceAppId": "c999ed3e-27ae-4cb3-b3a2-46b056af63d3"
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

The MailboxConfigItem.Read permission definition in permissions.json includes a DelegatedPersonal scheme (lines 30343-30350), but the corresponding provisioningInfo.json entry only has provisioning info for DelegatedWork and Application schemes. A provisioning info entry for the DelegatedPersonal scheme should be added to maintain consistency between the two files.

Suggested change
"resourceAppId": "c999ed3e-27ae-4cb3-b3a2-46b056af63d3"
"resourceAppId": "c999ed3e-27ae-4cb3-b3a2-46b056af63d3"
},
{
"id": "",
"scheme": "DelegatedPersonal",
"environment": "public",
"isHidden": false,
"isEnabled": true,
"resourceAppId": "c999ed3e-27ae-4cb3-b3a2-46b056af63d3"

Copilot uses AI. Check for mistakes.
"schemes": {
"DelegatedWork": {
"adminDisplayName": "Read user's UserConfiguration objects",
"adminDescription": "Allows the app to read user's UserConfiguration objects, on behalf of the the signed-in user.",
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

There's a double "the" in the adminDescription: "on behalf of the the signed-in user" should be "on behalf of the signed-in user".

Copilot uses AI. Check for mistakes.
},
"DelegatedPersonal": {
"adminDisplayName": "Read user's UserConfiguration objects",
"adminDescription": "Allows the app to read user's UserConfiguration objects, on behalf of the the signed-in user.",
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

There's a double "the" in the adminDescription: "on behalf of the the signed-in user" should be "on behalf of the signed-in user".

Copilot uses AI. Check for mistakes.
Comment on lines 1035 to 1052
"AppRegistration.Create": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
},
{
"id": "",
"scheme": "Application",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
}
],
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

The permission AppRegistration.Create has provisioning info with empty id and environment fields. These should be populated with valid values before the permission can be used. Additionally, this permission appears in provisioningInfo.json but has no corresponding entry in permissions.json, which means it lacks the required metadata (display names, descriptions, paths, etc.).

Copilot uses AI. Check for mistakes.
Comment on lines 1053 to 1070
"AppRegistration.DeleteRestore.All": [
{
"id": "",
"scheme": "DelegatedWork",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
},
{
"id": "",
"scheme": "Application",
"environment": "",
"isHidden": true,
"isEnabled": true,
"resourceAppId": "00000003-0000-0000-c000-000000000000"
}
],
Copy link

Copilot AI Nov 29, 2025

Choose a reason for hiding this comment

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

The permission AppRegistration.DeleteRestore.All has provisioning info with empty id and environment fields. These should be populated with valid values before the permission can be used. Additionally, this permission appears in provisioningInfo.json but has no corresponding entry in permissions.json, which means it lacks the required metadata (display names, descriptions, paths, etc.).

Copilot uses AI. Check for mistakes.
@jasonjoh jasonjoh closed this Dec 1, 2025
@jasonjoh jasonjoh deleted the permissions-update/2025-11-29 branch December 1, 2025 19:19
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