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

Por exemplo, a consulta a seguir recupera todos os privilégios explícitos e os IDs de autorização aos quais foram concedidos, além de outras informações, da visão administrativa PRIVILEGES:
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.AUTHORIZATIONIDS
També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, 3

Periodicamente, 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.