Class MysqlDbAclGuiHelper
java.lang.Object
com.illumon.iris.db.v2.permissions.MysqlDbAclProvider
com.illumon.iris.db.v2.permissions.MysqlDbAclGuiHelper
- All Implemented Interfaces:
com.illumon.iris.auth.AuthModule
,DbAclGuiHelper
,DbAclProvider
,DbAclWriter
,Closeable
,AutoCloseable
-
Nested Class Summary
Nested classes/interfaces inherited from class com.illumon.iris.db.v2.permissions.MysqlDbAclProvider
MysqlDbAclProvider.NamedPreparedStatement, MysqlDbAclProvider.SQLFunction<R>, MysqlDbAclProvider.SQLProcedure
-
Field Summary
Fields inherited from class com.illumon.iris.db.v2.permissions.MysqlDbAclProvider
mysqlConnection, PASSWORD_ENV
-
Method Summary
Modifier and TypeMethodDescriptionRetrieves aTable
of all column ACLs, sorted by Groupname, Namespace, Tablename, Columns, and FiltergetExternalAuthOnlyUsers
(String[] invalidHashes) Retrieves aTable
with one column, listing users whose passwords indicate external authentication.Retrieves aTable
of all groups and associated strategies, sorted by Groupname and StrategygetPublicKeyTable
(String user) Retrieves aTable
of users, base64-encoded public keys, and the comment associated with the key when added.Retrieves aTable
of all strategies and associated accounts, sorted by Strategy and AccountRetrieves aTable
of all users and matching systemuser mappings, sorted by usergetSystemUserAclTable
(String userGroup) Retrieves aTable
of users and matching systemuser mappings for members of the specified group, sorted by userRetrieves aTable
of all table ACLs, sorted by Groupname, Namespace, Tablename, and FilterRetrieves aTable
of all input table editor permissions, sorted by Groupname, Namespace, and TablenameRetrieves aTable
of all users and their groups, sorted by User and GroupnameretrieveOneAcl
(String group, String namespace, String tableName) Retrieves a single table ACL filter.retrieveOneColumnAcl
(String group, String namespace, String tableName, String columns) Retrieves a single column ACL filter Wildcards are not considered, so only highest priority (specific namespace and tableName) ACLs are returned, and, if there is no specifically assigned ACL, null is returned.retrieveOneEditable
(String group, String namespace, String tableName) Retrieves a single input table editor permission Wildcards are not considered, so only highest priority (specific namespace and tableName) ACLs are returned, and, if there is no specifically assigned ACL, null is returned.Methods inherited from class com.illumon.iris.db.v2.permissions.MysqlDbAclProvider
addAcl, addColumnAcl, addGroupStrategy, addInputTableEditor, addMembership, addOrUpdateSystemUserAcl, addPublicKeyForUser, addStrategyAccount, addUser, canAnyoneEditInputTable, canEditInputTable, changePassword, close, deleteAcls, deleteAllAclData, deleteColumnAcls, deleteGroup, deleteGroupStrategy, deleteInputTableEditor, deletePublicKeyForUser, deleteStrategyAccount, deleteSystemUserAcl, deleteUser, getAccountsForGroup, getAccountsForStrategy, getAccountsForUser, getAllAccounts, getAllGroups, getAllStrategies, getAllUsers, getEncodedPassword, getFilterDetailsForUser, getGroupsForUser, getPasswdsForMigration, getPublicKeys, getPublicKeys, getRunAsUser, getRunAsUserMap, getStrategiesForGroup, getStrategiesForUser, getStrategyForAccount, getSystemUsers, getUserByPublicKey, getUsersForGroup, groupStrategyExists, isUserPassValid, removeMembership, retrieveColumnAcls, retrieveRowAcls, runFunctionWithSqlRetry, runProcedureWithSqlRetry, updateAcl, updateColumnAcl, updateInputTableEditor, userExists
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.auth.AuthModule
getNameFromExternal
Methods inherited from interface com.illumon.iris.db.v2.permissions.DbAclProvider
canAnyoneEditInputTable, canEditInputTable, changePassword, close, getAccountsForGroup, getAccountsForStrategy, getAccountsForUser, getAllAccounts, getAllGroups, getAllStrategies, getAllUsers, getFilterDetailsForUser, getGroupsForUser, getPasswdsForMigration, getPublicKeys, getPublicKeys, getRunAsUser, getRunAsUserMap, getStrategiesForGroup, getStrategiesForUser, getStrategyForAccount, getSystemUsers, getUsersForGroup, groupStrategyExists, retrieveColumnAcls, retrieveRowAcls
-
Method Details
-
getUsersAndGroupsTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all users and their groups, sorted by User and Groupname- Specified by:
getUsersAndGroupsTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
all users and their groups
-
getExternalAuthOnlyUsers
Description copied from interface:DbAclGuiHelper
Retrieves aTable
with one column, listing users whose passwords indicate external authentication.- Specified by:
getExternalAuthOnlyUsers
in interfaceDbAclGuiHelper
- Parameters:
invalidHashes
- A List of password hashes that are valid only for external authentication.- Returns:
- A
Table
of users that are configured for external password authentication
-
getGroupStrategyTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all groups and associated strategies, sorted by Groupname and Strategy- Specified by:
getGroupStrategyTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
of all groups and associated strategies
-
getStrategyAccountTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all strategies and associated accounts, sorted by Strategy and Account- Specified by:
getStrategyAccountTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
of all strategies and associated accounts
-
getTableAclTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all table ACLs, sorted by Groupname, Namespace, Tablename, and Filter- Specified by:
getTableAclTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
of all table ACLs
-
getColumnAclTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all column ACLs, sorted by Groupname, Namespace, Tablename, Columns, and Filter- Specified by:
getColumnAclTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
of all column ACLs
-
getSystemUserAclTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all users and matching systemuser mappings, sorted by user- Specified by:
getSystemUserAclTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
all users and matching systemuser mappings
-
getSystemUserAclTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of users and matching systemuser mappings for members of the specified group, sorted by user- Specified by:
getSystemUserAclTable
in interfaceDbAclGuiHelper
- Parameters:
userGroup
- The group name for which to filter users and systemuser mappings by membership- Returns:
- A
Table
users and matching systemuser mappings for members of the specified group
-
getTableEditorTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of all input table editor permissions, sorted by Groupname, Namespace, and Tablename- Specified by:
getTableEditorTable
in interfaceDbAclGuiHelper
- Returns:
- A
Table
all input table editor permissions
-
getPublicKeyTable
Description copied from interface:DbAclGuiHelper
Retrieves aTable
of users, base64-encoded public keys, and the comment associated with the key when added.- Specified by:
getPublicKeyTable
in interfaceDbAclGuiHelper
- Parameters:
user
- The user for which to filter public keys. If null, all will be retrieved.- Returns:
- A
Table
with 'user', 'keyval', 'comment' columns.
-
retrieveOneAcl
Description copied from interface:DbAclGuiHelper
Retrieves a single table ACL filter. Wildcards are not considered, so only highest priority (specific namespace and tableName) ACLs are returned, and, if there is no specifically assigned ACL, null is returned.- Specified by:
retrieveOneAcl
in interfaceDbAclGuiHelper
- Parameters:
group
- The specific groupname to matchnamespace
- The specific namespace to matchtableName
- The specific tablename to match- Returns:
- A String table ACL filter or null if no match
- Throws:
SQLException
- In the case of SQL implementations of this interface if something goes wrong
-
retrieveOneColumnAcl
public String retrieveOneColumnAcl(String group, String namespace, String tableName, String columns) throws SQLException Description copied from interface:DbAclGuiHelper
Retrieves a single column ACL filter Wildcards are not considered, so only highest priority (specific namespace and tableName) ACLs are returned, and, if there is no specifically assigned ACL, null is returned.- Specified by:
retrieveOneColumnAcl
in interfaceDbAclGuiHelper
- Parameters:
group
- The specific groupname to matchnamespace
- The specific namespace to matchtableName
- The specific tablename to matchcolumns
- The specific columns string to match- Returns:
- A String column ACL filter or null if no match
- Throws:
SQLException
- In the case of SQL implementations of this interface if something goes wrong
-
retrieveOneEditable
public Boolean retrieveOneEditable(String group, String namespace, String tableName) throws SQLException Description copied from interface:DbAclGuiHelper
Retrieves a single input table editor permission Wildcards are not considered, so only highest priority (specific namespace and tableName) ACLs are returned, and, if there is no specifically assigned ACL, null is returned.- Specified by:
retrieveOneEditable
in interfaceDbAclGuiHelper
- Parameters:
group
- The specific groupname to matchnamespace
- The specific namespace to matchtableName
- The specific tablename to match- Returns:
- A Boolean input table editor permission, which is null if there is no match
- Throws:
SQLException
- In the case of SQL implementations of this interface if something goes wrong
-