IP Library Granted Patent US 9,245,105
Granted Patent B1
US 9,245,105 · App. 13/772,943 · Granted Jan 26, 2016

Verification of remote job state for access control

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 9,245,105
App. No.
13/772,943
Granted
Jan 26, 2016
Kind
B1
Abstract

A method of controlling access to one or more data resources may include receiving, from a client device by an authentication server device, a request to access a data resource. The request may include a job identifier associated with a job. The method may include transmitting, by the authentication server device to a scheduling server device, the job identifier, receiving, by the authentication server device from the scheduling server device, job information associated with the job, determining, by the authentication server device, whether at least a portion of the job information satisfies an access policy associated with the data resource, and granting the job access to the data resource in response to the at least a portion of the job information satisfying the access policy.

Claims (56)

1. A method of controlling access to one or more data resources, the method comprising:

receiving, from a client device by an authentication server device, a request on behalf of a job to permit the job to access a data resource, wherein the request comprises a job identifier associated with the job;

transmitting, by the authentication server device to a scheduling server device that launched the job, the job identifier;

receiving, by the authentication server device from the scheduling server device, job information associated with the job, wherein the job information comprises an indication of one or more job sets to which the job belongs and a role associated with a user under whose authority the job is running, wherein the job set represents a function associated with the job, wherein the role defines one or more capabilities that the user is able to perform on the data resource;

determining, by the authentication server device, whether at least a portion of the job information satisfies an access policy associated with the data resource by determining whether the one or more received job sets match at least one of the authorized job sets specified by the access policy by determining whether the received role matches an authorized role specified by the access policy; and

granting the job access to the data resource in response to determining that the received role matches the authorized role.

2. The method of claim 1 , wherein receiving the job information associated with the job comprises receiving one or more of:

an indication of the client device on which the job is executing;

data associated with the job;

one or more command line arguments associated with the job;

one or more dependencies associated with the job;

one or more binaries associated with the job;

a software version associated with the job; or

one or more security settings associated with the client device on which the job is executing.

3. A method of controlling access to one or more data resources, the method comprising:

receiving, from a client device by an authentication server device, a request on behalf of a job to permit the job to access a data resource, wherein the request comprises a job identifier associated with the job;

transmitting, by the authentication server device to a scheduling server device that launched the job, the job identifier;

receiving, by the authentication server device from the scheduling server device, job information associated with the job, wherein the job information comprises an indication of one or more job sets to which the job belongs and a role associated with a user under whose authority the job is running, wherein the job set represents a function associated with the job, wherein the role defines one or more capabilities that the user is able to perform on the data resource;

determining, by the authentication server device, whether at least a portion of the job information satisfies an access policy associated with the data resource by determining whether the one or more received job sets match at least one of the authorized job sets specified by the access policy by determining whether the received role matches an authorized role specified by the access policy; and

denying the job access to the data resource in response to determining that the received role does not match the authorized role.

4. The method of claim 3 , wherein receiving the job information comprises receiving one or more of:

an indication of the client device on which the job is executing;

data associated with the job;

one or more command line arguments associated with the job;

one or more dependencies associated with the job;

one or more binaries associated with the job;

a software version associated with the job; or

one or more security settings associated with the client device on which the job is executing.

5. The method of claim 3 , wherein denying the job access to the data resource comprises sending a notification to the client device, wherein the notification comprises an indication that the job does not have sufficient authority to access the data resource.

6. A system for controlling access to one or more data resources, the system comprising:

a computing device; and

a computer-readable storage medium in communication with the computing device, wherein the computer-readable storage medium comprises one or more programming instructions that, when executed, cause the computing device to:

receive, from a client device, a request on behalf of a job to permit the job to access a data resource, wherein the request comprises a job identifier associated with the job,

transmit, to a scheduling server device that launched the job, the job identifier,

receive, from the scheduling server device, job information associated with the job, wherein the job information comprises an indication of one or more job sets to which the job belongs and a role associated with a user under whose authority the job is running, wherein the job set represents a function associated with the job, wherein the role defines one or more capabilities that the user is able to perform on the data resource,

determine whether at least a portion of the job information satisfies an access policy associated with the data resource by determining whether the one or more received job sets match at least one of the authorized job sets specified by the access policy by determining whether the received role matches an authorized role specified by the access policy, and

grant the job access to the data resource in response to determining that the received role matches the authorized role.

7. The system of claim 6 , wherein the one or more programming instructions that, when executed cause the computing device to receive the job information associated with the job comprise one or more programming instructions that, when executed, cause the computing device to receive one or more of:

an indication of the client device on which the job is executing;

data associated with the job;

one or more command line arguments associated with the job; or

one or more dependencies associated with the job.

8. A system for controlling access to one or more data resources, the system comprising:

a computing device; and

a computer-readable storage medium in communication with the computing device, wherein the computer-readable storage medium comprises one or more programming instructions that, when executed, cause the computing device to:

receive, from a client device, a request on behalf of a job to permit the job to access a data resource, wherein the request comprises a job identifier associated with the job,

transmit, to a scheduling server device that launched the job, the job identifier,

receive, from the scheduling server device, job information associated with the job, wherein the job information comprises an indication of one or more job sets to which the job belongs and a role associated with a user under whose authority the job is running, wherein the job set represents a function associated with the job, wherein the role defines one or more capabilities that the user is able to perform on the data resource,

determine whether at least a portion of the job information satisfies an access policy associated with the data resource by determining whether the one or more received job sets match at least one of the authorized job sets specified by the access policy by determining whether the received role matches an authorized role specified by the access policy, and

deny the job access to the data resource in response to determining that the received role does not match the authorized role.

9. The system of claim 8 , wherein the one or more programming instructions that, when executed cause the computing device to receive the job information associated with the job comprise one or more programming instructions that, when executed, cause the computing device to receive one or more of:

an indication of the client device on which the job is executing;

data associated with the job;

one or more command line arguments associated with the job; or

one or more dependencies associated with the job.

10. The system of claim 8 , wherein the one or more programming instructions that, when executed cause the computing device to deny the job access to the data resource comprise one or more programming instructions that, when executed cause the computing device to send a notification to the client device, wherein the notification comprises an indication that the job does not have sufficient authority to access the data resource.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2013
From: SHANKAR, UMESH; DURFEE, GLENN EDWARD; CONNOR, WILLIAM GARY, II; GARRISS, SCOTT THOMAS
To: GOOGLE INC.
Reel/Frame 029851/0021 →