2
votes

I am trying to identify incoming user into Oracle in order to give them access right according to their identity (FGAC). Users are located in different domain's. which means that they might have identical system username (windows userename).

I have been trying to use the Environment context variable sys_context('userenv', 'var') where I get the Domain name (f.ex. SYS_CONTEXT('USERENV','HOST') and SYS_CONTEXT('USERENV','OS_USER')) but I seem to get different result's depending on the connection method.

Are there any other means of getting users true identity I can explore?

2
Can you expand on the different results you're getting and the different connection methods you're experimenting with? Are you connecting via a three-tier application? Or are you connecting directly from the client machine to the database, in which case I'm not sure what different connection methods you're thinking about. - Justin Cave
I am using primarily SQLNet and ODAC (devart.com/odac) to connect to then database. When I use SQLNet : SYS_CONTEXT('USERENV','HOST') reurns "domain\username" but with ODAC I get only "username" - Andrjes

2 Answers

0
votes

I'm not sure which variable you should use but you may want to look at select * from v$session to help you pick one.

0
votes

If you're basing FGAC on OS_USER environment variable, you're truly not securing the data. OS_USER isn't a credential passed to Oracle, it's just a string that can be manipulated by an attacker.