As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Autorização
No processo de autorização, o gerente do banco de dados obtém informações sobre o ID de autorização do usuário autenticado. O ID de autorização indica quais operações de banco de dados o usuário pode realizar, incluindo quais objetos de banco de dados o usuário pode acessar. As permissões, que são declaradas explicitamente no Db2, permitem que os usuários realizem ações específicas.
Para uma ID de autorização, as permissões podem ser concedidas em vários níveis:
-
Primário — As permissões primárias são concedidas diretamente ao ID de autorização.
-
Secundário — Permissões secundárias são concedidas aos grupos e funções dos quais o ID de autorização é membro.
-
Público — O nível público é um grupo especial do Db2 que representa todos na organização.
-
Sensível ao contexto — Essas permissões são concedidas a uma função de contexto confiável.
Níveis de autoridade do Db2
O Db2 gerencia autoridades nos seguintes níveis:
-
Nível da instância ou sistema:
SYSADM
,SYSCTRL
,SYSMAINT
,SYSMON
-
Nível do banco de dados:
DBADM
SQLADM
((EXPLAIN
WLMADM
),),SECADM
(ACCESSCTRL
),DATAACCESS
-
Nível do esquema:
SCHEMAADM
(LOAD
)ACCESSCTRL
,DATAACCES
S -
Privilégios adicionais em nível de esquema
-
-

O Db2 oferece suporte aos seguintes privilégios adicionais em nível de esquema:
-
SELECTIN
permite que o usuário recupere linhas de todas as tabelas ou visualizações definidas no esquema. -
INSERTIN
permite que o usuário insira linhas e execute oIMPORT
utilitário em todas as tabelas ou visualizações definidas no esquema. -
UPDATEIN
permite que o usuário execute aUpdate
instrução em todas as tabelas ou visualizações atualizáveis definidas no esquema. -
DELETEIN
permite que o usuário exclua linhas de todas as tabelas ou visualizações atualizáveis definidas no esquema. -
EXECUTEIN
permite que o usuário execute todas as funções, métodos, procedimentos, pacotes ou módulos definidos no esquema. -
CREATEIN
permite que o usuário crie objetos dentro do esquema. -
ALTERIN
permite que o usuário altere objetos dentro do esquema. -
DROPIN
permite que o usuário solte objetos de dentro do esquema.
ID de autorização
Um ID de autorização do Db2 consiste no seguinte:
-
Tipo de ID de autorização
-
Usuário individual (
U
) -
Grupo (
G
) -
Função (
R
) -
Público (
P
)
-
-
Valor da ID de autorização
Uma ID de autorização, à qual as autoridades e os privilégios podem ser associados, é usada para identificação junto com a verificação da autorização do Db2.
A seguir estão os termos de ID de autorização primária comumente usados no Db2:
-
ID de autorização do sistema — A ID de autorização usada para fazer qualquer verificação de autorização inicial, como verificar o
CONNECT
privilégio durante oCONNECT
processamento. -
ID de autorização de sessão — A ID de autorização usada para qualquer verificação de autorização de sessão posterior às verificações iniciais realizadas durante o
CONNECT
processamento. Para ver o valor atual do ID de autorização da sessão, use o registroSESSION_USER
especial. -
ID de autorização da declaração — A ID de autorização (junto com a autorização secundária associada IDs para grupos ou funções) usada para os requisitos de autorização de uma instrução SQL. Isso também é usado para determinar a propriedade do objeto, conforme aplicável. Ela pode variar dependendo do tipo de instrução SQL e do contexto em que ela é emitida.
Autoridades e privilégios são adquiridos por meio de mecanismos explícitos, como REVOKE
declarações GRANT
e declarações, ou mecanismos implícitos, como o privilégio obtido por meio da propriedade de objetos. Eles também podem ser adquiridos temporariamente por meio de vários contextos de processamento. Por exemplo, você recebeu acesso a uma visualização, o que implicitamente lhe dá acesso aos objetos nessa definição de visualização. Além disso, um EXECUTE
privilégio em um pacote lhe dará acesso a qualquer SQL estático nesse pacote. A outra forma de obter autoridade e privilégios temporários é usando contexto confiável.
Contexto confiável
Um contexto confiável é um objeto de banco de dados que define uma relação de confiança entre o banco de dados e um servidor de aplicativos externo ou outro servidor de banco de dados. A relação de confiança é baseada nos seguintes atributos de confiança:
-
Endereço IP
-
ID de autorização do sistema
-
Nível de criptografia para comunicação de dados
Se uma conexão corresponder aos atributos de confiança em um objeto de contexto confiável definido, uma conexão confiável será estabelecida. Há dois tipos de conexão confiável:
-
Conexão confiável implícita — Uma conexão confiável implícita permite que um usuário herde uma função que não está disponível para ele fora do escopo dessa definição de conexão confiável. O ID de autorização da sessão da conexão recebe uma associação temporária a uma função declarada na definição de contexto confiável.
O diagrama a seguir mostra um exemplo de uma conexão confiável implícita na qual a conexão de apenas um endereço IP é permitida.
-
A função
dbconnrole
é criada e a conexão com o banco de dados é concedida. O contexto confiávelctximpl
é criado com base na conexão usadaauthid
ABC
com o endereço IP10.10.10.1
e a função padrãodbconnrole
. -
O usuário
ABC
pode se conectar ao banco de dados a partir do endereço IP10.10.10.1
. -
O usuário não
ABC
consegue se conectar a partir do endereço IP10.10.10.2
.
-
-
Conexão confiável explícita — Uma conexão confiável explícita permite que um servidor de aplicativos confiável ou outro servidor de banco de dados Db2 alterne a ID do usuário atual na conexão existente de maneira eficiente. Um servidor de aplicativos estabelece a conexão original com uma solicitação explícita de confiança. Depois que a confiança é estabelecida, o servidor do aplicativo pode emitir solicitações ao servidor do banco de dados para alterar o ID de autorização da sessão para qualquer nova unidade de trabalho. O ID usado para realizar a solicitação de conexão inicial precisa apenas de
CONNECT
privilégios no servidor.Conexões confiáveis explícitas são úteis quando você tem um servidor de camada intermediária que precisa emitir solicitações de banco de dados em nome de vários usuários com diferentes conjuntos de padrões de acesso em vários objetos de banco de dados, como tabelas. O objeto de contexto confiável criado no servidor de banco de dados permite que o servidor de camada intermediária estabeleça uma conexão explícita confiável com o banco de dados e, em seguida, alterne a ID de usuário atual da conexão para a ID de usuário correspondente sem a necessidade de se autenticar novamente no servidor de banco de dados. Com base nos privilégios concedidos nos objetos do banco de dados para o ID de autorização do usuário, o usuário pode continuar executando operações, mantendo a identidade real do usuário que executa qualquer tarefa específica.
O diagrama a seguir mostra um exemplo de uma conexão confiável explícita na qual
USER1
,USER2
, eUSER3
todos se conectam por meio doauthid
APPID
.-
O contexto confiável
ctxexpl
é criado com base na conexão usandoauthid
APPID
o endereço10.10.10.1
IP dos usuáriosUSER1
USER2
,USER3
e. -
Os usuários se conectam a um servidor de nível intermediário.
-
A conexão confiável é estabelecida usando
APPID
.
-