Recuperando nomes de autorização com privilégios concedidos
Você pode utilizar os PRIVILÉGIOS e outras visões administrativas para recuperar informações sobre os nomes de autorização que foram concedidos privilégios em um banco de dados.
Sobre essa Tarefa
SELECT AUTHID, PRIVILEGE, OBJECTNAME, OBJECTSCHEMA, OBJECTTYPE
FROM SYSIBMADM.PRIVILEGES A consulta a seguir utiliza a visão administrativa do AUTORIZIZATIONIDS para encontrar todos os IDs de autorização que foram concedidos privilégios ou autoridades, e para mostrar seus tipos:
SELECT AUTHID, AUTHIDTYPE FROM SYSIBMADM.AUTHORIZATIONIDSTambém é possível usar o SYSIBMADM.OBJECTOWNERS e o SYSPROC SYSPROC.AUTH_LIST_GROUPS_FOR_AUTHID para localizar informações relacionadas à segurança.Antes da Versão 9.1, nenhuma visualização de catálogo do sistema único continha informações sobre todos os privilégio. Para liberações anteriores à versão 9.1, a instrução a seguir recupera todos os nomes de autorização com os privilégios:
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTH
UNION
SELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTH
ORDER BY GRANTEE, GRANTEETYPE, 3Periodicamente, a lista recuperada por esta declaração deve ser comparada com listas de nomes de usuário e grupo definidos na instalação de segurança do sistema. Em seguida, é possível identificar aqueles nomes de autorização que não são mais válidos.
Nota: Se você estiver suportando clientes de banco de dados remoto, é possível que o nome de autorização seja definido no cliente remoto apenas e não em sua máquina do servidor de banco de dados.