IP Library Granted Patent US 10,055,407
Granted Patent B2
US 10,055,407 · App. 13/681,533 · Granted Aug 21, 2018

Maintaining access control lists in non-identity-preserving replicated data repositories

Inventors: John T. Kohl (Arlington, MA); Masabumi Koinuma (Lexington, MA); Margaret Marynowski (Chelmsford, MA); Huichung Wu (Billerica, MA); Mark S. Zukowsky (Beverly, MA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30G06F17/30575G06F21/604G06F21/6218G06F21/6236H04L63/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 10,055,407
App. No.
13/681,533
Granted
Aug 21, 2018
Kind
B2
Abstract

Managing access control lists (ACLs) across replicated data repositories can include selecting, from a first data processing system, a controlled object and an ACL object bound to the controlled object, wherein the first data processing system is associated with a first user identity space, and creating, using a processor, a replicated version of the controlled object within a second data processing system associated with a second user identity space, wherein the second user identity space is different from the first user identity space. Managing ACLs further includes, creating, using the processor, a replicated version of the ACL object within the second data processing system and substituting, within the replicated version of the ACL object, an identity from the first user identity space with a selected identity from the second user identity space.

Claims (49)

1. A computer hardware system for managing access control lists (ACLs) across replicated data repositories, comprising:

a hardware processor programmed to initiate executable operations comprising:

selecting, from a first data processing system, a controlled object and an ACL object bound to the controlled object, wherein the first data processing system is associated with a first user identity space;

creating a replicated version of the controlled object within a second data processing system associated with a second user identity space, wherein the second user identity space is different from the first user identity space;

creating a replicated version of the ACL object within the second data processing system; and

substituting, within the replicated version of the ACL object, an identity from the first user identity space with a selected identity from the second user identity space.

2. The system of claim 1 , wherein the identity is a user identity or a group identity of the first user identity space.

3. The system of claim 1 , wherein the selected identity is a user identity or a group identity of a user initiating the creating of the replicated version of the controlled object and the creating a replicated version of the ACL object.

4. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

responsive to creating a new ACL object within the non-preserving replica data repository, generating a create operation log;

replaying the create operation log within the preserving replica data repository creating a replicated version of the new ACL object within the preserving data repository; and

in the preserving data repository, substituting an identity within the replicated version of the new ACL object of the second user identity space with an identity of a user of the first user identity space initiating the replaying.

5. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

responsive to modifying an ACL object within the non-preserving data repository, generating a modification operation log; and

sending the modification operation log to at least one other replica data repository without replaying the modification operation log at the at least one other replica data repository.

6. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

responsive to generating an element at the preserving replica data repository, generating a create element operation log;

replaying the create element operation log within the non-preserving replica data repository creating a replicated version of the element within the non-preserving replica data repository; and

in the non-preserving replica data repository, binding the replicated version of the element to a rolemap of a parent directory in which the replicated version of the element is created.

7. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

allowing modification of a role binding in a rolemap within the non-preserving replica data repository without the non-preserving replica data repository first acquiring mastership of the rolemap; and

disallowing modification of a role binding in a rolemap within the preserving replica data repository without the preserving replica data repository first acquiring mastership of the rolemap.

8. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

allowing a modification of a policy within the non-preserving replica data repository without the non-preserving replica data repository first acquiring mastership of the policy; and

disallowing modification of a policy within the preserving replica data repository without the preserving replica data repository first acquiring mastership of the policy.

9. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

allowing a modification of a binding between a controlled object and a rolemap within the non-preserving replica data repository without the non-preserving replica data repository first acquiring mastership of the controlled object; and

disallowing a modification of a binding between a controlled object and a rolemap within the preserving replica data repository without the preserving replica data repository first acquiring mastership of the controlled object.

10. The system of claim 1 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the processor is further programmed to initiate executable operations comprising:

disallowing an unbinding of a rolemap from a first policy and a subsequent binding of the rolemap to a second policy without the non-preserving replica data repository first acquiring mastership of the rolemap, the first policy, and the second policy.

11. A computer program product for managing access control lists (ACLs) across replicated data repositories, comprising

a computer readable storage medium having program code embodied therewith, the program code executable by a processor to perform:

selecting, using the processor and from a first data processing system, a controlled object and an ACL object bound to the controlled object, wherein the first data processing system is associated with a first user identity space;

creating, using the processor, a replicated version of the controlled object within a second data processing system associated with a second user identity space, wherein the second user identity space is different from the first user identity space;

creating, using the processor, a replicated version of the ACL object within the second data processing system; and

substituting, using the processor and within the replicated version of the ACL object, an identity from the first user identity space with a selected identity from the second user identity space.

12. The computer program product of claim 11 , wherein the identity is a user identity or a group identity of the first user identity space.

13. The computer program product of claim 11 , wherein the selected identity is a user identity or a group identity of a user initiating the creating of the replicated version of the controlled object and the creating of the replicated version of the ACL object.

14. The computer program product of claim 11 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the program code is executable by the processor to perform operations comprising:

responsive to creating a new ACL object within the non-preserving replica data repository, generating a create operation log;

replaying the create operation log within the preserving replica data repository creating a replicated version of the new ACL object within the preserving data repository; and

in the preserving data repository, substituting an identity within the replicated version of the new ACL object of the second user identity space with an identity of a user of the first user identity space initiating the replaying.

15. The computer program product of claim 11 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the program code is executable by the processor to perform operations comprising:

responsive to modifying an ACL object within the non-preserving data repository, generating a modification operation log; and

sending the modification operation log to at least one other replica data repository without replaying the modification operation log at the at least one other replica data repository.

16. The computer program product of claim 11 , wherein the first data processing system comprises a preserving replica data repository and the second data processing system comprises a non-preserving replica data repository, wherein the program code is executable by the processor to perform operations comprising:

responsive to generating an element at the preserving replica data repository, generating a create element operation log;

replaying the create element operation log within the non-preserving replica data repository creating a replicated version of the element within the non-preserving replica data repository; and

in the non-preserving replica data repository, binding the replicated version of the element to a rolemap of a parent directory in which the replicated version of the element is created.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2012
From: KOHL, JOHN T.; KOINUMA, MASABUMI; MARYNOWSKI, MARGARET; WU, HUICHUNG; ZUKOWSKY, MARK S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 029326/0574 →
Continuity (2)
Continuation 13681515 · Nov 20, 2012
Related Publication 20140143208A1 · May 22, 2014