SecurityManager

DIRAC FileCatalog Security Manager mix-in class

class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.DirectorySecurityManager(database=None)

Bases: DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.SecurityManagerBase

__init__(database=None)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)
class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.DirectorySecurityManagerWithDelete(database=None)

Bases: DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.DirectorySecurityManager

This security manager implements a Delete operation. For Read, Write, Execute, it’s behavior is the one of DirectorySecurityManager. For Delete, if the directory does not exist, we return True. If the directory exists, then we test the Write permission

__init__(database=None)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)
class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.FullSecurityManager(database=None)

Bases: DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.SecurityManagerBase

__init__(database=None)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)
class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.NoSecurityManager(database=None)

Bases: DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.SecurityManagerBase

__init__(database=None)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)
class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.PolicyBasedSecurityManager(database=False)

Bases: DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.SecurityManagerBase

This security manager loads a python plugin and forwards the calls to it. The python plugin has to be defined in the CS under /Systems/DataManagement/YourSetup/FileCatalog/SecurityPolicy

__init__(database=False)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)
class DIRAC.DataManagementSystem.DB.FileCatalogComponents.SecurityManager.SecurityManagerBase(database=None)

Bases: object

__init__(database=None)

x.__init__(…) initializes x; see help(type(x)) for signature

getPathPermissions(paths, credDict)

Get path permissions according to the policy

hasAccess(opType, paths, credDict)
hasAdminAccess(credDict)
setDatabase(database)