IP Library Granted Patent US 11,283,809
Granted Patent B2
US 11,283,809 · App. 16/540,526 · Granted Mar 22, 2022

Automatic reduction of privilege role assignments

Inventors: Vera Bogdanich Espina (Buenos Aires, AR); Nicholas Patrick Brown (Seattle, WA); Varun Sharma (Sammamish, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
H04L63/104H04L63/105H04L63/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,283,809
App. No.
16/540,526
Granted
Mar 22, 2022
Kind
B2
Abstract

A least-privilege role is automatically assigned to a service principal in order to ensure that a service principal is able to perform actions on a resource of a subscription in a multi-tenant environment as intended without additional access and usage rights. The assignment of the least-privilege role is based on actions previously performed on the resources of a subscription by the service principal that match those actions within a role having the bare minimum permissions needed to perform those actions.

Claims (56)

1. A system comprising:

one or more processors; and a memory;

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions to perform actions that:

provide a service principal a first role, the first role having a permission that enables the service principal to perform an action on a first resource within a subscription of a tenant of a cloud service, wherein the service principal is an identity created for software components to access resources of the cloud service;

determine a set of actions previously performed on resources within the subscription; and

reassign the service principal to a least-privilege role that has bare minimum permissions to facilitate the set of actions previously performed on the resources.

2. The system of claim 1 , wherein the one or more programs include further instructions to perform actions that:

obtain historical usage data of actions performed on the resources within the subscription to determine the set of actions.

3. The system of claim 2 , wherein the one or more programs include further instructions to perform actions that:

order a plurality of roles provided by the cloud service associated with the subscription, the order based on permissions associated with each role of the plurality of roles, wherein the order is sorted by ascending permissions.

4. The system of claim 3 , wherein the one or more programs include further instructions to perform actions that:

map the set of actions to at least one of the plurality of roles having permissions that only meet the set of actions.

5. The system of claim 4 , wherein the one or more programs include further instructions to perform actions that:

associate a priority with each of the actions performed on the resources within the subscription; and

sort each role based on the associated action priority.

6. The system of claim 1 , wherein the one or more programs include further instructions to perform actions that:

associate a scope to apply the least-privilege role.

7. The system of claim 6 , wherein the application of the least-privilege role is applied to a scope common to the actions performed on the resources within the subscription.

8. A method, comprising:

providing, at a computing device having at least one processor coupled to a memory, a service principal with at least one permission to perform at least one action on at least one resource within a subscription, the subscription hosted in a multi-tenant service, wherein the service principal is an identity created for software to access resources of the multi-tenant service;

tracking actions made on resources within the subscription;

mapping the tracked actions to at least one least-privilege role having bare minimum permissions needed to perform the tracked actions; and

assigning the least-privilege role to the service principal.

9. The method of claim 8 , further comprising:

determining a scope to associate with the least-privilege role, wherein the scope is associated with a grouping of resources within the subscription.

10. The method of claim 9 , wherein the scope is at a subscription level or at a resource group level.

11. The method of claim 8 , further comprising:

sorting available roles in the multi-tenant service in ascending least-privilege order; and

searching for the least-privilege role from the sorted available roles.

12. The method of claim 11 , further comprising:

comparing actions within each role to determine a placement of a role within the ascending least-privilege order.

13. The method of claim 12 , further comprising:

associating a priority to each type of action; and

comparing the actions within each role using the action type priority.

14. The method of 13 , further comprising:

computing a score based on the action comparison; and

ordering the roles based on the score.

15. A device, comprising:

a processor coupled to a memory;

wherein the processor is configured to perform actions that:

assign a default role to a service principal to access a resource in a subscription of a tenant of a cloud service, the default role having a privilege that permits the service principal to perform at least one action on the resource, wherein the service principal is an identity created for an application to access the resource in the cloud service;

determine bare minimum permissions needed to perform past actions on the resource;

find one or more least-privilege roles that cover the bare minimum permissions; and

reassign the default role to the one or more least-privilege roles.

16. The device of claim 15 , wherein the processor is further configured to perform actions that:

compare each action in a first role with each action in a second role, wherein the action comparison is based on a priority ordering of a type associated with each action; and

rank each action in the first role with each action in the second role based on the action type priority ordering.

17. The device of claim 16 , wherein the processor is further configured to perform actions that:

calculate a score for the first role based on a position of each action in the first role in the action type priority ordering; and

calculate a score for the second role based on a position of each action in the second role in the action type priority ordering.

18. The device of claim 17 , wherein the processor is further configured to to perform actions that:

sort the first role and the second role in a least-privilege order based on the score for the first role and the score for the second role.

19. The device of claim 15 , wherein the processor is further configured to perform actions that:

apply the one or more least-privilege roles to a group of resources within the subscription.

20. The device of claim 15 , wherein the processor is further configured to perform actions that:

apply the one or more least-privilege roles to a scope common to the actions performed on the resources within the subscription.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2019
From: BOGDANICH ESPINA, VERA
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 050114/0186 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2019
From: BROWN, NICHOLAS PATRICK; SHARMA, VARUN
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 050083/0340 →
Continuity (1)
Related Publication 20210051153A1 · Feb 18, 2021
Cited By (4)
US 12,335,281 US 12,388,847 US 12,432,231 US 12,645,809