@Extensible @DirectoryServerExtension @ThreadSafety(level=INTERFACE_THREADSAFE) public abstract class DataSecurityAuditor extends java.lang.Object implements UnboundIDExtension, Configurable, ExampleUsageProvider
dsconfig create-data-security-auditor \ --auditor-name "{auditor-name}" \ --type third-party \ --set enabled:true \ --set "extension-class:{class-name}" \ --set "extension-argument:{name=value}"where "{auditor-name}" is the name to use for the data security auditor instance, "{class-name}" is the fully-qualified name of the Java class that extends
com.unboundid.directory.sdk.ds.api.DataSecurityAuditor
,
and "{name=value}" represents name-value pairs for any arguments to
provide to the data security auditor. If multiple arguments should be
provided to the data security auditor, then the
"--set extension-argument:{name=value}
" option should be
provided multiple times.Constructor and Description |
---|
DataSecurityAuditor()
Creates a new instance of this data security auditor.
|
Modifier and Type | Method and Description |
---|---|
void |
defineConfigArguments(ArgumentParser parser)
Updates the provided argument parser to define any configuration arguments
which may be used by this extension.
|
abstract void |
examineEntry(Entry entry,
PasswordPolicyStateJSON passwordPolicyState,
DataSecurityAuditorEntryReporter reporter)
Examines the provided entry to determine whether any data security issues
should be reported.
|
void |
finalizeDataSecurityAuditor()
Performs any cleanup that may be necessary when this data security auditor
ends processing in a backend.
|
java.util.Map<java.util.List<java.lang.String>,java.lang.String> |
getExamplesArgumentSets()
Retrieves a map containing examples of configurations that may be used for
this extension.
|
abstract java.lang.String[] |
getExtensionDescription()
Retrieves a human-readable description for this extension.
|
abstract java.lang.String |
getExtensionName()
Retrieves a human-readable name for this extension.
|
void |
initializeDataSecurityAuditorForBackend(DirectoryServerContext serverContext,
DataSecurityAuditorConfig config,
ArgumentParser parser,
java.lang.String backendID)
Initializes this data security auditor before beginning processing in the
specified backend.
|
abstract void |
reportSummary(DataSecurityAuditorSummaryReporter reporter)
Reports a summary of the results obtained from processing this data
security auditor in the associated backend.
|
public DataSecurityAuditor()
initializeDataSecurityAuditor
method.@NotNull public abstract java.lang.String getExtensionName()
getExtensionName
in interface UnboundIDExtension
@Nullable public abstract java.lang.String[] getExtensionDescription()
getExtensionDescription
in interface UnboundIDExtension
null
or an empty array if no description should be available.public void defineConfigArguments(@NotNull ArgumentParser parser) throws ArgumentException
defineConfigArguments
in interface Configurable
parser
- The argument parser to be updated with the configuration
arguments which may be used by this extension.ArgumentException
- If a problem is encountered while updating the
provided argument parser.public void initializeDataSecurityAuditorForBackend(@NotNull DirectoryServerContext serverContext, @NotNull DataSecurityAuditorConfig config, @NotNull ArgumentParser parser, @NotNull java.lang.String backendID) throws LDAPException
serverContext
- A handle to the server context for the server in
which this extension is running.config
- The general configuration for this data security
auditor.parser
- The argument parser which has been initialized from
the configuration for this data security auditor.backendID
- The backend ID for the backend in which processing
will be performed.LDAPException
- If a problem occurs while initializing this data
security auditor.public void finalizeDataSecurityAuditor()
public abstract void examineEntry(@NotNull Entry entry, @NotNull PasswordPolicyStateJSON passwordPolicyState, @NotNull DataSecurityAuditorEntryReporter reporter) throws java.io.IOException
entry
- The entry to examine.passwordPolicyState
- The password policy state for the account
with which the provided entry is associated.reporter
- A reporter whose reportEntry
method
may be used to indicate that the provided
entry has one or more identified issues.java.io.IOException
- If a problem is encountered while the reporter is
attempting to add an entry to the report file.public abstract void reportSummary(@NotNull DataSecurityAuditorSummaryReporter reporter) throws java.io.IOException
reporter
- The reporter that may be used to provide the summary of
processing performed by this data security auditor in the
associated backend.java.io.IOException
- If a problem is encountered while the reporter is
attempting to add an entry to the report file.@Nullable public java.util.Map<java.util.List<java.lang.String>,java.lang.String> getExamplesArgumentSets()
getExamplesArgumentSets
in interface ExampleUsageProvider
null
or empty if there should
not be any example argument sets.