Configurar Autenticação de Proxy do IAM
A autenticação de proxy permite que um usuário do IAM faça proxy em um esquema para tarefas como manutenção de aplicativos.
Sobre a Configuração da Autenticação do Proxy do IAM
Os usuários do IAM podem se conectar ao Oracle DBaaS usando autenticação de proxy.
A autenticação de proxy geralmente é usada para autenticar o usuário real e, em seguida, autorizá-lo a usar um esquema com os privilégios e atribuições do esquema para gerenciar um aplicativo. Alternativas como o compartilhamento da senha do esquema do aplicativo são consideradas perigosas e não podem verificar qual usuário real executou uma ação.
Um caso de uso pode estar em um ambiente no qual um usuário do IAM designado que é um administrador de banco de dados de aplicativo pode se autenticar usando suas credenciais e, em seguida, fazer proxy para um usuário de esquema (por exemplo, hrapp). Essa autenticação permite que o administrador do IAM use os privilégios e atribuições hrapp como usuário hrapp para executar a manutenção do aplicativo e ainda use suas credenciais do IAM para autenticação. Um administrador de banco de dados de aplicativo pode acessar o banco de dados e, em seguida, fazer proxy em um esquema de aplicativo para gerenciar esse esquema.
Você pode configurar a autenticação de proxy para os métodos de autenticação de senha e de token.
Configurar Autenticação de Proxy para o Usuário do IAM
Para configurar a autenticação de proxy para um usuário do IAM, o usuário do IAM já deve ter um mapeamento para um esquema global (mapeamento exclusivo ou compartilhado). Um esquema separado para o usuário do IAM para proxy também deve estar disponível.
Depois de garantir que você tenha esse tipo de usuário, altere o usuário do banco de dados para permitir que o usuário do IAM faça proxy dele.
-
Faça log-in na instância do Autonomous AI Database como um usuário que tenha os privilégios de sistema
ALTER USER. -
Conceda permissão para que o usuário do IAM faça proxy para a conta de usuário do banco de dados local.
Um usuário do IAM não pode ser referenciado no comando; por isso, o proxy deve ser criado entre o usuário global do banco de dados (mapeado para o usuário do IAM) e o usuário do banco de dados de destino.
No exemplo a seguir,
hrappé o esquema do banco de dados para proxy epeterfitch_schemaé o usuário global do banco de dados exclusivamente mapeado para usuáriopeterfitch.ALTER USER hrapp GRANT CONNECT THROUGH peterfitch_schema;
Nesse estágio, o usuário do IAM pode fazer log-in na instância do banco de dados usando o proxy. Por exemplo, para estabelecer conexão usando um verificador de senha:
CONNECT peterfitch[hrapp]@connect_string
Enter password: passwordPara estabelecer conexão usando um token:
CONNECT [hrapp]/@connect_stringValidar a Autenticação do Proxy do Usuário do IAM
Você pode validar a configuração de proxy do usuário do IAM para métodos de autenticação de senha e token.
-
Faça log-in na instância do Autonomous AI Database como usuário que tenha os privilégios do sistema
CREATE USEReALTER USER. -
Conecte-se como usuário do IAM e execute os comandos
SHOW USEReSELECT SYS_CONTEXT.Por exemplo, suponha que você queira verificar a autenticação de proxy do usuário do IAM
peterfitchquando ele fizer proxy para o usuário do banco de dadoshrapp. Execute as consultas a seguir depois de fazer proxy para o banco de dados usando um usuário do IAM. Dependendo de como você autentica e acessa o banco de dados, você obterá valores diferentes para essas consultas.-
Para autenticação de senha, supondo que o usuário do IAM esteja no domínio padrão:
CONNECT peterfitch[hrapp]/password!@connect_string SHOW USER; --The output should be USER is "HRAPP" SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL; --The output should be "PASSWORD_GLOBAL_PROXY" SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL; --The output should be "PETERFITCH_SCHEMA" SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL; --The output should be "HRAPP" -
Para autenticação de token, para um usuário que esteja em um domínio não padrão,
sales_domain:CONNECT [hrapp]/@connect_string SHOW USER; --The output should be USER is "HRAPP" SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL; --The output should be "TOKEN_GLOBAL_PROXY" SELECT SYS_CONTEXT('USERENV','PROXY_USER') FROM DUAL; --The output should be "PETERFITCH_SCHEMA" SELECT SYS_CONTEXT('USERENV','CURRENT_USER') FROM DUAL; --The output should be "HRAPP"
-