IP Library Granted Patent US 10,404,702
Granted Patent B1
US 10,404,702 · App. 15/085,937 · Granted Sep 3, 2019

System and method for tenant network identity-based authentication and authorization for administrative access in a protection storage system

Inventors: Subhasish Chakraborty (Livermore, CA); Uday Jonnala (Cupertino, CA); Hongyu Zhang (San Jose, CA)
Assignee: EMC IP Holding Company LLC
H04L63/10H04L61/2007H04L63/08H04L67/1097H04L61/6068
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,404,702
App. No.
15/085,937
Filed
Mar 30, 2016
Granted
Sep 3, 2019
Kind
B1
Examiner
LE, THANH T
Art Unit
2495
USPC
726/4
Abstract

In one embodiment, a request is received from a remote device of a user for configuring a tenant-unit of a storage system via a secure connection session. A secure multi-tenancy (SMT) module determines a first network identity associated with the secure connection session. The SMT module examines an SMT registry namespace associated with the tenant-unit of the tenant to determine a second network identity that has been assigned to the tenant-unit. The first network identity is compared with the second network identity. The request is allowed to configure the tenant-unit in response to determining that the first and second network identities match; otherwise, the request is denied.

Claims (95)

1. A computer-implemented method for configuring a multi-tenancy storage system, the method comprising:

in response to a request received from a remote device of a user for configuring a tenant-unit of a storage system via a user's secure connection session, determining whether the tenant-unit requires a tenant admin role for access,

if the tenant admin role is not required, then the request is allowed;

if the tenant admin role is required,

determining a first network identity associated with the user's secure connection session wherein the first network identity is of the user's remote device used to establish the secure connection session;

examining a secure multi-tenancy (SMT) registry namespace to determine a second network identity that has been assigned to the tenant-unit;

comparing the first network identity with the second network identity to authenticate the user;

allowing the request to configure the tenant-unit in response to determining that the first network identity matches the second network identity; and

denying the request to configure the tenant-unit if the first and second network identities do not match.

2. The method of claim 1 , further comprising:

determining a first local network address associated with the first network identity;

retrieving a second local network address associated with the second network identity from a registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first local network address matches the second local network address, wherein the request to configure the tenant-unit is allowed if the first and second local network addresses match.

3. The method of claim 2 , wherein the first local network address comprises a destination Internet protocol (IP) address associated with the user's secure connection session with respect to the remote device.

4. The method of claim 2 , further comprising:

determining a first remote network address associated with the first network identity;

retrieving a second remote network address associated with the second network identity from the registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first remote network address matches the second remote network address, wherein the request to configure the tenant-unit is allowed if the first and second remote network addresses match.

5. The method of claim 4 , wherein the first remote network address comprises a source IP address associated with the user's secure connection session with respect to the remote device.

6. The method of claim 1 , further comprising:

examining an SMT flag to determine whether the SMT flag has been set to a predetermined value; and

allowing the request without examining the SMT registry namespace and comparing the first and second network identities, in response to determining that the SMT flag has been set to the predetermined value.

7. The method of claim 1 , further comprising:

identifying a list of one or more tenant-units associated with the user based on a username or a user identifier (ID) of the user; and

for each of the identified tenant-units in the list, iteratively performing examining an SMT registry namespace and comparing the first and second network identities to derive a list of tenant-units that the user is authorized to access.

8. The method of claim 1 , wherein determining a first network identity associated with the user's secure connection session comprises:

receiving a request to fork and execute a new process to service a network connection;

obtaining a source IP address and a destination IP address associated with the network connection;

determining whether the network connection is a secure shell (SSH) connection;

in response to determining that the network connection is an SSH connection, copying the source IP address and the destination IP address into a process data-structure of the new process; and

launching the new process with the process data-structure to perform examining an SMT registry namespace and comparing the first and second network identities, wherein the source and destination IP addresses are part of the first network identity.

9. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations of configuring tenants of a multi-tenant storage system, the operations comprising:

in response to a request received from a remote device of a user for configuring a tenant-unit of a storage system via a user's secure connection session, determining whether the tenant-unit requires a tenant admin role for access,

if the tenant admin role is not required, then the request is allowed;

if the tenant admin role is required,

determining a first network identity associated with the user's secure connection session wherein the first network identity is of the user's remote device used to establish the secure connection session;

examining a secure multi-tenancy (SMT) registry namespace to determine a second network identity that has been assigned to the tenant-unit;

comparing the first network identity with the second network identity to authenticate the user;

allowing the request to configure the tenant-unit in response to determining that the first network identity matches the second network identity; and

denying the request to configure the tenant-unit if the first and second network identities do not match.

10. The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise:

determining a first local network address associated with the first network identity;

retrieving a second local network address associated with the second network identity from a registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first local network address matches the second local network address, wherein the request to configure the tenant-unit is allowed if the first and second local network addresses match.

11. The non-transitory machine-readable medium of claim 10 , wherein the first local network address comprises a destination Internet protocol (IP) address associated with the user's secure connection session with respect to the remote device.

12. The non-transitory machine-readable medium of claim 10 , wherein the operations further comprise:

determining a first remote network address associated with the first network identity;

retrieving a second remote network address associated with the second network identity from the registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first remote network address matches the second remote network address, wherein the request to configure the tenant-unit is allowed if the first and second remote network addresses match.

13. The non-transitory machine-readable medium of claim 12 , wherein the first remote network address comprises a source IP address associated with the user's secure connection session with respect to the remote device.

14. The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise:

examining an SMT flag to determine whether the SMT flag has been set to a predetermined value; and

allowing the request without examining the SMT registry namespace and comparing the first and second network identities, in response to determining that the SMT flag has been set to the predetermined value.

15. The non-transitory machine-readable medium of claim 9 , wherein the operations further comprise:

identifying a list of one or more tenant-units associated with the user based on a username or a user identifier (ID) of the user; and

for each of the identified tenant-units in the list, iteratively performing examining an SMT registry namespace and comparing the first and second network identities to derive a list of tenant-units that the user is authorized to access.

16. The non-transitory machine-readable medium of claim 9 , wherein determining a first network identity associated with the user's secure connection session comprises:

receiving a request to fork and execute a new process to service a network connection;

obtaining a source IP address and a destination IP address associated with the network connection;

determining whether the network connection is a secure shell (SSH) connection;

in response to determining that the network connection is an SSH connection, copying the source IP address and the destination IP address into a process data-structure of the new process; and

launching the new process with the process data-structure to perform examining an SMT registry namespace and comparing the first and second network identities, wherein the source and destination IP addresses are part of the first network identity.

17. A storage system, comprising:

a processor; and

a secure multi-tenant (SMT) module executed by the processor to perform operations, the operations including

in response to a request received from a remote device of a user for configuring a tenant-unit of the storage system via a user's secure connection session, determining whether the tenant-unit requires a tenant admin role for access,

if the tenant admin role is not required, then the request is allowed;

if the tenant admin role is required,

determining a first network identity associated with the user's secure connection session wherein the first network identity is of the user's remote device used to establish the secure connection session,

examining a secure multi-tenancy (SMT) registry namespace to determine a second network identity that has been assigned to the tenant-unit,

comparing the first network identity with the second network identity to authenticate the user,

allowing the request to configure the tenant-unit in response to determining that the first network identity matches the second network identity, and

denying the request to configure the tenant-unit if the first and second network identities do not match.

18. The system of claim 17 , wherein the operations further comprise:

determining a first local network address associated with the first network identity;

retrieving a second local network address associated with the second network identity from a registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first local network address matches the second local network address, wherein the request to configure the tenant-unit is allowed if the first and second local network addresses match.

19. The system of claim 18 , wherein the first local network address comprises a destination Internet protocol (IP) address associated with the user's secure connection session with respect to the remote device.

20. The system of claim 18 , wherein the operations further comprise:

determining a first remote network address associated with the first network identity;

retrieving a second remote network address associated with the second network identity from the registry entry of the SMT registry namespace corresponding to the tenant-unit; and

determining whether the first remote network address matches the second remote network address, wherein the request to configure the tenant-unit is allowed if the first and second remote network addresses match.

21. The system of claim 20 , wherein the first remote network address comprises a source IP address associated with the user's secure connection session with respect to the remote device.

22. The system of claim 17 , wherein the operations further comprise:

examining an SMT flag to determine whether the SMT flag has been set to a predetermined value; and

allowing the request without examining the SMT registry namespace and comparing the first and second network identities, in response to determining that the SMT flag has been set to the predetermined value.

23. The system of claim 17 , wherein the operations further comprise:

identifying a list of one or more tenant-units associated with the user based on a username or a user identifier (ID) of the user; and

for each of the identified tenant-units in the list, iteratively performing examining an SMT registry namespace and comparing the first and second network identities to derive a list of tenant-units that the user is authorized to access.

24. The system of claim 17 , wherein determining a first network identity associated with the user's secure connection session comprises:

receiving a request to fork and execute a new process to service a network connection;

obtaining a source IP address and a destination IP address associated with the network connection;

determining whether the network connection is a secure shell (SSH) connection;

in response to determining that the network connection is an SSH connection, copying the source IP address and the destination IP address into a process data-structure of the new process; and

launching the new process with the process data-structure to perform examining an SMT registry namespace and comparing the first and second network identities, wherein the source and destination IP addresses are part of the first network identity.

Assignments (14)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2016
From: CHAKRABORTY, SUBHASISH; JONNALA, UDAY; ZHANG, HONGYU
To: EMC CORPORATION
Reel/Frame 038377/0138 →
Cited By (5)
US 12,267,317 US 12,348,584 US 12,355,740 US 12,574,439 US 12,625,693