db2secGetAuthIDs API-Obter IDs de autenticação

Retorna um authid SQL para um usuário autenticado. Esta API é chamada durante conexões de banco de dados para ambos os métodos de autenticação de ID/senha do usuário e GSS-API.

Sintaxe da API e da estrutura de dados

     SQL_API_RC ( SQL_API_FN *db2secGetAuthIDs)
                           ( const char *userid,
                             db2int32 useridlen,
                             const char *usernamespace,
                             db2int32 usernamespacelen,
                             db2int32 usernamespacetype,
                             const char *dbname,
                             db2int32 dbnamelen,
                             void      **token,                             
                             char SystemAuthID[DB2SEC_MAX_AUTHID_LENGTH],
                             db2int32 *SystemAuthIDlen,
                             char InitialSessionAuthID[DB2SEC_MAX_AUTHID_LENGTH],
                             db2int32 *InitialSessionAuthIDlen,
                             char username[DB2SEC_MAX_USERID_LENGTH],
                             db2int32 *usernamelen,
                             db2int32 *initsessionidtype,
                             char      **errormsg,
                             db2int32 *errormsglen );

Parâmetros da API db2secGetAuthIDs

userid
Entrada. O usuário autenticado. Isso geralmente não é usado para autenticação GSS-API, a menos que um contexto confiável seja definido para permitir operações de usuário de comutação sem autenticação. Nessas situações, o nome de usuário fornecido para a solicitação do usuário do switch é transmitido neste parâmetro.
identificação do usuário
Entrada. Comprimento em bytes do valor do parâmetro userid .
espaço de nomes do usuário
Entrada. O espaço de nomes a partir do qual o ID do usuário foi obtido.
espaço do nome de usuário
Entrada. Comprimento em bytes do valor do parâmetro usernamespace .
tipo de nome de usuário
Entrada. Valor do tipo de namespace. Atualmente, o único valor do tipo de namespace suportado é DB2SEC_NAMESPACE_SAM_COMPATIBLE (corresponde a um estilo de username como domain\myname).
dbname
Entrada. O nome do banco de dados estar conectado a. A API pode ignorar isso, ou pode retornar authids diferentes quando o mesmo usuário se conecta a bancos de dados diferentes. Este parâmetro pode ser NULL.
dbnamelen
Entrada. Comprimento em bytes do valor do parâmetro dbname . Este parâmetro é configurado como 0 se dbname parâmetro for NULL.
símbolo
Entrada ou saída. Dados que o plug-in pode transmitir para a API db2secGetGroupsForUser . Para GSS-API, esta é uma alça de contexto (gss_ctx_id_t). Ordinariamente, token é um parâmetro somente de entrada e seu valor é tirado da API db2secValidatePassword . Ele também pode ser um parâmetro de saída quando a autenticação é feita no cliente e, portanto, a API db2secValidatePassword não é chamada. Em ambientes onde um contexto confiável é definido que permite operações de usuários do comutador sem autenticação, a API db2secGetAuthIDs deve ser capaz de acomodar o recebimento de um valor NULL para este parâmetro token e ser capaz de derivar um ID de autorização do sistema com base nos parâmetros de entrada userid e useridlen mencionados anteriormente.
SystemAuthID
Saída. O ID de autorização do sistema que corresponde ao ID do usuário autenticado. O tamanho é de 255 bytes, mas o gerenciador de banco de dados Db2® usa atualmente apenas até (e incluindo) 30 bytes.
SystemAuthIDlen
Saída. Comprimento em bytes do valor do parâmetro SystemAuthID .
InitialSessionAuthID
Saída. Authid usado para esta sessão de conexão. Isso geralmente é o mesmo que o parâmetro SystemAuthID mas pode ser diferente em algumas situações, por exemplo, ao emitir uma instrução SET SESSION AUTHORIZATION. O tamanho é de 255 bytes, mas o gerenciador de banco de dados Db2 usa atualmente apenas até (e incluindo) 30 bytes.
InitialSessionAuthIDlen
Saída. Comprimento em bytes do valor do parâmetro InitialSessionAuthID .
nome do usuário
Saída. Um nome de usuário correspondente ao usuário autenticado e authid. Este será usado apenas para auditoria e será logado no campo "ID do Usuário" no registro de auditoria para instrução CONNECT. Se a API fizer especificar o parâmetro username , o gerenciador de banco de dados Db2 copia-o a partir do userid.
nome de usuário
Saída. Comprimento em bytes do valor do parâmetro username .
tipo de ID de sessão inicial
Saída. Tipo authid de sessão indicando se o parâmetro InitialSessionAuthid é uma função ou um authid. A API deve retornar um dos valores a seguir (definidos em db2secPlugin.h):
  • DB2SEC_ID_TYPE_AUTHID (0)
  • DB2SEC_ID_TYPE_ROLE (1)
Atualmente, Db2 só suporta authid (DB2SEC_ID_TYPE_AUTHID).
ERRORMSG
Saída. Um ponteiro para o endereço de uma string de mensagem de erro ASCII alocada pelo plug-in que pode ser retornado neste parâmetro se a execução da API db2secGetAuthIDs não for bem-sucedida.
mensagem de erro
Saída. Um ponteiro para um inteiro que indica o comprimento em bytes da string de mensagem de erro no parâmetro errormsg .