The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. <Insert Picture Here> Oracle Database Integration with Active Directory and Windows Security Christian Shay Principal Product Manager, Windows Technologies Oracle USA Agenda • Database Registration and Name Resolution • Single Sign-On <Insert Picture Here> • Windows Native Authentication • Kerberos • Security Integration for .NET Applications • Enterprise User Security and Virtual Directory Database Registration and Name Resolution Overview • Store and resolve Net names through Active Directory • Eliminate tnsnames.ora on clients • Centralize configuration, reduce administration • Authenticated connection to Active Directory (11g) • AD no longer needs to allow anonymous access • Enhanced tools support for storing Net naming • AD Users and Computers • Oracle DB Configuration Assistant, Net Configuration Assistant and Net Manager Database Registration and Name Resolution Client OS Server OS AD OID Windows Windows Yes Yes Comments Windows Any Yes Yes Tools for registering Net Service in AD must be run on Windows Linux/Unix Any No Yes AD Integration solutions can help Database Registration and Name Resolution Configuration/Administration 1 – Ensure that Administrator can modify Schema in Active Directory 2 – Register Schema using NetCA 5 - Configure Directory Naming and Directory Usage (AD) using NetCA Windows Environment 3 - Create Naming Context using NetCA 4 - Register database in AD using DBCA or Net Manager Active Directory Repository of Database Names and Connect Descriptors Client Systems Database Registration and Name Resolution Run-time Repository of Database Names and Connect Descriptors 1 – User signs on to Desktop 2 – User issues Connect Request 3Retrieves Connect Descriptor Active Directory Oracle Database 4 - Connect to Database using Connect Descriptor (Any Platform) Database Registration and Name Resolution Demo Environment Machine Name: xpclient.adnet.dev User: oracle Database Server: orcl Windows XP SP2 Machine Name: w2k3s.adnet.dev Domain: adnet.dev Windows Server 2003 EE SP1 (Domain Controller) Tools installed Support Tools (under Support directory on CD) -ADSI Edit is part of it Admin Tools (under i386 directory on CD) -- AD users & computers, etc (These are available on Windows 2003 media,) D E M O N S T R A T I O N Database Registration and Name Resolution Database Registration and Name Resolution Summary 1. Ensure that Administrator can modify Schema in Active Directory 2. Register Schema using NetCA (one time for the entire AD forest) 3. Create Naming Context using NetCA (once per domain) 4. Register Database in AD using DBCA or Net Manager 5. Configure Directory Naming and Directory Usage (AD) using NetCA (on systems that want to use AD) 6. Set NAMES.LDAP_AUTHENTICATE_BIND=Yes in SQLNET.ORA on all 11g client systems To support pre-11g clients 1. Enable anonymous bind in AD 2. Change ACLs for Oracle Naming Context and Database/Net Services objects to allow anonymous access Please refer to the white paper Configuring Microsoft Active Directory for Net Naming for detailed information Single Sign-On Single Sign-On Authentication Windows Native Authentication Kerberos Client OS Server OS Windows •Included and configured in all db editions •MS KDC is used implicitly •Uses External Users mechanism Windows •Enterprise User Security not supported •Direct support of Windows group membership for role authorization Any Any Comments •EE and ASO option needed •MS KDC is supported •Uses External Users mechanism (by default) •Enterprise User Security supported •EUS and AD integration solutions needed to support authorization through Windows group membership Windows Native Authentication Basics • • • • • All of this is preconfigured; We use it internally ORA_DBA: All members get SYSDBA privileges ORA_OPER: all members get SYSOPER privileges ORA_ORCL_DBA: … get SYSDBA on ORCL only For any other Windows user, an external user needs to be created in Oracle DB • • create user “Sales\frank” identified externally; Windows groups can be used to assign roles (if os_roles is true) • • create role sales identified externally; Corresponding Windows group for a database with SID orcl: ORA_orcl_sales_d if this should be a default role • If Oracle Administration Assistant is used, it makes appropriate changes in AD and Database Windows Native Authentication • • • • Enabled by default and can work across systems Windows user logon credentials used for database authentication Authentication protocol (Kerberos or NTLM) negotiated based on OS and Domain Controller Authorization can be granted through Windows group membership • • • • Pre-defined Windows groups for DBAs and Operators Uses Oracle External Users and External Roles mechanisms Oracle Administration Assistant can be used to manage user authentication and role authorization This feature is completely independent of Database Registration and Name Resolution feature Windows Native Authentication 1 - User signs on to desktop 2 - User attempts to sign on to Oracle Active Directory/KDC 3 – Negotiate security protocol and exchange security tokens 5 – Find Windows Group memberships (if os_roles is true) 4 - Identify as a specific External User 6 – Assign roles based on database roles or group memberships (based on os_roles) Windows Native Authentication Configuration • Set os_authent_prefix to “” (null) in init.ora • • • Ensure that sqlnet.authentication_services is set to NTS in sqlnet.ora (default set up) DO NOT: • • • By default it is set to OPS$ (for backward compatibility) Set remote_os_authent in init.ora (default value false is correct). Set os_auth_prefix_domain in Registry (default value true is correct) Set os_roles to true in init.ora if you want to use Windows Group Membership for role authorization D E M O N S T R A T I O N Windows Native Authentication Kerberos Authentication • • Integrated with Microsoft Key Distribution Center (MSKDC) Supports heterogeneous systems • • • • A Windows client can connect to a non-Windows server and vice versa Uses External User mechanisms in Database Can also be supported with Enterprise User Security EE and ASO (Advanced Security Option) feature Kerberos Enhancements in 11g • Stronger encryption algorithms (DES3, AES, RC4) • Support default encryption type supported by MS KDC • Encryption type configuration no longer needed in Registry • Use DNS Domain Name as Kerberos REALM name by default • Mapping between DNS Domain Name and Kerberos REALM name longer needed in kerberos config file • Kerberos authentication to Oracle database in a MS cross-domain setup • Removal of 30 character limit on the Kerberos user name Kerberos Authentication Configuration • • • • • • Create Kerberos and sqlnet configuration files on clients and severs using Oracle Net Manager Create users in Active Directory for Client and Database Server (for non-windows clients or servers) Use ktpass utility to create keytab file and copy to DB server node Obtain an initial ticket for the kerberos user Set os_authent_prefix to “” in init.ora DO NOT: • Set remote_os_authent in init.ora. (default value FALSE is correct) Kerberos Authentication MS KDC User signs on to desktop User attempts to sign on to Oracle Database Identify as a specific External User and assign database roles accordingly Example: SQL> CREATE USER KRBUSER IDENTIFIED EXTERNALLY AS 'KerberosUser@SOMEORGANIZATION.COM'; SQL> Grant connect, resource to KRBUSER; Security Integration for .NET Applications Security Integration for .NET Applications • OS Authenticated Connection Pool in Oracle Data Provider for .NET • Support pooling of OS authenticated users using Windows identity • ASP.NET Membership and Role Provider • Validate and manage user and authorization information for your ASP.NET web applications in Oracle Database Oracle Virtual Directory: Centralize DB User Account Management Audience Questions How many have databases on an OS besides Windows? How many can disable DBA access by disabling a password in a single repository ? How many have user accounts in AD? Sun? OID? How many can provide your CIO with an audit report verifying DBA and DB user access? Centralize Oracle Database Account Management • Organizations have many databases on variety of platforms • Organization have implemented enterprise directory services • Oracle Enterprise User Security is all about how to centralize database account management • Oracle Enterprise User Security allows to externalize database accounts and roles to an LDAP server • Oracle Virtual Directory allows EUS to work with 3rd party directories, not just OID Oracle Virtual Directory Overview • Oracle Virtual Directory lets organizations rapidly deploy applications by providing a unified view of identity without synchronization. Case Study – MKB Bank (Hungary) Database Security Business Challenges • Built Database Warehouse for reporting • Wanted to leverage Active Directory & existing provisioning to manage credentials and role membership • Did not want to synchronize to another directory Oracle Solution • Enterprise User Security & OVD • OVD connects to AD • EUS allows employees to use Windows password and existing provisioning system to manage access Return On Investment • Allowed to rapidly deploy secure access to Database warehouse • Did not need to bring up yet another directory service just to manage database accounts • Eliminated help desk calls Summary • EUS centralizes database account management into a directory • EUS works across heterogeneous operating systems • OVD enables EUS to work with 3rd party directories without synchronization For More Information Windows Server System Center http://www.oracle.com/technology/windows Oracle Net Services (AD White Paper and more) http://www.oracle.com/technology/products/oraclenet/index.html .NET Developer Center (ASP.NET Providers) http://www.oracle.com/technology/dotnet Oracle Virtual Directory (OVD) http://www.oracle.com/identity My email: christian.shay@oracle.com QUESTIONS ANSWERS For More Information search.oracle.com or oracle.com