Permission Inheritance and the Role Hierarchy
2.3 The Authenticated Role
OPSS supports the use of a special role: the authenticated role. This role has the following characteristics: ■ It need not be declared in any configuration file. ■ It is always represented by a principal attached to a subject after a successful authentication. In another words: it is granted by default to any authenticated user. ■ Its presence, within a subject, is mutually exclusive with the anonymous role, that is, either a a subject has not gone through authentication, in which case it contains a principal with the anonymous role as explained in Anonymous Support and Subject or b the subject has gone through authentication successfully, in which case it contains the authenticated role and, depending on the configuration, the anonymous role. ■ It is an application role and, therefore, it can be used by any application and participate in the application’s role hierarchy. The permissions granted to the authenticated role need not be specified explicitly but are implicitly derived from the enterprise groups and application roles of which it is a member. A typical use of the authenticated role is to allow authenticated users access to common application resources, that is, to resources available to a user that has been authenticated. For details on how an application can manually configure the use of the authenticated role, see Section 21.1, Configuring the Servlet Filter and the EJB Interceptor.2.4 The Anonymous User and Role
OPSS supports the use of two special entities: the anonymous user and the anonymous role. Like the authenticated role, these entities need not be declared and applications configure their use in the JpsFilter or JpsInterceptor. Any of them can be used by an application in the application’s role hierarchy. When enabled, before the user is authenticated and while the user is accessing unprotected resources, the user is represented by a subject populated with just the anonymous user and the anonymous role. Eventually, if that subject attempts access to a protected resource, then authorization handles the subject as explained in Anonymous Support and Subject . The permissions granted to the anonymous user and role need not be specified explicitly but are implicitly derived from the enterprise groups and application roles of which they are a member. Table 2–1 Granted and Inherited Permissions Role Permission Granted Actual Permissions developerAppRole P1=java.io.FilePermission P1 managerAppRole P2= java.util.PropertyPermission P2 and inherited P1 directorAppRole P3=foo.CustomPermission P3 and inherited P1 developer P1 and P3 both inherited developer_group P1 and P3 both inherited 2-8 Oracle Fusion Middleware Application Security Guide A typical use of the anonymous user and role is to allow unauthenticated users to access public, unprotected resources. For details on how an application can manually configure the use of the anonymous user and role, see Section 21.1, Configuring the Servlet Filter and the EJB Interceptor.2.4.1 Anonymous Support and Subject
Throughout this section, it is assumed that the use of the anonymous user and anonymous role are enabled. When an end-user first accesses an unprotected resource, the system creates a subject and populates it with two principals corresponding with the anonymous user and the anonymous role. While unprotected resources are involved, that subject is not modified and authentication does not take place. When a protected resource is accessed, then authentication kicks in, and the subject which thus far contained just the anonymous role is modified according to the result of the authentication process, as follows. If authentication is successful, then: 1. The anonymous user is removed from the subject and replaced, as appropriate, by an authenticated user. 2. The anonymous role is removed and the authenticated role is added. 3. Other roles are added to the subject, as appropriate. Notice that a successful authentication results then in a subject that has exactly one principal corresponding to a non-anonymous user, one principal corresponding to the authenticated role, and possibly other principals corresponding to enterprise or application roles. If authentication is not successful, then the anonymous user is retained, the anonymous role is removed or retained according to how the application has configured the JpsFilter or JpsInterceptor, and no other principals are added. By default, the anonymous role is removed from the subject.2.5 Administrative Users and Roles
A WebLogic administrator is any user member of the group Administrators, and any user that exists in a security realm can be added to this group. For details about the default groups that exist in a security realm, see section Users, Groups, And Security Roles in Oracle Fusion Middleware Securing Resources Using Roles and Policies for Oracle WebLogic Server. Generally, there is no default name for an administrator, with just one exception: when you install the examples, you get a default user name and password for the administrator of the sample domain. It is recommended, however, that these examples not be used in any production environment. For details, see section Install WebLogic Server in a Secure Manner in Oracle Fusion Middleware Securing a Production Environment for Oracle WebLogic Server. Once a domain is configured, users that have been created in the security realm can be added or removed from the Administrators group at anytime by any member of the Administrators group. The two basic tools for managing these accounts are the Oracle WebLogic Administration Console and the Oracle WebLogic Scripting Tool WLST. Understanding Users and Roles 2-9 For details, see section Add Users to Groups in Oracle Fusion Middleware Oracle WebLogic Server Administration Console Help, and section Using the WebLogic Scripting Tool in Oracle Fusion Middleware Oracle WebLogic Scripting Tool.2.6 Managing User Accounts
This section provides several links to information about creating user accounts and protecting their passwords. ■ For general guidelines on creating passwords, see section Manage Users and Groups in Oracle Fusion Middleware Oracle WebLogic Server Administration Console Help. The default authentication provider requires a minimum password length of 8 characters, but this is configurable. A few recommendations regarding password creation are explained in section Securing the WebLogic Server Host in Oracle Fusion Middleware Securing a Production Environment for Oracle WebLogic Server. ■ In general, passwords are stored in either an LDAP server or an RDBMS. The particular location in which they are stored is determined by the specific authentication provider that is configured in the environment or more precisely, the security realm of a domain. For details about out-of-the-box authentication providers, see section Managing the Embedded LDAP Server in Oracle Fusion Middleware Securing Oracle WebLogic Server. ■ For information about how to configure the optional Password Validation provider, which is automatically called whenever you create a password and that enforces a set of customizable password composition rules, see section Configuring the Password Validation Provider in Oracle Fusion Middleware Securing Oracle WebLogic Server. ■ When adding or deleting a user, consider the recommendations explained in Section L.11, User Gets Unexpected Permissions.2.7 Principal Name Comparison Logic
This section explains how principal comparison affects OPSS authorization and describes the system parameters that control the principal name comparison logic, in the following sections: ■ How Does Principal Comparison Affect Authorization? ■ System Parameters Controlling Principal Name Comparison 2.7.1 How Does Principal Comparison Affect Authorization? Upon a successful user authentication, the system populates a Subject with principals whose names accord with the user and enterprise group names of enterprise groups the user is included in stored in the identity store. On the other hand, when the user or enterprise group needs to be authorized, the system considers how application roles have been mapped to enterprise groups, and builds another set of principals from names in application grants stored in the policy store. In order to authorized a principal, the principal names populated in the Subject from names found in the identity store and those built from names in the policy store are compared. The user or group is authorized if and only if a match of principal names is found. 2-10 Oracle Fusion Middleware Application Security Guide It is therefore crucial that principal names be compared properly for the authorization provider to work as expected. Suppose, for instance, a scenario where the identity store contains the user name jdoe, but, in grants, that user is referred to as Jdoe. Then one would want the principal name comparison to be case insensitive, for otherwise the principals built from the names jdoe and Jdoe will not match that is, they will be considered distinct and the system will not authorize jdoe as expected.2.7.2 System Parameters Controlling Principal Name Comparison
The following two WebLogic Server system parameters control the way principal names are compared in a domain and allow, furthermore, to compare principals using DN and GUID data: PrincipalEqualsCaseInsensitive True or False; False by default PrincipalEqualsCompareDnAndGuid True or False; False by default To set these parameters using the WebLogic Server Console, proceed as follows:1. In the left pane of the Console, under Domain Structure, select the domain for
which you intend to set the parameters above.2. Select Configuration Security and click Advanced.
3. Check to set to true or uncheck to set to false the box next to the following entries: ■ Principal Equals Case Insensitive ■ Principal Equals Compare DN and GUID 4. Restart the server. Changes do not take effect until the server is restarted. These parameters can alternatively be set using OPSS scripts. For more details about configuring the WebLogic server, see section Configuring a Domain to Use JAAS Authorization in Oracle Fusion Middleware Securing Oracle WebLogic Server. The name comparison logic chosen at runtime is described by the following pseudo-code fragment: if PrincipalEqualsCompareDnAndGuid is true use GUID and DN to compare principals { when GUID is present in both principals { use case insensitive to compare GUIDs } when DN is present in both principals { use case insensitive to compare DNs } } if PrincipalEqualsCaseInsensitive is true use just name to compare principals { use case insensitive to compare principal names } else { use case sensitive to compare principal names }Parts
» Oracle Fusion Middleware Online Documentation Library
» OPSS Main Features What is Oracle Platform Security Services?
» Supported Server Platforms What is Oracle Platform Security Services?
» Scenario 3: Securing a Java SE Application
» Oracle ADF Security Overview OPSS for Administrators Terminology
» Permission Inheritance and the Role Hierarchy
» The Authenticated Role Oracle Fusion Middleware Online Documentation Library
» Administrative Users and Roles Managing User Accounts The Role Category
» Supported LDAP Identity Store Types
» Oracle WebLogic Authenticators Authentication Basics
» Policy Store Basics Oracle Fusion Middleware Online Documentation Library
» Credential Store Basics Oracle Fusion Middleware Online Documentation Library
» Supported LDAP-, DB-, and File-Based Services
» Management Tools Oracle Fusion Middleware Online Documentation Library
» Packaging Requirements Example Scenarios
» Other Scenarios Oracle Fusion Middleware Online Documentation Library
» Choosing the Administration Tool According to Technology
» Setting Up a Brand New Production Environment
» Typical Security Practices with Typical Security Practices with the Administration Console
» Overview Oracle Fusion Middleware Online Documentation Library
» Deploying Java EE and Oracle ADF Applications with Fusion Middleware Control
» Deploying to a Test Environment
» Deploying Standard Java EE Applications
» Migrating Providers other than Policy and Credential Providers
» Migrating Large Volume Policy and Credential Stores
» Migrating Audit Policies Migrating from a Test to a Production Environment
» About the Identity Store Service
» Service Architecture Introduction to the Identity Store Service
» Configuring the Identity Store Provider
» What is Configured? Configuring the Identity Store Service
» Configuring the Service for Multiple LDAP using WLST Configuring Other Parameters
» Configuring Split Profiles Configuration in Other Application Servers
» Java SE Environments Configuring the Identity Store Service
» Querying the Identity Store Programmatically
» Introduction to the OPSS Security Store
» Multiple-Node Server Environments Using an LDAP-Based OPSS Security Store
» Prerequisites to Using an LDAP-Based Security Store
» Dropping the OPSS Schema in an Oracle Database
» In that dialog, select the prefix and, in the Component hierarchy, check AS
» Creating a Data Source Instance
» Maintaining a DB-Based Security Store
» Connecting to a DB Server with sqlplus or JDBC OCI Driver This task involves
» Navigate to Data Sources YourDataSourceName Custom Properties.
» Configuring the OPSS Security Store
» Log in to Fusion Middleware Control and navigate to Domain Security
» Click the button Change Association to display the Set Security Provider page,
» If you have selected Database, enter the name of the data source in the Datasource
» Optionally, check the box Use SSL to Connect to establish an anonymous SSL
» In the text box Connect DN, enter the full distinguished name, a string
» In the box Password, enter the user password, also a string containing
» In the Root Node Details area, enter the root DN in the box Root DN, which
» Optionally, in the Policy Store Properties and Credential Store Properties areas,
» Setting Up a One- Way SSL Connection
» Securing Access to Oracle Internet Directory Nodes
» Reassociating with the Script reassociateSecurityStore
» Migrating with Fusion Middleware Control
» Migrating with the Script migrateSecurityStore
» Use the button Delete to remove a selected item from any table. When finished
» Cataloging Oracle Internet Directory Attributes
» To display roles in an application, expand the Search area, choose the application
» To create an application role, click Create to display the Create Application Role
» Click Add Application Role, to display the Add Application Role dialog.
» Select roles from the box Available Roles, as appropriate, and use the buttons
» Click Add Group, to display the Add Group dialog.
» Select groups from the box Available Groups, as appropriate, and use the
» Click Add User, to display the Add User dialog.
» Select users from the box Available Users, as appropriate, and use the buttons
» Click Create Like, to display the Create Application Role Like page. Notice
» Modify the list of roles and users, as appropriate, and then click OK.
» Log in to Fusion Middleware Control and navigate to Domain Security System
» listAppStripes Managing Application Policies with OPSS Scripts
» createAppRole Managing Application Policies with OPSS Scripts
» deleteAppRole grantAppRole Managing Application Policies with OPSS Scripts
» revokeAppRole listAppRoles Managing Application Policies with OPSS Scripts
» listAppRolesMembers grantPermission Managing Application Policies with OPSS Scripts
» revokePermission Managing Application Policies with OPSS Scripts
» listPermissions Managing Application Policies with OPSS Scripts
» deleteAppPolicies createResourceType Managing Application Policies with OPSS Scripts
» getResourceType deleteResourceType Managing Application Policies with OPSS Scripts
» createResource Managing Application Policies with OPSS Scripts
» deleteResource listResources Managing Application Policies with OPSS Scripts
» listResourceActions createEntitlement Managing Application Policies with OPSS Scripts
» getEntitlement Managing Application Policies with OPSS Scripts
» deleteEntitlement Managing Application Policies with OPSS Scripts
» addResourceToEntitlement Managing Application Policies with OPSS Scripts
» revokeResourceFromEntitlement Managing Application Policies with OPSS Scripts
» listEntitlements Managing Application Policies with OPSS Scripts
» grantEntitlement Managing Application Policies with OPSS Scripts
» listResourceTypes reassociateSecurityStore Managing Application Policies with OPSS Scripts
» The user accesses the functionality secured by the application role.
» Granting Policies to Anonymous and Authenticated Roles with WLST Scripts
» Guidelines for Configuring the Policy Store
» Credential Types Managing the Credential Store
» Managing Credentials with Fusion Middleware Control
» listCred Managing Credentials with OPSS Scripts
» updateCred Managing Credentials with OPSS Scripts
» createCred Managing Credentials with OPSS Scripts
» deleteCred Managing Credentials with OPSS Scripts
» modifyBootStrapCredential Managing Credentials with OPSS Scripts
» addBootStrapCredential Managing Credentials with OPSS Scripts
» Objectives of Auditing Benefits and Features of the Oracle Fusion Middleware Audit Framework
» Oracle Fusion Middleware Audit Framework in 11g
» Audit Architecture Oracle Fusion Middleware Audit Framework Concepts
» Key Technical Concepts Oracle Fusion Middleware Audit Framework Concepts
» Audit Record Storage Analytics
» Audit Administration Tasks Oracle Fusion Middleware Online Documentation Library
» Choose Create at the starting screen. Click Next.
» Multiple Data Sources Enter the following details for the new data source:
» Open the opmn.xml file, which resides in
» Configuring the Stand-alone Audit Loader
» If you made any policy changes, click Apply to save the changes. For Java
» Click Select Failures Only to select only failed events in the policy - for example,
» ImportExport - These buttons enable you to save and re-use a policy
» Optionally, under “Users to Always Audit”, a comma-separated list of users can
» Manage Audit Policies Manually
» Audit Log Timestamps Audit Logs
» Schema Overview Advanced Management of Database Store
» Table Attributes Indexing Scheme Backup and Recovery
» Importing and Exporting Data Partitioning
» About Oracle Business Intelligence Publisher
» Install Oracle Business Intelligence Publisher
» Set Up Oracle Reports in Oracle Business Intelligence Publisher
» Configure Scheduler in Oracle Business Intelligence Publisher
» Organization of Audit Reports
» View Audit Reports Oracle Fusion Middleware Online Documentation Library
» Example of Oracle Business Intelligence Publisher Reports
» List of Audit Reports in Oracle Business Intelligence Publisher
» The condition is now included in the report. Be sure to click Save again on the
» Choosing the Right SSO Solution for Your Deployment
» About Using the Identity Asserter Function with Oracle Access Manager
» Choosing Applications for Oracle Access Manager SSO Scenarios and Solutions
» Implementation: Using the Provider with OAM 11g versus OAM 10g
» Requirements for the Provider with Oracle Access Manager
» Setting Up Debugging in the WebLogic Administration Console
» Previewing Pre-Seeded OAM 11g Policies for Use by the OAM 10g AccessGate
» Install and set up Oracle Internet Directory for Oracle Access Manager.
» Optional Installing the Authentication Provider with Oracle Access Manager 11g
» WebGate for Identity Asserter for Single Sign-On
» AccessGate for the Authenticator or for Oracle Web Services Manager
» Provision the agent. For example:
» Locate the remote registration script.
» No Oracle Fusion Middleware Application
» With Oracle Fusion Middleware Application Installed
» Click Security Realms, Default Realm Name, and click Providers.
» OAM Identity Asserter Configuring Identity Assertion for SSO with Oracle Access Manager 11g
» Click Lock Edit, if desired.
» OAM Authenticator Configuring the Authenticator Function for Oracle Access Manager 11g
» Click Security Realms and select the realm you want to configure.
» Select Providers, Authentication, and click New to display the Create a New
» Logout for 11g WebGate and OAM 11g
» Optional Logout for 10g WebGate with Oracle Access Manager 11g
» Synchronizing the User and SSO Sessions: SSO Synchronization Filter
» Troubleshooting Tips Oracle Fusion Middleware Online Documentation Library
» An Oracle Internet Directory or Oracle Sun One LDAP directory server configured
» Alternative Process for Configuring Logout
» Oracle Access Manager Authentication Provider Parameter List
» OAMCfgTool Parameters and Values
» Sample Policy Domain and AccessGate Profile Created with OAMCfgTool
» Known Issues: JAR Files and OAMCfgTool
» Establishing Trust with Oracle WebLogic Server
» Output LDIF Created Validate
» Fresh WebGate ProfileWebGate Not Installed Fresh WebGate Profile with Installed WebGate
» Setting Up the Login Form for the Identity Asserter and OAM 10g
» Testing Identity Assertion for SSO with OAM 10g
» Creating an Authentication Scheme for the Authenticator
» Authentication Rule Oracle Fusion Middleware Online Documentation Library
» OAM Authenticator Configuring Providers for the Authenticator in a WebLogic Domain
» Ensure that the parameter Control Flag is set to OPTIONAL initially.
» From the WebLogic Administration Console, go to Security Realms, myrealm,
» Configuring the Application Authentication Method for the Authenticator
» Mapping the Authenticated User to a Group in LDAP
» Testing the Oracle Access Manager Authenticator Implementation
» General Tab Creating an Policy Domain for Use with Oracle Web Services Manager
» Resources Tab Creating an Policy Domain for Use with Oracle Web Services Manager
» Authorization Rules Tab Creating an Policy Domain for Use with Oracle Web Services Manager
» General Tab Oracle Fusion Middleware Online Documentation Library
» Timing Conditions Oracle Fusion Middleware Online Documentation Library
» Actions Oracle Fusion Middleware Online Documentation Library
» Allow Access Oracle Fusion Middleware Online Documentation Library
» Configuring Oracle Web Services Manager Policies for Web Services
» OAM Identity Asserter Configuring Providers in a WebLogic Domain for Oracle Web Services Manager
» Click the Provider Specific tab and specify the following required settings
» About Using IPv6 Troubleshooting Tips for OAM Provider Deployments
» Apache Bridge Failure: Timed Out
» Authenticated User with Access Denied
» Browser Back Button Results in Error
» Client in Cluster with Load-Balanced WebGates
» Log in to Oracle Technology Network at:
» Locate the OAMCfgTool ZIP file with Access Manager Core Components
» Extract and copy oamcfgtool.jar to the computer hosting WebGate:
» Error 401: Unable to Access the Application Error 403: Unable to Access the Application
» JAAS Control Flag Click Access System Configuration, and then click AccessGate
» Oracle WebLogic Server Fails to Start
» Oracle ADF Integration and Cert Mode
» About Protected_JSessionId_Policy
» Consumption of Headers with OSSO Identity Asserter
» New Users of the OSSO Identity Asserter
» Oracle WebLogic Server 10.3.1+ Oracle Fusion Middleware Online Documentation Library
» Click Security Realms, Default Realm Name, Providers.
» Check whether the server is being hit without first going through authentication
» URL Rewriting and JSESSIONID
» About mod_osso, OSSO Cookies, and Directives
» About Using IPv6 Troubleshooting for an OSSO Identity Asserter Deployment
» Introduction Oracle Fusion Middleware Online Documentation Library
» Terminology Oracle Fusion Middleware Online Documentation Library
» OID for Identity and Policy Stores
» OAM and OSSO for User Authentication and Web SSO
» OIM for User and Role Provisioning
» OPSS for User and Role Profiling
» OAPM for Application Policy Management
» OPSS for Cryptography Oracle Identity and Access Management Suite
» Development Phase Security Life Cycle of an Application
» Summary of Tasks per Participant per Phase
» Oracle Platform Security Services
» Use Case 1 - Java EE Application
» Credentials Required Security Features
» Authentication Required Security Features
» Authorization Required Security Features
» Container-Based Authentication Integrating Authentication
» Oracle WebLogic Server Authentication Providers
» Functional Security Integrating Authorization
» Functional Security with ADF
» Cryptography Integrating the Credential Store
» The Development Cycle OPSS for Developers
» Challenges of Securing Java Applications
» Meeting the Challenges with Oracle Platform Security Services OPSS Architecture
» The LoginService API OPSS APIs
» The User and Role API JAAS Authorization and the JpsAuth.checkPermission API
» Java EE Application using OPSS APIs Authenticating with OPSS APIs
» Programmatic Authorization Credential Store Framework
» User and Role Common Uses of OPSS
» Oracle ADF Authorization Common Uses of OPSS
» About Oracle ADF Using OPSS with Oracle Application Development Framework
» The Oracle ADF Development Life Cycle
» Using the Oracle Security Developer Tools
» Using OPSS Outside Oracle JDeveloperOracle ADF
» Introduction to Authorization Authorization Overview
» The Resource Catalog The JAASOPSS Authorization Model
» Managing Policies The JAASOPSS Authorization Model
» The Class ResourcePermission The JAASOPSS Authorization Model
» Interceptor Configuration Syntax Configuring the Servlet Filter and the EJB Interceptor
» Summary of Filter and Interceptor Parameters
» Configuring the Application Stripe for Application MBeans
» The Security Policy Model Choosing the Appropriate Class for Enterprise Groups and Users
» Packaging Policies with Application
» Packaging Credentials with Application
» Parameters Controlling Policy Migration
» Policy Parameter Configuration According to Behavior
» Using a Wallet-Based Credential Store
» Parameters Controlling Credential Migration
» Credential Parameter Configuration According to Behavior
» Supported Permission Classes Configuring Applications to Use OPSS
» Specifying Bootstrap Credentials Manually
» Migrating Identities with migrateSecurityStore
» Example of Configuration File jps-config.xml
» Links to Authentication Topics for Java EE Applications
» The Identity Store Authentication for Java SE Applications
» Configuring an LDAP Identity Store in Java SE Applications
» Supported Login Modules for Java SE Applications
» Using the OPSS API LoginService in Java SE Applications
» Supported Services The OPSS Java SE Client
» Configuration Examples The OPSS Java SE Client
» Configuring File-Based Policy and Credential Stores
» Configuring LDAP-Based Policy and Credential Stores
» Configuring DB-Based OPSS Security Stores
» Unsupported Methods for File-Based Policy Stores
» About the Credential Store Framework API
» Guidelines for Granting Permissions Permissions Grant Example 1
» Overview of Application Development with CSF Guidelines for the Map Name
» Code for CSF Operations Example 1: Java SE Application with Wallet Store
» Example 2: Java EE Application with Wallet Store
» Example 3: Java EE Application with LDAP Store
» Configuring the Credential Store Best Practices
» User and Role API and the Oracle WebLogic Server Authenticators
» Summary of Roles and Classes
» Understanding Service Providers Working with Service Providers
» Selecting the Provider Working with Service Providers
» Creating the Provider Instance
» Properties for Provider Configuration
» Configuring the Provider when Creating a Factory Instance
» Configuring the Provider when Creating a Store Instance
» Runtime Configuration Working with Service Providers
» Specifying Search Parameters Searching the Repository
» Using Search Filters Searching the Repository
» Handling Special Characters when Creating Identities Creating an Identity
» Example 1: Searching for Users
» Example 2: User Management in an Oracle Internet Directory Store
» Example 3: User Management in a Microsoft Active Directory Store
» Out-of-the-box Support for SSL
» Customizing SSL Support for the User and Role API
» User Authentication The User and Role API Reference
» SPI Overview Types of User and Role Providers
» Developing a Read-Only Provider
» Policy-Related Scripts Oracle Fusion Middleware Online Documentation Library
» Credential-Related Scripts Oracle Fusion Middleware Online Documentation Library
Show more