9 Authenticating Database Users with Windows

This chapter describes authentication of Oracle Database users with Windows operating systems.

This chapter contains these topics:

Windows Native Authentication Overview

Oracle Database can use Windows user login credentials to authenticate database users. Benefits include:

  • Enabling users to connect to Oracle Database without supplying a username or password

  • Centralizing Oracle Database user authentication and role authorization information in Windows, which frees Oracle Database from storing or managing user passwords or role information

The Windows native authentication adapter (automatically installed with Oracle Net Services) enables database user authentication through Windows. This enables client computers to make secure connections to Oracle Database on a Windows server. The server then permits the user to perform database actions on the server.

Note:

Windows Authentication Protocols

The Windows native authentication adapter works with Windows authentication protocols to enable access to Oracle Database.

NTLM and Kerberos are the authentication mechanisms used by the NTS adapter.

Client computers do not need to specify an authentication protocol when attempting a connection to Oracle Database. Instead, Oracle Database determines the protocol to use, completely transparent to the user. The only Oracle Database requirement is to ensure that the parameter SQLNET.AUTHENTICATION_SERVICES contains nts in the following file on both the client and database server:

ORACLE_HOME\network\admin\sqlnet.ora

This is the default setting for both after installation.

If typical, your Oracle Database network includes client computers and database servers, and computers on this network may use different Oracle Database software releases on different Windows operating systems on different domains. This combination of different releases means that the authentication protocol being used can vary.

See Also:

Your operating system documentation for more information on authentication protocol

User Authentication and Role Authorization Methods

This section describes how user login credentials are authenticated and database roles are authorized in Windows domains. User authentication and role authorization are defined in Table 9-1.

Table 9-1 User Authentication and Role Authorization Defined

Feature Description More Information

User authentication

Process by which the database uses the user's Windows login credentials to authenticate the user.

Oracle Database 2 Day DBA

Role authorization

Process of granting an assigned set of roles to authenticated users.

Oracle Database 2 Day DBA


Oracle Database supports user authentication and role authorization in Windows domains. Table 9-2 describes these basic features.

Table 9-2 Basic Features of User Authentication and Role Authorization

Feature Description

Authentication of external users

Users are authenticated by the database using the user's Windows login credentials enabling them to access Oracle Database without being prompted for additional login credentials.

Authorization of external roles

Roles are authorized using Windows local groups. Once an external role is created, you can grant or revoke that role to a database user. Initialization parameter OS_ROLES is set to false by default. You must set OS_ROLES to true to authorize external roles.


Authentication and Authorization Methods To Use

Table 9-3 describes user authentication and role authorization methods to use based on your Oracle Database environment:

Table 9-3 User Authentication and Role Authorization Methods

Method Database Environment

Enterprise users and roles

You have many users connecting to multiple databases.

Enterprise users have the same identity across multiple databases. Enterprise users require use of a directory server.

Use enterprise roles in environments where enterprise users assigned to these roles are located in many geographic regions and must access multiple databases. Each enterprise role can be assigned to multiple enterprise user in the directory. If you do not use enterprise roles, then you must assign database roles manually to each database user. Enterprise roles require use of a directory server.

External users and roles

You have a smaller number of users accessing a limited number of databases. External users must be created individually in each database and do not require use of a directory server.

External roles must also be created individually in each database, and do not require use of a directory server. External roles are authorized using group membership of the users in local groups on the system.


See Also:

Oracle Database Enterprise User Security Administrator's Guide for more information on Enterprise users and roles

Operating System Authentication Enabled at Installation

When you install Oracle Database, a special Windows local group called ORA_DBA is created (if it does not already exist from an earlier Oracle Database installation), and your Windows user name is automatically added to it. Members of local group ORA_DBA automatically receive the SYSDBA privilege.

Note:

If you use a domain account for database administration, then that domain account must be granted local administrative privileges and ORA_DBA membership explicitly. It is not sufficient for the domain account to inherit these memberships from another group. You must ensure that the user performing the installation is in the same domain as this domain account. If not, it results in an NTS authentication failure.

Membership in ORA_DBA enables you to:

  • Connect to local Oracle Database servers without a password with the command

    SQL> CONNECT / AS SYSDBA
    
  • Connect to remote Oracle Database servers without a password with the command

    SQL> CONNECT /@net_service_name AS SYSDBA 
    

    where net_service_name is the net service name of the remote Oracle Database server

  • Perform database administration procedures such as starting and shutting down local databases

  • Add additional Windows users to ORA_DBA, enabling them to have the SYSDBA privilege