IP Library Granted Patent US 10,097,586
Granted Patent B1
US 10,097,586 · App. 15/204,876 · Granted Oct 9, 2018

Identifying inconsistent security policies in a computer cluster

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 10,097,586
App. No.
15/204,876
Granted
Oct 9, 2018
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for identifying inconsistent security policies. One of the methods includes identifying running software components on a cluster of computers, a first subset of the components managing datasets, a second subset of the components managing other components; identifying entity pairs, each being either: (1) (i) a component paired with (ii) a dataset, or (2) two components paired with each other; determining, for each entity pair, a directed relationship from a first to a second entity, where the first entity is a component, and where the directed relationship represents the first entity executing a type of interaction with the second entity; identifying security policies affecting each entity that each limit user access to a type of interaction; and analyzing, for each entity, entity pairs including the entity and one or more security policies affecting the entity to identify inconsistent security policies.

Claims (63)

1. A method, comprising:

identifying, by a system comprising one or more computer nodes, a plurality of running software components on a cluster of two or more computers, the plurality of components comprising one or more first components managing a dataset stored in the cluster, the first components exposing data of the dataset, the plurality of components comprising one or more second components (i) managing, directly or indirectly, the first components, and (ii) exposing data of the dataset exposed by the first components;

identifying, by the system, one or more security policies affecting any one of the dataset, the one or more first components, and the one or more second components;

identifying inconsistent security policies from the one or more security policies, wherein the inconsistent security policies are policies that allow different scopes of user access to the data of the dataset depending on whether the user access is (i) directly to the dataset, (ii) directly to any of the one or more first components, or (iii) directly to any of the one or more second components;

generating, by the system, a specification of one or more actions to rectify inconsistences in the inconsistent security policies; and

performing the one or more actions to rectify inconsistences in the inconsistent security policies.

2. The method of claim 1 , further comprising:

receiving a security policy for a particular component from a user installing or configuring the particular component.

3. The method of claim 1 , wherein identifying one or more security policies for components comprises:

extracting security policies from components in the cluster.

4. The method of claim 1 , wherein the plurality of components comprises a file storage system, a resource manager, a database system, an operating system, a cluster manager, a database access layer, or a security framework.

5. The method of claim 1 , wherein identifying inconsistent security policies comprises:

identifying a first security policy having a first scope limiting user access to the dataset;

identifying a second security policy having a second scope limiting user access to a portion of the dataset;

determining that the first scope is different from the second scope; and

in response to the determining, identifying the first security policy is inconsistent with the second security policy.

6. The method of claim 1 , further comprising:

identifying, for a component that is a first component or a second component, a respective plurality of subcomponents;

identifying, for each subcomponent, security policies for the subcomponent, each security policy limiting user access to the subcomponent; and

analyzing, for each component, each security policy in each subcomponent of the component to determine inconsistent security policies at the component, wherein the inconsistent security policies have differing scopes of user access to subcomponents in the component.

7. A system comprising:

one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

identifying a plurality of running software components on a cluster of two or more computers, the plurality of components comprising one or more first components managing a dataset stored in the cluster, the first components exposing data of the dataset, the plurality of components comprising one or more second components (i) managing, directly or indirectly, the first components, and (ii) exposing data of the dataset exposed by the first components;

identifying one or more security policies affecting any one of the dataset, the one or more first components, and the one or more second components;

identifying inconsistent security policies from the one or more security policies, wherein the inconsistent security policies are policies that allow different scopes of user access to the data of the dataset depending on whether the user access is (i) directly to the dataset, (ii) directly to any of the one or more first components, or (iii) directly to any of the one or more second components; and

generating a specification of one or more actions to rectify inconsistences in the inconsistent security policies; and

performing the one or more actions to rectify inconsistences in the inconsistent security policies.

8. The system of claim 7 , further comprising:

a distributed computing framework that causes certain components to access each other and certain components to access the dataset.

9. The system of claim 7 , wherein identifying inconsistent security policies comprises:

identifying a first security policy having a first scope limiting user access to the dataset;

identifying a second security policy having a second scope limiting user access to a portion of the dataset;

determining that the first scope is different from the second scope; and

in response to the determining, identifying the first security policy is inconsistent with the second security policy.

10. The system of claim 7 , the operations further comprising:

identifying, for a component that is a first component or a second component, a respective plurality of subcomponents;

identifying, for each subcomponent, security policies for the subcomponent, each security policy limiting user access to the subcomponent; and

analyzing, for each component, each security policy in each subcomponent of the component to determine inconsistent security policies at the component, wherein the inconsistent security policies have differing scopes of user access to subcomponents in the component.

11. The system of claim 7 , the operations further comprising:

receiving a security policy for a particular component from a user installing or configuring the particular component.

12. The system of claim 7 , wherein identifying one or more security policies for components comprises:

extracting security policies from components in the cluster.

13. The system of claim 7 , wherein the plurality of components comprises a file storage system, a resource manager, a database system, an operating system, a cluster manager, a database access layer, or a security framework.

14. One or more non-transitory computer-readable storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

identifying a plurality of running software components on a cluster of two or more computers, the plurality of components comprising one or more first components managing a dataset stored in the cluster, the first components exposing data of the dataset, the plurality of components comprising one or more second components (i) managing, directly or indirectly, the first components, and (ii) exposing data of the dataset exposed by the first components;

identifying one or more security policies affecting any one of the dataset, the one or more first components, and the one or more second components;

identifying inconsistent security policies from the one or more security policies, wherein the inconsistent security policies are policies that allow different scopes of user access to the data of the dataset depending on whether the user access is (i) directly to the dataset, (ii) directly to any of the one or more first components, or (iii) directly to any of the one or more second components;

generating a specification of one or more actions to rectify inconsistences in the inconsistent security policies; and

performing the one or more actions to rectify inconsistences in the inconsistent security policies.

15. The one or more storage media of claim 14 , the operations further comprising:

receiving a security policy for a particular component from a user installing or configuring the particular component.

16. The one or more storage media of claim 14 , wherein identifying one or more security policies for components comprises:

extracting security policies from components in the cluster.

17. The one or more storage media of claim 14 , wherein the plurality of components comprises a file storage system, a resource manager, a database system, an operating system, a cluster manager, a database access layer, or a security framework.

18. The one or more storage media of claim 14 , wherein identifying inconsistent security policies comprises:

identifying a first security policy having a first scope limiting user access to the dataset;

identifying a second security policy having a second scope limiting user access to a portion of the dataset;

determining that the first scope is different from the second scope; and

in response to the determining, identifying the first security policy is inconsistent with the second security policy.

19. The one or more storage media of claim 14 , the operations further comprising:

identifying, for a component that is a first component or a second component, a respective plurality of subcomponents;

identifying, for each subcomponent, security policies for the subcomponent, each security policy limiting user access to the subcomponent; and

analyzing, for each component, each security policy in each subcomponent of the component to determine inconsistent security policies at the component, wherein the inconsistent security policies have differing scopes of user access to subcomponents in the component.

Assignments (7)
RELEASE OF SECURITY INTERESTS IN PATENTS Recorded Oct 14, 2021
From: CITIBANK, N.A.
To: CLOUDERA, INC.; HORTONWORKS, INC.
Reel/Frame 057804/0355 →
SECOND LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0284 →
FIRST LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0185 →
SECURITY INTEREST Recorded Dec 22, 2020
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054832/0559 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY AT REEL/FRAME NO. 40201/0073 Recorded Dec 16, 2020
From: SILICON VALLEY BANK
To: HORTONWORKS, INC.
Reel/Frame 054789/0269 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2017
From: DOLAS, SHEETAL DINKAR; CODDING, PAUL DANIEL
To: HORTONWORKS, INC.
Reel/Frame 041192/0530 →
SECURITY INTEREST Recorded Nov 2, 2016
From: HORTONWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040201/0073 →