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)
- 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 .