Contained WithinFind More DocumentationFeatured Support Resources | PDF로 이 문서 다운로드 (1736 KB)
Chapter 4 Authorization and the Policy ServiceThe Sun Java System Access Manager Policy Service determines if a user has been given permission by a recognized authority to access a protected resource. The process is referred to as user authorization. This chapter describes how the various parts of the Policy Service work together to perform authorization. Topics covered include: Authorization OverviewA policy is a rule that defines who is authorized to access a resource. A single policy can define either binary or non-binary decisions. A binary decision is yes/no, true/false or allow/ deny. A non-binary decision represents the value of an attribute. For example, a mail service might include a mailboxQuota attribute with a maximum storage value set for each user. In general, a policy is configured to define what a subject can do to which resource and under what conditions. The Access Manager Policy Service allows administrators to define, modify, and delete policies for protected resources within the Access Manager deployment. Configured policies are grouped into realms and stored in the Access Manager information tree. The Policy Service relies on the following:
The Access Manager Policy Service uses configured policies to determine if a user has been given permission by a recognized authority to access a protected resource. When a user attempts to access a resource protected by a PEP, the PEP contacts the PDP to get a policy decision. The Policy Service evaluates the policies that protect the resource and are applicable to the requesting user. This results in a policy decision indicating whether the user is allowed to access the resource. Upon receiving the decision, the PEP allows or denies access accordingly. This whole process is referred to as authorization. Access Control and RealmsWhen a user logs into an application, Access Manager plug-ins retrieve all user information, authentication properties, and authorization policies that the Access Manager framework needs to form a temporary, virtual user identity. The Authentication Service and the Policy Service use this virtual user identity to authenticate the user and enforce the authorization policies, respectively. All user information, authentication properties, and authorization policies is contained in realms. You can create a realm when you want to apply policies to a group of related subjects, services or servers. For example, you can create a realm that groups all servers and services that are accessed regularly by employees in one region. And, within that regional grouping realm, you can group all servers and services accessed regularly by employees in a specific division such as Human Resources. A configured policy might state that all Human Resources administrators can access the URL http://HR.example.com/HRadmins/index.html.. You might also add constraints to this policy: it is applicable only Monday through Friday from 9:00 a.m. through 5:00 p.m. Realms facilitate the delegation of policy management privileges. Note – Access control realms can be configured to use any user database. Policy TypesThe Policy Service authorizes access to a user based on the policies stored in the Access Manager information tree. The following sections contain information on the two types of policies you can create using Access Manager: Normal PolicyA normal policy specifies a protected resource and who is allowed to access the resource. The protected resource can be anything hosted on a protected server. Examples of protected resources are applications, document files, images, or the server itself. Only a Top-Level Realm or Policy Administrator can create or manage polices that apply to a resource. A normal policy consists of rules, subjects, conditions, and response providers. The following sections contain information regarding these elements. RulesA rule defines the policy itself by specifying a resource, one or more sets of an action, and values for each action.
SubjectsA subject specifies, by implication, the user or collection of users that the policy affects. You can implement custom subjects by using the Policy APIs. You can assign the following subjects to policies:
ConditionsA condition specifies additional constraints that must be satisfied for a policy be applicable. For example, you can define a condition to limit a user’s network access to a specific time period. The condition might state that the subject can access the network only between 7:00 in the morning and 10:00 at night. You can implement custom conditions by using the Policy APIs. Access Manager provides the following conditions:
Response ProvidersResponse providers are plug-ins that provide policy response attributes. Policy response attributes typically provide values for attributes in the user profile. The attributes are sent with policy decisions to the PEP which, in turn, passes them in headers to an application. The application typically uses these attributes for customizing pages such as a portal page. Access Manager includes one implementation, the IDResponseProvider. You can implement custom response providers by using the Policy APIs. Referral PolicyA Realm Administrator or Policy Administrator at the root or top level of the Access Manager information tree can create policy for any resource. A referral policy enables a Realm Administrator or a Policy Administrator to delegate policy configuration tasks. A referral policy delegates both policy creation and policy evaluation, and consists of one or more rules and one or more referrals.
Referral policies delegate policy management privileges to another entity such as a peer realm, a subrealm, or even a third-party product. (You can implement custom referrals by using the Policy APIs.) For example, a top-level realm exists named ISP. It contains two subrealms: company1 and company2. The Top-Level Administrator for ISP can delegate policy management privileges so that a Realm Administrator in company1 can create and manage policies only within thecompany1 realm, and a Realm Administrator in company2 can create and manage policies only within the company2 realm. To do this, the Top-Level Administrator creates two referral policies, defining the appropriate realm in the rule and the appropriate administrator in the referral. Note – An administrator or Policy Administrator for realms configured below the root level of the Access Manager information tree have permission to create policies only for resources delegated to that realm. Policy FrameworkThe Policy framework in Access Manager are the services where policy management and administration are implemented. The Policy framework includes the following: Policy ServiceThe Policy Service is defined using the amPolicy.xml. It performs the following functions:
In order to configure for custom policy plug-ins, modify amPolicy.xml and use amadmin to reload it. See Developing Custom Subjects, Conditions, Referrals, and Response Providers in Sun Java System Access Manager 7.1 Developer’s Guide. Policy Configuration ServiceThe Policy Configuration Service provides a means to specify how policies are defined and evaluated. The Policy Configuration Service enables you to specify, for example:
This configuration can be done within a realm or a subrealm and is accessible through the Access Manager console. Policy SPIs and Plug-Ins LayerAccess Manager includes SPIs that work with the Policy framework to create and manage policies. You can develop customized plug-ins for creating custom policy subjects, referrals, conditions, and response providers. For information on creating custom policy plug-ins, see the Sun Java System Access Manager 7.1 Developer’s Guide. The following table summarizes the Policy service provider interfaces (SPIs), and lists the specialized Policy plug-ins that come bundled with Access Manager. Table 4–1 Policy Service Provider Interfaces
Policy Client APIsAccess Manager provides client APIs that implement policy evaluation logic on a remote web server or application server. For policy client API information, see the Sun Java System Access Manager 7.1 Developer’s Guide. |
||||||||||||